* Thus wrote Ford, Mike: > To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm > > > > > -----Original Message----- > > From: Jason Wong > > Sent: 27/12/04 10:16 > > > > On Monday 27 December 2004 12:40, Richard Lynch wrote: > > > > > If you want to mimic the behaviour of abs (allowing for positive > > numbers) > > > and performance was an issue, that: > > > $x = ($x < 0) ? - $x : $x; > > > > > > is most likely faster than abs() > > > > Having nothing better to do I decided to benchmark this: > > > > ternary: > > > > $doo = -20; > > for ($i = 1; $i < 10000000; $i++) { > > $dah = ($doo < 0) ? - $doo : $doo; > > } > > > > abs(): > > > > $doo = -20; > > for ($i = 1; $i < 10000000; $i++) { > > $dah = abs($doo); > > } > > That's not a valid benchmark, since only on the first pass through the loop > is $doo negative. Personally, I'd want to test it with equal numbers of > positive and negative values, and I'd want to know the contribution of the > loop and value-setup overhead, so I'd write it like this: This really was my first concern about the benchmark (unfair negative usage). In what ever case one uses to get the absolute value from a value be sure to document things like: /* Get the absolute value */ $dah = ($doo < 0) ? - $doo : $doo; where: $dah = abs($doo); is self relevant. Curt -- Quoth the Raven, "Nevermore." -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php