1e-15 basically **is** zero if you think about it... if your using this function to calculate sines and plot points you'd need 10^15 horizontal pixels to make the answer wrong by **one pixel**. You could have some of toonski's cookie: if you had sent in your program earlier... :wink:

toonski: $10 new zealand sound good?

I hope no one asks oracle for a SINE value...your $10 program ain't worth jack. Try modifying the main module of toonskies prog as follows so that it will actually accept user input in degrees:

DECLARE FUNCTION sine# (theta#)

DECLARE FUNCTION factorial# (x#)

CLS

pi# = 4 * ATN(1)

DO

INPUT "enter an angle in degrees"; a#

angledeg# = a# * pi# / 180 'convert to radians

q# = sine#(angledeg#)

PRINT q#

LOOP

Now...input 45...all is well .707

now input 30....looking good .49999999

Now...input a number like...oh...say 2910. This is equivalent to 30 deg...remember...sin is a periodic function...the size of the input angle size *shouldn't* matter. Also recall that the concept of SIN is based on the unit circle with radius of 1. This radius is the hypotinuse of a right triangle...sin is the opposite length/1. Since 1 is the longest side of a right triangle, one of the shorter sides divided by one cannot possibly be greater than one!!!

Did you do it...and enter 2910 (aka 30)? The winning program (after modification to make it accept user input), oh...wait it needs (*another * modification to convert the angle to radians) returns a value of 80,328...an incorrect answer by 4.9 orders of magnitude...

All I can say is :barf:

Now, oracle...I hate to inform you...you spent your sawbuck on snake-oil!

BTW...just having a bit-of-fun ...no serious insults intended...we're all hoping to learn something here, right??!!!