#include "rayheader.h" float cos(float x) { x = x - TWOPI * ((int) (x / TWOPI)); float x2 = x * x; return 1 + x2 * (-.5 + x2 * (.0417 - x2 * 0.00138)); } float sin(float x) { x = x - TWOPI * ((int) (x / TWOPI)); float x2 = x * x; return x * (1 + x2 * (-0.1667 + .00833 * (x2 - .0002 * x2 ))); } int abs(int x) { return (x > 0) ? x : -x; } float fabs(float x) { return (x > 0) ? x : -x; } float sqrt(float x) { float r = x / 2; int i; for (i = 0; i < 10; i++) { r = 0.5 * (r + x / r); } return r; }