Changeset 143
- Timestamp:
- Apr 12, 2008, 10:57:19 PM (15 years ago)
- Location:
- abuse/trunk/src
- Files:
-
- 6 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
abuse/trunk/src/lisp/trig.cpp
r124 r143 12 12 #include "system.h" 13 13 14 int32_t sin_table[360]={ 15 0x00000000, 0x00000477, 0x000008ef, 0x00000d65, 0x000011db, 0x0000164f, 16 0x00001ac2, 0x00001f32, 0x000023a0, 0x0000280c, 0x00002c74, 0x000030d8, 17 0x00003539, 0x00003996, 0x00003dee, 0x00004241, 0x00004690, 0x00004ad8, 18 0x00004f1b, 0x00005358, 0x0000578e, 0x00005bbe, 0x00005fe6, 0x00006406, 19 0x0000681f, 0x00006c30, 0x00007039, 0x00007438, 0x0000782f, 0x00007c1c, 20 0x00008000, 0x000083d9, 0x000087a8, 0x00008b6d, 0x00008f27, 0x000092d5, 21 0x00009679, 0x00009a10, 0x00009d9b, 0x0000a11b, 0x0000a48d, 0x0000a7f3, 22 0x0000ab4c, 0x0000ae97, 0x0000b1d5, 0x0000b504, 0x0000b826, 0x0000bb39, 23 0x0000be3e, 0x0000c134, 0x0000c41b, 0x0000c6f3, 0x0000c9bb, 0x0000cc73, 24 0x0000cf1b, 0x0000d1b3, 0x0000d43b, 0x0000d6b3, 0x0000d919, 0x0000db6f, 25 0x0000ddb3, 0x0000dfe7, 0x0000e208, 0x0000e419, 0x0000e617, 0x0000e803, 26 0x0000e9de, 0x0000eba6, 0x0000ed5b, 0x0000eeff, 0x0000f08f, 0x0000f20d, 27 0x0000f378, 0x0000f4d0, 0x0000f615, 0x0000f746, 0x0000f865, 0x0000f970, 28 0x0000fa67, 0x0000fb4b, 0x0000fc1c, 0x0000fcd9, 0x0000fd82, 0x0000fe17, 29 0x0000fe98, 0x0000ff06, 0x0000ff60, 0x0000ffa6, 0x0000ffd8, 0x0000fff6, 30 0x00010000, 0x0000fff6, 0x0000ffd8, 0x0000ffa6, 0x0000ff60, 0x0000ff06, 31 0x0000fe98, 0x0000fe17, 0x0000fd82, 0x0000fcd9, 0x0000fc1c, 0x0000fb4b, 32 0x0000fa67, 0x0000f970, 0x0000f865, 0x0000f746, 0x0000f615, 0x0000f4d0, 33 0x0000f378, 0x0000f20d, 0x0000f08f, 0x0000eeff, 0x0000ed5b, 0x0000eba6, 34 0x0000e9de, 0x0000e803, 0x0000e617, 0x0000e419, 0x0000e208, 0x0000dfe7, 35 0x0000ddb3, 0x0000db6f, 0x0000d919, 0x0000d6b3, 0x0000d43b, 0x0000d1b3, 36 0x0000cf1b, 0x0000cc73, 0x0000c9bb, 0x0000c6f3, 0x0000c41b, 0x0000c134, 37 0x0000be3e, 0x0000bb39, 0x0000b826, 0x0000b504, 0x0000b1d5, 0x0000ae97, 38 0x0000ab4c, 0x0000a7f3, 0x0000a48d, 0x0000a11b, 0x00009d9b, 0x00009a10, 39 0x00009679, 0x000092d5, 0x00008f27, 0x00008b6d, 0x000087a8, 0x000083d9, 40 0x00007fff, 0x00007c1c, 0x0000782f, 0x00007438, 0x00007039, 0x00006c30, 41 0x0000681f, 0x00006406, 0x00005fe6, 0x00005bbe, 0x0000578e, 0x00005358, 42 0x00004f1b, 0x00004ad8, 0x00004690, 0x00004241, 0x00003dee, 0x00003996, 43 0x00003539, 0x000030d8, 0x00002c74, 0x0000280c, 0x000023a0, 0x00001f32, 44 0x00001ac2, 0x0000164f, 0x000011db, 0x00000d65, 0x000008ef, 0x00000477, 45 0x00000000, 0xfffffb89, 0xfffff711, 0xfffff29b, 0xffffee25, 0xffffe9b1, 46 0xffffe53e, 0xffffe0ce, 0xffffdc60, 0xffffd7f4, 0xffffd38c, 0xffffcf28, 47 0xffffcac7, 0xffffc66a, 0xffffc212, 0xffffbdbf, 0xffffb970, 0xffffb528, 48 0xffffb0e5, 0xffffaca8, 0xffffa872, 0xffffa442, 0xffffa01a, 0xffff9bfa, 49 0xffff97e1, 0xffff93d0, 0xffff8fc7, 0xffff8bc8, 0xffff87d1, 0xffff83e4, 50 0xffff8000, 0xffff7c27, 0xffff7858, 0xffff7493, 0xffff70d9, 0xffff6d2b, 51 0xffff6987, 0xffff65f0, 0xffff6265, 0xffff5ee5, 0xffff5b73, 0xffff580d, 52 0xffff54b4, 0xffff5169, 0xffff4e2b, 0xffff4afc, 0xffff47da, 0xffff44c7, 53 0xffff41c2, 0xffff3ecc, 0xffff3be5, 0xffff390d, 0xffff3645, 0xffff338d, 54 0xffff30e5, 0xffff2e4d, 0xffff2bc5, 0xffff294d, 0xffff26e7, 0xffff2491, 55 0xffff224d, 0xffff2019, 0xffff1df8, 0xffff1be7, 0xffff19e9, 0xffff17fd, 56 0xffff1622, 0xffff145a, 0xffff12a5, 0xffff1101, 0xffff0f71, 0xffff0df3, 57 0xffff0c88, 0xffff0b30, 0xffff09eb, 0xffff08ba, 0xffff079b, 0xffff0690, 58 0xffff0599, 0xffff04b5, 0xffff03e4, 0xffff0327, 0xffff027e, 0xffff01e9, 59 0xffff0168, 0xffff00fa, 0xffff00a0, 0xffff005a, 0xffff0028, 0xffff000a, 60 0xffff0001, 0xffff000a, 0xffff0028, 0xffff005a, 0xffff00a0, 0xffff00fa, 61 0xffff0168, 0xffff01e9, 0xffff027e, 0xffff0327, 0xffff03e4, 0xffff04b5, 62 0xffff0599, 0xffff0690, 0xffff079b, 0xffff08ba, 0xffff09eb, 0xffff0b30, 63 0xffff0c88, 0xffff0df3, 0xffff0f71, 0xffff1101, 0xffff12a5, 0xffff145a, 64 0xffff1622, 0xffff17fd, 0xffff19e9, 0xffff1be7, 0xffff1df8, 0xffff2019, 65 0xffff224d, 0xffff2491, 0xffff26e7, 0xffff294d, 0xffff2bc5, 0xffff2e4d, 66 0xffff30e5, 0xffff338d, 0xffff3645, 0xffff390d, 0xffff3be5, 0xffff3ecc, 67 0xffff41c2, 0xffff44c7, 0xffff47da, 0xffff4afc, 0xffff4e2b, 0xffff5169, 68 0xffff54b4, 0xffff580d, 0xffff5b73, 0xffff5ee5, 0xffff6265, 0xffff65f0, 69 0xffff6987, 0xffff6d2b, 0xffff70d9, 0xffff7493, 0xffff7858, 0xffff7c27, 70 0xffff8001, 0xffff83e4, 0xffff87d1, 0xffff8bc8, 0xffff8fc7, 0xffff93d0, 71 0xffff97e1, 0xffff9bfa, 0xffffa01a, 0xffffa442, 0xffffa872, 0xffffaca8, 72 0xffffb0e5, 0xffffb528, 0xffffb970, 0xffffbdbf, 0xffffc212, 0xffffc66a, 73 0xffffcac7, 0xffffcf28, 0xffffd38c, 0xffffd7f4, 0xffffdc60, 0xffffe0ce, 74 0xffffe53e, 0xffffe9b1, 0xffffee25, 0xfffff29b, 0xfffff711, 0xfffffb89 75 }; 76 uint16_t atan_table[1662]={ 77 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 80 6, 6, 7, 8, 9, 9, 10, 11, 11, 12, 12, 13, 81 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 82 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 83 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 84 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28, 85 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 86 29, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 87 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 88 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 89 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 90 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 91 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 92 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 93 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 94 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 95 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 96 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 97 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 98 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 99 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 100 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 101 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 102 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 103 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 104 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 105 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 106 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 107 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 108 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 109 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 110 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 111 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 112 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 113 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 114 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 115 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 116 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 117 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 118 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 119 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 120 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 121 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 122 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 123 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 124 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 125 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 126 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 127 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 128 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 129 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 130 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 131 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 132 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 133 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 134 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 135 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 136 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 137 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 138 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 139 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 140 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 141 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 142 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 143 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 144 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 145 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 146 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 147 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 148 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 149 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 150 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 151 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 152 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 153 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 154 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 155 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 156 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 157 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 158 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 159 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 160 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 161 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 162 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 163 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 164 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 165 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 166 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 167 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 168 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 169 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 170 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 171 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 172 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 173 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 174 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 175 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 176 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 177 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 178 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 179 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 180 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 181 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 182 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 183 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 184 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 185 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 186 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 187 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 188 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 189 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 190 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 191 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 192 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 193 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 194 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 195 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 196 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 197 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 198 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 199 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 200 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 201 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 202 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 203 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 204 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 205 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 206 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 207 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 208 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 209 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 210 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 211 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 212 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 213 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 214 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 215 43, 43, 43, 44, 44, 44}; 14 /* Python code to generate the tables: 15 * import math 16 * [int(round(65536*math.sin(math.pi*i/180.0))) for i in range(360)] 17 * [max(0,int(round(math.atan(i/29.0)/math.pi*180)-45)) for i in range(1662)] 18 */ 19 int32_t sin_table[360] = 20 { 21 0, 1144, 2287, 3430, 4572, 5712, 6850, 7987, 9121, 10252, 11380, 12505, 22 13626, 14742, 15855, 16962, 18064, 19161, 20252, 21336, 22415, 23486, 23 24550, 25607, 26656, 27697, 28729, 29753, 30767, 31772, 32768, 33754, 24 34729, 35693, 36647, 37590, 38521, 39441, 40348, 41243, 42126, 42995, 25 43852, 44695, 45525, 46341, 47143, 47930, 48703, 49461, 50203, 50931, 26 51643, 52339, 53020, 53684, 54332, 54963, 55578, 56175, 56756, 57319, 27 57865, 58393, 58903, 59396, 59870, 60326, 60764, 61183, 61584, 61966, 28 62328, 62672, 62997, 63303, 63589, 63856, 64104, 64332, 64540, 64729, 29 64898, 65048, 65177, 65287, 65376, 65446, 65496, 65526, 65536, 65526, 30 65496, 65446, 65376, 65287, 65177, 65048, 64898, 64729, 64540, 64332, 31 64104, 63856, 63589, 63303, 62997, 62672, 62328, 61966, 61584, 61183, 32 60764, 60326, 59870, 59396, 58903, 58393, 57865, 57319, 56756, 56175, 33 55578, 54963, 54332, 53684, 53020, 52339, 51643, 50931, 50203, 49461, 34 48703, 47930, 47143, 46341, 45525, 44695, 43852, 42995, 42126, 41243, 35 40348, 39441, 38521, 37590, 36647, 35693, 34729, 33754, 32768, 31772, 36 30767, 29753, 28729, 27697, 26656, 25607, 24550, 23486, 22415, 21336, 37 20252, 19161, 18064, 16962, 15855, 14742, 13626, 12505, 11380, 10252, 9121, 38 7987, 6850, 5712, 4572, 3430, 2287, 1144, 0, -1144, -2287, -3430, -4572, 39 -5712, -6850, -7987, -9121, -10252, -11380, -12505, -13626, -14742, -15855, 40 -16962, -18064, -19161, -20252, -21336, -22415, -23486, -24550, -25607, 41 -26656, -27697, -28729, -29753, -30767, -31772, -32768, -33754, -34729, 42 -35693, -36647, -37590, -38521, -39441, -40348, -41243, -42126, -42995, 43 -43852, -44695, -45525, -46341, -47143, -47930, -48703, -49461, -50203, 44 -50931, -51643, -52339, -53020, -53684, -54332, -54963, -55578, -56175, 45 -56756, -57319, -57865, -58393, -58903, -59396, -59870, -60326, -60764, 46 -61183, -61584, -61966, -62328, -62672, -62997, -63303, -63589, -63856, 47 -64104, -64332, -64540, -64729, -64898, -65048, -65177, -65287, -65376, 48 -65446, -65496, -65526, -65536, -65526, -65496, -65446, -65376, -65287, 49 -65177, -65048, -64898, -64729, -64540, -64332, -64104, -63856, -63589, 50 -63303, -62997, -62672, -62328, -61966, -61584, -61183, -60764, -60326, 51 -59870, -59396, -58903, -58393, -57865, -57319, -56756, -56175, -55578, 52 -54963, -54332, -53684, -53020, -52339, -51643, -50931, -50203, -49461, 53 -48703, -47930, -47143, -46341, -45525, -44695, -43852, -42995, -42126, 54 -41243, -40348, -39441, -38521, -37590, -36647, -35693, -34729, -33754, 55 -32768, -31772, -30767, -29753, -28729, -27697, -26656, -25607, -24550, 56 -23486, -22415, -21336, -20252, -19161, -18064, -16962, -15855, -14742, 57 -13626, -12505, -11380, -10252, -9121, -7987, -6850, -5712, -4572, -3430, 58 -2287, -1144 59 }; 60 61 uint16_t atan_table[1662] = 62 { 63 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 10, 11, 12, 12, 13, 13, 65 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 21, 66 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 67 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 68 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 69 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 70 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 71 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 72 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 73 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 74 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 75 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 76 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 77 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 78 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 79 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 80 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 81 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 82 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 83 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 84 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 85 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 86 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 87 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 88 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 89 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 90 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 91 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 92 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 93 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 94 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 95 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 96 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 97 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 98 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 99 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 100 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 101 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 102 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 103 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 104 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 105 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 106 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 107 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 108 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 109 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 110 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 111 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 112 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 113 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 114 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 115 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 116 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 117 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 118 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 119 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 120 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 121 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 122 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 123 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 124 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 125 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 126 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 127 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 128 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 129 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 130 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 131 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 132 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 133 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 134 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 135 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 136 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 137 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 138 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 139 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 140 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 141 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 142 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 143 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 144 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 145 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 146 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 147 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 148 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 149 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44 150 }; 151
Note: See TracChangeset
for help on using the changeset viewer.