109 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Safe;
 | |
| 
 | |
| use Safe\Exceptions\StatsException;
 | |
| 
 | |
| /**
 | |
|  * Returns the covariance of a and b.
 | |
|  *
 | |
|  * @param array $a The first array
 | |
|  * @param array $b The second array
 | |
|  * @return float Returns the covariance of a and b.
 | |
|  * @throws StatsException
 | |
|  *
 | |
|  */
 | |
| function stats_covariance(array $a, array $b): float
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \stats_covariance($a, $b);
 | |
|     if ($result === false) {
 | |
|         throw StatsException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Returns the standard deviation of the values in a.
 | |
|  *
 | |
|  * @param array $a The array of data to find the standard deviation for. Note that all
 | |
|  * values of the array will be cast to float.
 | |
|  * @param bool $sample Indicates if a represents a sample of the
 | |
|  * population; defaults to FALSE.
 | |
|  * @return float Returns the standard deviation on success; FALSE on failure.
 | |
|  * @throws StatsException
 | |
|  *
 | |
|  */
 | |
| function stats_standard_deviation(array $a, bool $sample = false): float
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \stats_standard_deviation($a, $sample);
 | |
|     if ($result === false) {
 | |
|         throw StatsException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Returns the Pearson correlation coefficient between arr1 and arr2.
 | |
|  *
 | |
|  * @param array $arr1 The first array
 | |
|  * @param array $arr2 The second array
 | |
|  * @return float Returns the Pearson correlation coefficient between arr1 and arr2.
 | |
|  * @throws StatsException
 | |
|  *
 | |
|  */
 | |
| function stats_stat_correlation(array $arr1, array $arr2): float
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \stats_stat_correlation($arr1, $arr2);
 | |
|     if ($result === false) {
 | |
|         throw StatsException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Returns the inner product of arr1 and arr2.
 | |
|  *
 | |
|  * @param array $arr1 The first array
 | |
|  * @param array $arr2 The second array
 | |
|  * @return float Returns the inner product of arr1 and arr2.
 | |
|  * @throws StatsException
 | |
|  *
 | |
|  */
 | |
| function stats_stat_innerproduct(array $arr1, array $arr2): float
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \stats_stat_innerproduct($arr1, $arr2);
 | |
|     if ($result === false) {
 | |
|         throw StatsException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Returns the variance of the values in a.
 | |
|  *
 | |
|  * @param array $a The array of data to find the standard deviation for. Note that all
 | |
|  * values of the array will be cast to float.
 | |
|  * @param bool $sample Indicates if a represents a sample of the
 | |
|  * population; defaults to FALSE.
 | |
|  * @return float Returns the variance on success; FALSE on failure.
 | |
|  * @throws StatsException
 | |
|  *
 | |
|  */
 | |
| function stats_variance(array $a, bool $sample = false): float
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \stats_variance($a, $sample);
 | |
|     if ($result === false) {
 | |
|         throw StatsException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 |