/* PETER BLACKS' * MATHS LBRARY * 26 OCT 1997 */ // SINE FUNCTION #include #include "my_maths.h" // LOOK UP TABLE FOR SIN FUNCTION 0 TO 360 DEGREES // RETURNS SIN TO 3 DECIMAL PLACES *1000 short sin_data [361]={ 0,17,35,52,70,87,105,122,139,156, 174,191,208,225,242,259,276,292,309,326, 342,358,375,391,407,423,438,454,469,485, 500,515,530,545,559,574,588,602,616,629, 643,656,669,682,695,707,719,731,743,757, 766,777,788,799,809,819,829,838,848,857, 866,875,883,891,899,906,914,921,927,934, 940,946,951,956,961,966,970,974,978,982, 985,988,990,993,995,996,998,999,999,999, 1000,999,999,999,998,996,995,993,990,988, 985,982,978,974,970,966,961,956,951,946, 940,934,927,921,914,906,899,891,883,875, 866,857,848,838,829,819,809,799,788,777, 766,757,743,731,719,707,695,682,669,656, 643,629,616,602,588,574,559,545,530,515, 500,485,469,454,438,423,407,391,375,358, 342,326,309,292,276,259,242,225,208,191, 174,156,139,122,105,87,70,52,35,17,0, -17,-35,-52,-70,-87,-105,-122,-139,-156, -174,-191,-208,-225,-242,-259,-276,-292,-309,-326, -342,-358,-375,-391,-407,-423,-438,-454,-469,-485, -500,-515,-530,-545,-559,-574,-588,-602,-616,-629, -643,-656,-669,-682,-695,-707,-719,-731,-743,-757, -766,-777,-788,-799,-809,-819,-829,-838,-848,-857, -866,-875,-883,-891,-899,-906,-914,-921,-927,-934, -940,-946,-951,-956,-961,-966,-970,-974,-978,-982, -985,-988,-990,-993,-995,-996,-998,-999,-999,-999, -1000,-999,-999,-999,-998,-996,-995,-993,-990,-988, -985,-982,-978,-974,-970,-966,-961,-956,-951,-946, -940,-934,-927,-921,-914,-906,-899,-891,-883,-875, -866,-857,-848,-838,-829,-819,-809,-799,-788,-777, -766,-757,-743,-731,-719,-707,-695,-682,-669,-656, -643,-629,-616,-602,-588,-574,-559,-545,-530,-515, -500,-485,-469,-454,-438,-423,-407,-391,-375,-358, -342,-326,-309,-292,-276,-259,-242,-225,-208,-191, -174,-156,-139,-122,-105,-87,-70,-52,-35,-17, 0 }; // LOOK UP TABLE FOR COS FUNCTION 0 TO 360 DEGREES // RETURNS SIN TO 3 DECIMAL PLACES *1000 short cos_data [361]= { 1000,999,999,999,998,996,995,993,990,988, 985,982,978,974,970,966,961,956,951,946, 940,934,927,921,914,906,899,891,883,875, 866,857,848,838,829,819,809,799,788,777, 766,757,743,731,719,707,695,682,669,656, 643,629,616,602,588,574,559,545,530,515, 500,485,469,454,438,423,407,391,375,358, 342,326,309,292,276,259,242,225,208,191, 174,156,139,122,105,87,70,52,35,17,0, -17,-35,-52,-70,-87,-105,-122,-139,-156, -174,-191,-208,-225,-242,-259,-276,-292,-309,-326, -342,-358,-375,-391,-407,-423,-438,-454,-469,-485, -500,-515,-530,-545,-559,-574,-588,-602,-616,-629, -643,-656,-669,-682,-695,-707,-719,-731,-743,-757, -766,-777,-788,-799,-809,-819,-829,-838,-848,-857, -866,-875,-883,-891,-899,-906,-914,-921,-927,-934, -940,-946,-951,-956,-961,-966,-970,-974,-978,-982, -985,-988,-990,-993,-995,-996,-998,-999,-999,-999, -1000,-999,-999,-999,-998,-996,-995,-993,-990,-988, -985,-982,-978,-974,-970,-966,-961,-956,-951,-946, -940,-934,-927,-921,-914,-906,-899,-891,-883,-875, -866,-857,-848,-838,-829,-819,-809,-799,-788,-777, -766,-757,-743,-731,-719,-707,-695,-682,-669,-656, -643,-629,-616,-602,-588,-574,-559,-545,-530,-515, -500,-485,-469,-454,-438,-423,-407,-391,-375,-358, -342,-326,-309,-292,-276,-259,-242,-225,-208,-191, -174,-156,-139,-122,-105,-87,-70,-52,-35,-17, 0,17,35,52,70,87,105,122,139,156, 174,191,208,225,242,259,276,292,309,326, 342,358,375,391,407,423,438,454,469,485, 500,515,530,545,559,574,588,602,616,629, 643,656,669,682,695,707,719,731,743,757, 766,777,788,799,809,819,829,838,848,857, 866,875,883,891,899,906,914,921,927,934, 940,946,951,956,961,966,970,974,978,982, 985,988,990,993,995,996,998,999,999,999, 1000 }; /* FUNCTIONS *------------------------------------------------------------------------ */ // SIN short SinFunc(short a){ return sin_data[a%360]; } // COSIN short CosFunc(short a){ return cos_data[a%360]; } // ABS short AbsFunc(short a) { return ((a>=0)?a:-a); } // SGN short SgnFunc(short a) {return (a>0)+(-(a<0)); } /* *END FILE *------------------------------------------------------------------------- */