Advertisement
Guest User

Untitled

a guest
Jan 30th, 2012
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. float sin(float angle){
  2. float x,xint,xx,xxxx,sinpart,cospart,sinsemi,cossemi,sinfinal,cosfinal;
  3. float cospart2,sinpart2,cos2part,sin2part,cos2semi,sin2semi,sincospart,sincossemi;
  4. float sinuncorr,cosuncorr,hypsq,errormul;
  5. x = angle * 0.1591549431;
  6. xint = float($$nearest(x));
  7. x = x - xint; // get fractional part
  8. xx = x * x;
  9. xxxx = xx * xx;
  10. sinpart = xx * -0.0046075748;
  11. cospart = xx * -0.0204391631;
  12. sinpart = sinpart + 0.0796819754;
  13. cospart = cospart + 0.2536086171;
  14. sinpart2 = xx * -0.645963615;
  15. sinpart = sinpart * xxxx;
  16. cospart2 = xx * -1.2336977925;
  17. cospart = cospart * xxxx;
  18. sinpart = sinpart + sinpart2;
  19. cospart = cospart + cospart2;
  20. sinpart = sinpart + 1.5707963235;
  21. cospart = cospart + 1.0;
  22. sinpart = sinpart * x;
  23. cos2part = cospart * cospart;
  24. sin2part = sinpart * sinpart;
  25. sincospart = sinpart * cospart;
  26. cossemi = cos2part - sin2part;
  27. sinsemi = sincospart * 2.0;
  28. sin2semi = sinsemi * sinsemi;
  29. cos2semi = cossemi * cossemi;
  30. sincossemi = sinsemi * cossemi;
  31. hypsq = cos2semi + sin2semi;
  32. cosuncorr = cos2semi - sin2semi;
  33. errormul = 2.0 - hypsq;
  34. sinuncorr = sincossemi * 2.0;
  35. cosfinal = errormul * cosuncorr;
  36. sinfinal = errormul * sinuncorr;
  37. return sinfinal;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement