Example #1
0
def sincos_check_unit_subtest(x, n, verbose=False, tol=1.0e-10):
    '''Return whether the error in sincos_all() is <= tol.'''
    if verbose:
        print('Testing sin*sin + cos*cos = 1 (x=% -10g, n=%3d) ...' % (x, n)),
    sc = sincos.sincos_calc_recur(x, n)
    errsum = sincos_check_unit(sc, verbose=verbose, tol=tol)
    if verbose:
        print('errsum = %g' % (errsum))
Example #2
0
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)
Example #3
0
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
Example #4
0
def doit(x, n):
    '''Calculate sin(i*x),cos(i*x) for i=1..n using recurrence formula.'''
    sc = sincos.sincos_calc_recur(x, n)
    sincos.sincos_print(x, n, sc)
    return sc