/* sin and cos look up tables */ 


const FIXED SIN[360] = {
       0,4,8,13,17,22,26,31,35,40,44,48,53,57,61,66,70,74,79,83,
       87,91,95,100,104,108,112,116,120,124,127,131,135,139,143,146,150,154,157,161,
       164,167,171,174,177,181,184,187,190,193,196,198,201,204,207,209,212,214,217,219,
       221,223,226,228,230,232,233,235,237,238,240,242,243,244,246,247,248,249,250,251,
       252,252,253,254,254,255,255,255,255,255,255,255,255,255,255,255,254,254,253,252,
       252,251,250,249,248,247,246,244,243,242,240,238,237,235,233,232,230,228,226,223,
       221,219,217,214,212,209,207,204,201,198,196,193,190,187,184,181,177,174,171,167,
       164,161,157,154,150,146,143,139,135,131,128,124,120,116,112,108,104,100,95,91,
       87,83,79,74,70,66,61,57,53,48,44,40,35,31,26,22,17,13,8,4,
       0,-4,-8,-13,-17,-22,-26,-31,-35,-40,-44,-48,-53,-57,-61,-66,-70,-74,-79,-83,
       -87,-91,-95,-100,-104,-108,-112,-116,-120,-124,-127,-131,-135,-139,-143,-146,-150,-154,-157,-161,
       -164,-167,-171,-174,-177,-181,-184,-187,-190,-193,-196,-198,-201,-204,-207,-209,-212,-214,-217,-219,
       -221,-223,-226,-228,-230,-232,-233,-235,-237,-238,-240,-242,-243,-244,-246,-247,-248,-249,-250,-251,
       -252,-252,-253,-254,-254,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-254,-254,-253,-252,
       -252,-251,-250,-249,-248,-247,-246,-244,-243,-242,-240,-238,-237,-235,-233,-232,-230,-228,-226,-223,
       -221,-219,-217,-214,-212,-209,-207,-204,-201,-198,-196,-193,-190,-187,-184,-181,-177,-174,-171,-167,
       -164,-161,-157,-154,-150,-146,-143,-139,-135,-131,-128,-124,-120,-116,-112,-108,-104,-100,-95,-91,
       -87,-83,-79,-74,-70,-66,-61,-57,-53,-48,-44,-40,-35,-31,-26,-22,-17,-13,-8,-4,
};


const FIXED COS[360] = {
       256,255,255,255,255,255,254,254,253,252,252,251,250,249,248,247,246,244,243,242,
       240,238,237,235,233,232,230,228,226,223,221,219,217,214,212,209,207,204,201,198,
       196,193,190,187,184,181,177,174,171,167,164,161,157,154,150,146,143,139,135,131,
       128,124,120,116,112,108,104,100,95,91,87,83,79,74,70,66,61,57,53,48,
       44,40,35,31,26,22,17,13,8,4,0,-4,-8,-13,-17,-22,-26,-31,-35,-40,
       -44,-48,-53,-57,-61,-66,-70,-74,-79,-83,-87,-91,-95,-100,-104,-108,-112,-116,-120,-124,
       -127,-131,-135,-139,-143,-146,-150,-154,-157,-161,-164,-167,-171,-174,-177,-181,-184,-187,-190,-193,
       -196,-198,-201,-204,-207,-209,-212,-214,-217,-219,-221,-223,-226,-228,-230,-232,-233,-235,-237,-238,
       -240,-242,-243,-244,-246,-247,-248,-249,-250,-251,-252,-252,-253,-254,-254,-255,-255,-255,-255,-255,
       -255,-255,-255,-255,-255,-255,-254,-254,-253,-252,-252,-251,-250,-249,-248,-247,-246,-244,-243,-242,
       -240,-238,-237,-235,-233,-232,-230,-228,-226,-223,-221,-219,-217,-214,-212,-209,-207,-204,-201,-198,
       -196,-193,-190,-187,-184,-181,-177,-174,-171,-167,-164,-161,-157,-154,-150,-146,-143,-139,-135,-131,
       -128,-124,-120,-116,-112,-108,-104,-100,-95,-91,-87,-83,-79,-74,-70,-66,-61,-57,-53,-48,
       -44,-40,-35,-31,-26,-22,-17,-13,-8,-4,0,4,8,13,17,22,26,31,35,40,
       44,48,53,57,61,66,70,74,79,83,87,91,95,100,104,108,112,116,120,124,
       127,131,135,139,143,146,150,154,157,161,164,167,171,174,177,181,184,187,190,193,
       196,198,201,204,207,209,212,214,217,219,221,223,226,228,230,232,233,235,237,238,
       240,242,243,244,246,247,248,249,250,251,252,252,253,254,254,255,255,255,255,255,
};

const u16 ARCTAN[256] = {
       0,200,241,218,186,160,138,121,108,97,88,80,74,68,64,60,56,53,50,47,
       45,43,41,39,37,36,34,33,32,31,30,29,28,27,26,26,25,24,24,23,
       22,22,21,21,20,20,19,19,19,18,18,17,17,17,16,16,16,16,15,15,
       15,14,14,14,14,14,13,13,13,13,13,12,12,12,12,12,12,11,11,11,
       11,11,11,11,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,
       9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,
       7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,
       6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,
       5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
       5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
       4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
       4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,
       3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
};


1