def sincos_all_subtest(x, n, verbose=False, tol=1.0e-10): '''Test that the error in sincos_all() is <= tol.''' if verbose: print('Testing sincos(x=% -10g, n=%3d) ...' % (x, n)), # calculate with recurrence sc_r = sincos.sincos_calc_recur(x, n) # calculate with trig sc_t = sincos.sincos_calc_trig(x, n) # compare errmag = sincos_compare_recur_trig(sc_r, sc_t) if verbose: print('errmag = %g' % (errmag)) ok = (errmag <= tol) assert ok
def subtest_1(): '''Some specific test cases.''' x = 2.718281828 #x = 0.01 # calculate for n=1..3 print('Calculations with recurrence formula...') sc3a = sincos.sincos_calc_recur(x, 3) sincos.sincos_print(x, 3, sc3a) print('Calculations with explicit trig...') sc3b = sincos.sincos_calc_trig(x, 3) sincos.sincos_print(x, 3, sc3b) # calculate for n=1..8 print('Recurrence for n=1..8...') sc8 = sincos.sincos_calc_recur(x, 8) sincos.sincos_print(x, 8, sc8) # test case for n=1..8 print('Test case for n=1..8...') sincos_all_subtest(x, 8, verbose=True) # s*s + c*c = 1 test sincos_check_unit(sc8, verbose=True)