1. something like 'abs()' ???
- Posted by eel picton <eelpics at yahoo.co.uk> Jun 25, 2004
- 511 views
er... me again... i cant seem to find the equivalent of an 'abs' or 'absolute' function as found in 'commodore 64' basic etc... it is a function that returns the positive value of a number regardless of whether the original number is positive or negative i have got around this by taking the square root of the square of the number... but is there a simpler way anyone knows of? (maybe i'm having another brain-cell free day) cheerz again - eel
2. Re: something like 'abs()' ???
- Posted by irv mullins <irvm at ellijay.com> Jun 25, 2004
- 495 views
eel picton wrote: > > er... me again... > > i cant seem to find the equivalent of an 'abs' or 'absolute' function as found > in 'commodore > 64' basic etc... > > it is a function that returns the positive value of a number regardless of > whether > the original number is positive or negative > > i have got around this by taking the square root of the square of the > number... > > but is there a simpler way anyone knows of? (maybe i'm having another > brain-cell free > day) The EuForum archives are a good place to look up such things. One way: function abs(integer x) return x * ((x>0) - (x<0)) end function Regards, Irv
3. Re: something like 'abs()' ???
- Posted by cklester <cklester at yahoo.com> Jun 25, 2004
- 493 views
-- Use the following code to determine which -- abs() function is faster. Interesting!!! include get.e object junk with warning function abs(integer x) if x > 0 then return x end if return -x end function function abs2(integer x) if x < 0 then return -x end if return x end function integer test_time, tester, counter atom timer test_time = 5 -- change this for shorter/longer testing time counter = 0 puts(1,"Testing abs(1)\t") timer = time() + test_time while timer > time() do counter += 1 tester = abs( 1 ) end while ?counter counter = 0 puts(1,"Testing abs2(1)\t") timer = time() + test_time while timer > time() do counter += 1 tester = abs2( 1 ) end while ?counter counter = 0 puts(1,"Testing abs(-1)\t") timer = time() + test_time while timer > time() do counter += 1 tester = abs( -1 ) end while ?counter counter = 0 puts(1,"Testing abs2(-1)\t") timer = time() + test_time while timer > time() do counter += 1 tester = abs2( -1 ) end while ?counter junk = wait_key() -- end of test code -=ck "Programming in a state of EUPHORIA."