Revision 1602
Added some test files for fixed point math.
Something definitely broke in cosine when I changed to smaller tables
(which shouldn't have sacrificed any accuracy). Need to investigate...
gentables.m | ||
---|---|---|
1 | 1 |
|
2 |
space = int32(round(linspace(0,pi,128) * 2^16)) |
|
3 |
costable = int32(round(cos(linspace(0,pi,128)) * 2^16)); |
|
4 |
sintable = int32(round(sin(linspace(0,pi,128)) * 2^16)); |
|
2 |
TABLE_LENGTH = 64; |
|
5 | 3 |
|
4 |
space = int32(round(linspace(0, pi/2, TABLE_LENGTH) * 2^16)); |
|
5 |
costable = int32(round(cos(linspace(0, pi/2, TABLE_LENGTH)) * 2^16)); |
|
6 |
|
|
6 | 7 |
space_file = fopen('space_table.txt', 'w'); |
7 | 8 |
cos_file = fopen('cos_table.txt', 'w'); |
8 |
sin_file = fopen('sin_table.txt', 'w'); |
|
9 | 9 |
|
10 | 10 |
for i=1:length(space) |
11 | 11 |
fprintf(space_file, '%d, ', space(i)); |
... | ... | |
20 | 20 |
fprintf(cos_file, '\n'); |
21 | 21 |
end |
22 | 22 |
end |
23 |
|
|
24 |
for i=1:length(sintable) |
|
25 |
fprintf(sin_file, '%d, ', sintable(i)); |
|
26 |
if ~mod(i,8) |
|
27 |
fprintf(sin_file, '\n'); |
|
28 |
end |
|
29 |
end |
|
30 |
|
Also available in: Unified diff