mirror of
https://github.com/pocketpy/pocketpy
synced 2026-03-21 20:50:16 +00:00
25 lines
711 B
Python
25 lines
711 B
Python
import math
|
|
|
|
def generate_sin_table(num_points = 4096 + 1):
|
|
y_step = 1.0 / (num_points - 1)
|
|
sin_table = []
|
|
for i in range(num_points):
|
|
y = i * y_step
|
|
x = math.asin(y)
|
|
x = max(0, min(x, math.pi / 2))
|
|
sin_table.append(x)
|
|
return sin_table
|
|
|
|
if __name__ == "__main__":
|
|
sin_table = generate_sin_table()
|
|
print(len(sin_table))
|
|
# print(sin_table)
|
|
|
|
filepath = 'include/pocketpy/common/_sin_table.h'
|
|
with open(filepath, 'w') as f:
|
|
f.write('static const double _sin_table[] = {')
|
|
for i, val in enumerate(sin_table):
|
|
if i % 8 == 0:
|
|
f.write('\n ')
|
|
f.write(str(val) + ', ')
|
|
f.write('\n};\n') |