//computes the sine using the CORDIC algorithm double corsin(double x) { int i; int digit[10]; double sinv,cosv; for(i=0;i<10;i++) { x=x*10; digit[i]=(int)floor(x)%10; x=x-floor(x); } sinv=svalue[0][digit[0]]; cosv=cvalue[0][digit[0]]; for(i=0;i<9;i++) { sinv=sinv*cvalue[i+1][digit[i+1]]+cosv*svalue[i+1][digit[i+1]]; cosv=cosv*cvalue[i+1][digit[i+1]]-sinv*svalue[i+1][digit[i+1]]; } return sinv; }