Rev 1612 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1612 | Rev 1821 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | #include "dongfangMath.h" |
1 | #include "dongfangMath.h" |
2 | #include <inttypes.h> |
2 | #include <inttypes.h> |
3 | #include <avr/pgmspace.h> |
3 | #include <avr/pgmspace.h> |
Line 4... | Line -... | ||
4 | - | ||
5 | const int16_t SIN_TABLE[] PROGMEM = { |
4 | |
6 | (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5), |
5 | const int16_t SIN_TABLE[] PROGMEM = { (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5), |
7 | (int16_t) (0.01745240643728351 * MATH_UNIT_FACTOR + 0.5), |
6 | (int16_t) (0.01745240643728351 * MATH_UNIT_FACTOR + 0.5), |
8 | (int16_t) (0.03489949670250097 * MATH_UNIT_FACTOR + 0.5), |
7 | (int16_t) (0.03489949670250097 * MATH_UNIT_FACTOR + 0.5), |
9 | (int16_t) (0.05233595624294383 * MATH_UNIT_FACTOR + 0.5), |
8 | (int16_t) (0.05233595624294383 * MATH_UNIT_FACTOR + 0.5), |
10 | (int16_t) (0.0697564737441253 * MATH_UNIT_FACTOR + 0.5), |
9 | (int16_t) (0.0697564737441253 * MATH_UNIT_FACTOR + 0.5), |
Line 90... | Line 89... | ||
90 | (int16_t) (0.9945218953682733 * MATH_UNIT_FACTOR + 0.5), |
89 | (int16_t) (0.9945218953682733 * MATH_UNIT_FACTOR + 0.5), |
91 | (int16_t) (0.9961946980917455 * MATH_UNIT_FACTOR + 0.5), |
90 | (int16_t) (0.9961946980917455 * MATH_UNIT_FACTOR + 0.5), |
92 | (int16_t) (0.9975640502598242 * MATH_UNIT_FACTOR + 0.5), |
91 | (int16_t) (0.9975640502598242 * MATH_UNIT_FACTOR + 0.5), |
93 | (int16_t) (0.9986295347545738 * MATH_UNIT_FACTOR + 0.5), |
92 | (int16_t) (0.9986295347545738 * MATH_UNIT_FACTOR + 0.5), |
94 | (int16_t) (0.9993908270190958 * MATH_UNIT_FACTOR + 0.5), |
93 | (int16_t) (0.9993908270190958 * MATH_UNIT_FACTOR + 0.5), |
95 | (int16_t) (0.9998476951563913 * MATH_UNIT_FACTOR + 0.5), |
94 | (int16_t) (0.9998476951563913 * MATH_UNIT_FACTOR + 0.5), (int16_t) (1.0 |
96 | (int16_t) (1.0 * MATH_UNIT_FACTOR) }; |
95 | * MATH_UNIT_FACTOR) }; |
Line 97... | Line 96... | ||
97 | 96 | ||
98 | const int16_t TAN_TABLE[] PROGMEM = { |
97 | const int16_t TAN_TABLE[] PROGMEM |
99 | (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5), |
98 | = { (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5), |
100 | (int16_t) (0.017455064928217585 * MATH_UNIT_FACTOR + 0.5), |
99 | (int16_t) (0.017455064928217585 * MATH_UNIT_FACTOR + 0.5), |
101 | (int16_t) (0.03492076949174773 * MATH_UNIT_FACTOR + 0.5), |
100 | (int16_t) (0.03492076949174773 * MATH_UNIT_FACTOR + 0.5), |
102 | (int16_t) (0.0524077792830412 * MATH_UNIT_FACTOR + 0.5), |
101 | (int16_t) (0.0524077792830412 * MATH_UNIT_FACTOR + 0.5), |
103 | (int16_t) (0.06992681194351041 * MATH_UNIT_FACTOR + 0.5), |
102 | (int16_t) (0.06992681194351041 * MATH_UNIT_FACTOR + 0.5), |
Line 184... | Line 183... | ||
184 | (int16_t) (11.430052302761348 * MATH_UNIT_FACTOR + 0.5), |
183 | (int16_t) (11.430052302761348 * MATH_UNIT_FACTOR + 0.5), |
185 | (int16_t) (14.300666256711896 * MATH_UNIT_FACTOR + 0.5), |
184 | (int16_t) (14.300666256711896 * MATH_UNIT_FACTOR + 0.5), |
186 | (int16_t) (19.08113668772816 * MATH_UNIT_FACTOR + 0.5), |
185 | (int16_t) (19.08113668772816 * MATH_UNIT_FACTOR + 0.5), |
187 | (int16_t) (28.636253282915515 * MATH_UNIT_FACTOR + 0.5), |
186 | (int16_t) (28.636253282915515 * MATH_UNIT_FACTOR + 0.5), |
188 | (int16_t) (57.289961630759876 * MATH_UNIT_FACTOR + 0.5), |
187 | (int16_t) (57.289961630759876 * MATH_UNIT_FACTOR + 0.5), |
189 | (int16_t) (32767) |
188 | (int16_t) (32767) }; |
190 | }; |
- | |
Line 191... | Line 189... | ||
191 | 189 | ||
192 | int16_t int_sin(int32_t arg) { |
190 | int16_t int_sin(int32_t arg) { |
193 | int8_t sign; |
191 | int8_t sign; |
194 | int16_t result; |
192 | int16_t result; |