# How to use pts_math class

Best Phoronix-test-suite code snippet using pts_math

pts_math.php

Source:pts_math.php

`...14 GNU General Public License for more details.15 You should have received a copy of the GNU General Public License16 along with this program. If not, see <http://www.gnu.org/licenses/>.17*/18class pts_math19{20 public static function values_outside_three_sigma_limits(\$values)21 {22 \$tsl = pts_math::three_sigma_limits(\$values);23 \$outside_limits = array();24 foreach(\$values as \$num)25 {26 if(\$num < \$tsl[0] || \$num > \$tsl[1])27 {28 \$outside_limits[] = \$num;29 }30 }31 return empty(\$outside_limits) ? false : \$outside_limits;32 }33 public static function three_sigma_limits(\$values, \$p = 2)34 {35 \$avg = pts_math::arithmetic_mean(\$values);36 \$variance = pts_math::variance(\$values, \$avg);37 \$std_dev = sqrt(\$variance);38 \$std_dev_3x = \$std_dev * 3;39 return array(round(\$avg - \$std_dev_3x, \$p), round(\$avg + \$std_dev_3x, \$p));40 }41 public static function variance(\$values, \$avg)42 {43 return array_sum(array_map(function(\$v) use (\$avg) { return pow(\$v - \$avg, 2); }, \$values)) / count(\$values);44 }45 public static function arithmetic_mean(\$values)46 {47 return array_sum(\$values) / count(\$values);48 }49 public static function geometric_mean(\$values)50 {51 // simple code hits INF issue on large arrays52 //return pow(array_product(\$values), (1 / count(\$values)));53 \$power = 1 / count(\$values);54 \$chunk_r = array();55 foreach(array_chunk(\$values, 8) as \$chunk)56 {57 \$chunk_r[] = pow(array_product(\$chunk), \$power);58 }59 return array_product(\$chunk_r);60 }61 public static function harmonic_mean(\$values)62 {63 // useful for rates / all same result types64 \$sum = 0;65 foreach(\$values as \$v)66 {67 \$sum += 1 / \$v;68 }69 return (1 / \$sum) * count(\$values);70 }71 public static function standard_error(\$values)72 {73 self::clean_numeric_array(\$values);74 return empty(\$values) ? 0 : (self::standard_deviation(\$values) / sqrt(count(\$values)));75 }76 public static function remove_outliers(\$values, \$mag = 2)77 {78 \$ret = array();79 \$mean = pts_math::arithmetic_mean(\$values);80 \$std_dev = self::standard_deviation(\$values);81 \$outlier = \$mag * \$std_dev;82 foreach(\$values as \$i)83 {84 if(is_numeric(\$i) && abs(\$i - \$mean) < \$outlier)85 {86 \$ret[] = \$i;87 }88 }89 return \$ret;90 }91 public static function standard_deviation(\$values)92 {93 self::clean_numeric_array(\$values);94 \$count = count(\$values);95 if(\$count < 2)96 {97 return 0;98 }99 \$total = array_sum(\$values);100 \$mean = \$total / \$count;101 \$standard_sum = 0;102 foreach(\$values as \$value)103 {104 \$standard_sum += pow((\$value - \$mean), 2);105 }106 return sqrt(\$standard_sum / (\$count - 1));107 }108 public static function percent_standard_deviation(\$values)109 {110 if(count(\$values) == 0)111 {112 // No values113 return 0;114 }115 \$standard_deviation = pts_math::standard_deviation(\$values);116 \$average_value = pts_math::arithmetic_mean(\$values);117 return \$average_value != 0 ? (\$standard_deviation / \$average_value * 100) : 0;118 }119 public static function get_precision(\$number)120 {121 // number of decimal digits122 if(is_array(\$number))123 {124 \$max_precision = 0;125 foreach(\$number as \$n)126 {127 \$max_precision = max(\$max_precision, pts_math::get_precision(\$n));128 }129 return \$max_precision;130 }131 else132 {133 return strlen(substr(strrchr(\$number, '.'), 1));134 }135 }136 public static function set_precision(\$number, \$precision = 2)137 {138 // This is better than using round() with precision because of the \$precision is > than the current value, 0s will not be appended139 return number_format(\$number, \$precision, '.', '');140 }141 public static function find_percentile(\$values, \$quartile)...`

pts_math

Using AI Code Generation

`1\$pts_math = new pts_math();2\$pts_math->add_to_log(1);3\$pts_math->add_to_log(2);4\$pts_math->add_to_log(3);5\$pts_math->add_to_log(4);6\$pts_math->add_to_log(5);7\$pts_math->add_to_log(6);8\$pts_math->add_to_log(7);9\$pts_math->add_to_log(8);10\$pts_math->add_to_log(9);11\$pts_math->add_to_log(10);12echo \$pts_math->get_log_mean() . "13";14echo \$pts_math->get_log_median() . "15";16echo \$pts_math->get_log_standard_deviation() . "17";`

pts_math

Using AI Code Generation

`1require_once('pts_math.php');2echo pts_math::set_precision(2);3echo pts_math::set_precision(4);4echo pts_math::set_precision(6);5echo pts_math::set_precision(8);6echo pts_math::set_precision(10);7echo pts_math::set_precision(12);8echo pts_math::set_precision(14);9echo pts_math::set_precision(16);10echo pts_math::set_precision(18);11echo pts_math::set_precision(20);12echo pts_math::set_precision(22);13echo pts_math::set_precision(24);14echo pts_math::set_precision(26);15echo pts_math::set_precision(28);16echo pts_math::set_precision(30);17echo pts_math::set_precision(32);18echo pts_math::set_precision(34);19echo pts_math::set_precision(36);20echo pts_math::set_precision(38);21echo pts_math::set_precision(40);22echo pts_math::set_precision(42);23echo pts_math::set_precision(44);24echo pts_math::set_precision(46);25echo pts_math::set_precision(48);26echo pts_math::set_precision(50);27echo pts_math::set_precision(52);28echo pts_math::set_precision(54);29echo pts_math::set_precision(56);30echo pts_math::set_precision(58);31echo pts_math::set_precision(60);32echo pts_math::set_precision(62);33echo pts_math::set_precision(64);34echo pts_math::set_precision(66);35echo pts_math::set_precision(68);36echo pts_math::set_precision(70);37echo pts_math::set_precision(72);38echo pts_math::set_precision(74);39echo pts_math::set_precision(76);40echo pts_math::set_precision(78);41echo pts_math::set_precision(80);42echo pts_math::set_precision(82);43echo pts_math::set_precision(84);44echo pts_math::set_precision(86);45echo pts_math::set_precision(88);46echo pts_math::set_precision(90);47echo pts_math::set_precision(92);48echo pts_math::set_precision(94);49echo pts_math::set_precision(96);50echo pts_math::set_precision(98);51echo pts_math::set_precision(100);52echo pts_math::set_precision(102);53echo pts_math::set_precision(104);54echo pts_math::set_precision(106);55echo pts_math::set_precision(108);`

pts_math

Using AI Code Generation

`1require_once('pts_math.php');2require_once('pts_math.php');3require_once('pts_math.php');4require_once('pts_math.php');5require_once('pts_math.php');6require_once('pts_math.php');7require_once('pts_math.php');8require_once('pts_math.php');9require_once('pts_math.php');10require_once('pts_math.php');11require_once('pts_math.php');12require_once('pts_math.php');13require_once('pts_math.php');14require_once('pts_math.php');`

pts_math

Using AI Code Generation

`1require_once('pts_math.php');2\$math = new pts_math();3\$math->set_precision(10);4echo \$math->add(1,2);5echo \$math->subtract(2,1);6echo \$math->multiply(2,2);7echo \$math->divide(4,2);8echo \$math->mod(4,2);9echo \$math->power(2,2);10echo \$math->sqrt(4);11echo \$math->log(4);12echo \$math->log10(4);13echo \$math->ln(4);14echo \$math->abs(4);15echo \$math->cos(4);16echo \$math->sin(4);17echo \$math->tan(4);18echo \$math->cot(4);19echo \$math->sec(4);20echo \$math->csc(4);21echo \$math->acos(4);22echo \$math->asin(4);23echo \$math->atan(4);24echo \$math->acot(4);25echo \$math->asec(4);26echo \$math->acsc(4);27echo \$math->cosh(4);28echo \$math->sinh(4);29echo \$math->tanh(4);30echo \$math->coth(4);31echo \$math->sech(4);32echo \$math->csch(4);33echo \$math->acosh(4);34echo \$math->asinh(4);35echo \$math->atanh(4);36echo \$math->acoth(4);37echo \$math->asech(4);38echo \$math->acsch(`

pts_math

Using AI Code Generation

`1\$array = array(1,2,3,4,5);2\$mean = pts_math::arithmetic_mean(\$array);3echo \$mean;4\$array = array(1,2,3,4,5);5\$median = pts_math::median(\$array);6echo \$median;7\$array = array(1,2,3,4,5);8\$standard_deviation = pts_math::standard_deviation(\$array);9echo \$standard_deviation;10\$array = array(1,2,3,4,5);11\$variance = pts_math::variance(\$array);12echo \$variance;13\$array = array(1,2,3,4,5);14\$geometric_mean = pts_math::geometric_mean(\$array);15echo \$geometric_mean;16\$array = array(1,2,3,4,5);17\$harmonic_mean = pts_math::harmonic_mean(\$array);18echo \$harmonic_mean;19\$array = array(1,2,3,4,5);20\$mode = pts_math::mode(\$array);21echo \$mode;`

## Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

## LambdaTest Learning Hubs:

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

## Run Phoronix-test-suite automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

### Run Selenium Automation Tests on LambdaTest Cloud Grid

Trigger Selenium automation tests on a cloud-based Grid of 3000+ real browsers and operating systems.