Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 16th, 2012  |  syntax: None  |  size: 4.07 KB  |  hits: 37  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. static float
  2. my_sin_table[257] =
  3. {
  4. 0.0000000000f, 0.00613588465f,0.0122715383f, 0.0184067299f,
  5. 0.0245412285f, 0.0306748032f, 0.0368072229f, 0.0429382569f,
  6. 0.0490676743f, 0.0551952443f, 0.0613207363f, 0.0674439195f,
  7. 0.0735645636f, 0.0796824379f, 0.0857973123f, 0.0919089564f,
  8. 0.0980171403f, 0.1041216340f, 0.1102222070f, 0.1163186310f,
  9. 0.1224106750f, 0.1284981110f, 0.1345807080f, 0.1406582390f,
  10. 0.1467304740f, 0.1527971850f, 0.1588581430f, 0.1649131200f,
  11. 0.1709618890f, 0.1770042200f, 0.1830398880f, 0.1890686640f,
  12. 0.1950903220f, 0.2011046350f, 0.2071113760f, 0.2131103200f,
  13. 0.2191012400f, 0.2250839110f, 0.2310581080f, 0.2370236060f,
  14. 0.2429801800f, 0.2489276060f, 0.2548656600f, 0.2607941180f,
  15. 0.2667127570f, 0.2726213550f, 0.2785196890f, 0.2844075370f,
  16. 0.2902846770f, 0.2961508880f, 0.3020059490f, 0.3078496400f,
  17. 0.3136817400f, 0.3195020310f, 0.3253102920f, 0.3311063060f,
  18. 0.3368898530f, 0.3426607170f, 0.3484186800f, 0.3541635250f,
  19. 0.3598950360f, 0.3656129980f, 0.3713171940f, 0.3770074100f,
  20. 0.3826834320f, 0.3883450470f, 0.3939920400f, 0.3996242000f,
  21. 0.4052413140f, 0.4108431710f, 0.4164295600f, 0.4220002710f,
  22. 0.4275550930f, 0.4330938190f, 0.4386162380f, 0.4441221440f,
  23. 0.4496113300f, 0.4550835870f, 0.4605387110f, 0.4659764960f,
  24. 0.4713967370f, 0.4767992300f, 0.4821837720f, 0.4875501600f,
  25. 0.4928981920f, 0.4982276670f, 0.5035383830f, 0.5088301420f,
  26. 0.5141027440f, 0.5193559900f, 0.5245896820f, 0.5298036250f,
  27. 0.5349976200f, 0.5401714730f, 0.5453249880f, 0.5504579730f,
  28. 0.5555702330f, 0.5606615760f, 0.5657318110f, 0.5707807460f,
  29. 0.5758081910f, 0.5808139580f, 0.5857978570f, 0.5907597020f,
  30. 0.5956993040f, 0.6006164790f, 0.6055110410f, 0.6103828060f,
  31. 0.6152315900f, 0.6200572110f, 0.6248594880f, 0.6296382390f,
  32. 0.6343932840f, 0.6391244450f, 0.6438315430f, 0.6485144010f,
  33. 0.6531728430f, 0.6578066930f, 0.6624157770f, 0.6669999220f,
  34. 0.6715589550f, 0.6760927030f, 0.6806009980f, 0.6850836680f,
  35. 0.6895405450f, 0.6939714610f, 0.6983762490f, 0.7027547440f,
  36. 0.7071067810f, 0.7114321960f, 0.7157308250f, 0.7200025080f,
  37. 0.7242470830f, 0.7284643900f, 0.7326542710f, 0.7368165690f,
  38. 0.7409511250f, 0.7450577850f, 0.7491363940f, 0.7531867990f,
  39. 0.7572088460f, 0.7612023850f, 0.7651672650f, 0.7691033370f,
  40. 0.7730104530f, 0.7768884660f, 0.7807372280f, 0.7845565970f,
  41. 0.7883464270f, 0.7921065770f, 0.7958369040f, 0.7995372690f,
  42. 0.8032075310f, 0.8068475530f, 0.8104571980f, 0.8140363300f,
  43. 0.8175848130f, 0.8211025150f, 0.8245893030f, 0.8280450450f,
  44. 0.8314696120f, 0.8348628750f, 0.8382247050f, 0.8415549770f,
  45. 0.8448535650f, 0.8481203450f, 0.8513551930f, 0.8545579880f,
  46. 0.8577286100f, 0.8608669380f, 0.8639728560f, 0.8670462460f,
  47. 0.8700869910f, 0.8730949780f, 0.8760700940f, 0.8790122260f,
  48. 0.8819212640f, 0.8847970980f, 0.8876396200f, 0.8904487230f,
  49. 0.8932243010f, 0.8959662500f, 0.8986744660f, 0.9013488470f,
  50. 0.9039892930f, 0.9065957040f, 0.9091679830f, 0.9117060320f,
  51. 0.9142097560f, 0.9166790600f, 0.9191138520f, 0.9215140390f,
  52. 0.9238795320f, 0.9262102420f, 0.9285060800f, 0.9307669610f,
  53. 0.9329927990f, 0.9351835100f, 0.9373390120f, 0.9394592240f,
  54. 0.9415440650f, 0.9435934580f, 0.9456073250f, 0.9475855910f,
  55. 0.9495281810f, 0.9514350210f, 0.9533060400f, 0.9551411680f,
  56. 0.9569403350f, 0.9587034750f, 0.9604305190f, 0.9621214040f,
  57. 0.9637760660f, 0.9653944420f, 0.9669764710f, 0.9685220940f,
  58. 0.9700312530f, 0.9715038910f, 0.9729399520f, 0.9743393830f,
  59. 0.9757021300f, 0.9770281420f, 0.9783173710f, 0.9795697660f,
  60. 0.9807852800f, 0.9819638690f, 0.9831054870f, 0.9842100920f,
  61. 0.9852776420f, 0.9863080970f, 0.9873014180f, 0.9882575680f,
  62. 0.9891765100f, 0.9900582100f, 0.9909026360f, 0.9917097540f,
  63. 0.9924795350f, 0.9932119490f, 0.9939069700f, 0.9945645710f,
  64. 0.9951847270f, 0.9957674150f, 0.9963126120f, 0.9968202990f,
  65. 0.9972904570f, 0.9977230670f, 0.9981181130f, 0.9984755800f,
  66. 0.9987954560f, 0.9990777280f, 0.9993223850f, 0.9995294180f,
  67. 0.9996988190f, 0.9998305820f, 0.9999247020f, 0.9999811760f,
  68. 1.0f
  69. };
  70.  
  71.  
  72. float my_sinf(float x)
  73. {
  74.         int a = (0.5f + x * (1024.0 / (2 * M_PI)));
  75.         int negate = a & 512;
  76.         float r;
  77.         a &= 511;
  78.         if (a >= 256)
  79.                 a = 512-a;
  80.         r = my_sin_table[a];
  81.         if (negate)
  82.                 r = -r;
  83.         return r;
  84. }