| @@ 374-392 (lines=19) @@ | ||
| 371 | * @see calc() | |
| 372 | * @see max() | |
| 373 | */ | |
| 374 | public function min() | |
| 375 |     { | |
| 376 |         if ($this->_data == null) { | |
| 377 |             throw new \PEAR_Exception('data has not been set'); | |
| 378 | } | |
| 379 | ||
| 380 |         if (!array_key_exists('min', $this->_calculatedValues)) { | |
| 381 |             if ($this->_dataOption == self::STATS_DATA_CUMMULATIVE) { | |
| 382 | $min = min(array_keys($this->_data)); | |
| 383 |             } else { | |
| 384 | $min = min($this->_data); | |
| 385 | } | |
| 386 | ||
| 387 | $this->_calculatedValues['min'] = $min; | |
| 388 | } | |
| 389 | ||
| 390 | return $this->_calculatedValues['min']; | |
| 391 | } | |
| 392 | ||
| 393 | /** | |
| 394 | * Calculates the maximum of a data set. | |
| 395 | * Handles cummulative data sets correctly | |
| @@ 402-417 (lines=16) @@ | ||
| 399 | * @see calc() | |
| 400 | * @see min() | |
| 401 | */ | |
| 402 | public function max() | |
| 403 |     { | |
| 404 |         if ($this->_data == null) { | |
| 405 |             throw new \PEAR_Exception('data has not been set'); | |
| 406 | } | |
| 407 |         if (!array_key_exists('max', $this->_calculatedValues)) { | |
| 408 |             if ($this->_dataOption == self::STATS_DATA_CUMMULATIVE) { | |
| 409 | $max = max(array_keys($this->_data)); | |
| 410 |             } else { | |
| 411 | $max = max($this->_data); | |
| 412 | } | |
| 413 | $this->_calculatedValues['max'] = $max; | |
| 414 | } | |
| 415 | return $this->_calculatedValues['max']; | |
| 416 | } | |
| 417 | ||
| 418 | /** | |
| 419 |      * Calculates SUM { xi } | |
| 420 | * Handles cummulative data sets correctly | |
| @@ 582-597 (lines=16) @@ | ||
| 579 | * @return mixed the count on success, a PEAR_Error object otherwise | |
| 580 | * @see calc() | |
| 581 | */ | |
| 582 | public function count() | |
| 583 |     { | |
| 584 |         if ($this->_data == null) { | |
| 585 |             throw new \PEAR_Exception('data has not been set'); | |
| 586 | } | |
| 587 |         if (!array_key_exists('count', $this->_calculatedValues)) { | |
| 588 |             if ($this->_dataOption == self::STATS_DATA_CUMMULATIVE) { | |
| 589 | $count = count($this->_dataExpanded); | |
| 590 |             } else { | |
| 591 | $count = count($this->_data); | |
| 592 | } | |
| 593 | $this->_calculatedValues['count'] = $count; | |
| 594 | } | |
| 595 | return $this->_calculatedValues['count']; | |
| 596 | } | |
| 597 | ||
| 598 | /** | |
| 599 | * Calculates the mean (average) of the data points in the set | |
| 600 | * Handles cummulative data sets correctly | |