3 from python_sin_cos
import run_cordic
6 class SoftwareTestCase(unittest
.TestCase
):
7 def test_extrabits(self
):
12 for i
in range(200000):
13 f
= random
.uniform(-math
.pi
/2, math
.pi
/2)
16 print(f
"int: {i}, float:{f}")
17 i
= i
* (1<<extrabits
)
19 expected
= int(round(math
.sin(f
) * M
))
21 sin
, cos
= run_cordic(i
,
22 fracbits
=(fracbits
+extrabits
),
24 sin
= int(round(sin
/ (1<<extrabits
)))
26 print(f
"expected: {expected}, actual: {sin}")
27 self
.assertEqual(expected
, sin
)
30 if __name__
== '__main__':