def test_fcode_NumberSymbol(): prec = 17 p = FCodePrinter() assert fcode( Catalan ) == " parameter (Catalan = %sd0)\n Catalan" % Catalan.evalf( prec) assert fcode( EulerGamma ) == " parameter (EulerGamma = %sd0)\n EulerGamma" % EulerGamma.evalf( prec) assert fcode(E) == " parameter (E = %sd0)\n E" % E.evalf(prec) assert fcode( GoldenRatio ) == " parameter (GoldenRatio = %sd0)\n GoldenRatio" % GoldenRatio.evalf( prec) assert fcode( pi) == " parameter (pi = %sd0)\n pi" % pi.evalf(prec) assert fcode( pi, precision=5) == " parameter (pi = %sd0)\n pi" % pi.evalf(5) assert fcode(Catalan, human=False) == ( set([(Catalan, p._print(Catalan.evalf(prec)))]), set([]), " Catalan", ) assert fcode(EulerGamma, human=False) == ( set([(EulerGamma, p._print(EulerGamma.evalf(prec)))]), set([]), " EulerGamma", ) assert fcode(E, human=False) == ( set([(E, p._print(E.evalf(prec)))]), set([]), " E", ) assert fcode(GoldenRatio, human=False) == ( set([(GoldenRatio, p._print(GoldenRatio.evalf(prec)))]), set([]), " GoldenRatio", ) assert fcode(pi, human=False) == ( set([(pi, p._print(pi.evalf(prec)))]), set([]), " pi", ) assert fcode(pi, precision=5, human=False) == ( set([(pi, p._print(pi.evalf(5)))]), set([]), " pi", )
def test_fcode_NumberSymbol(): p = FCodePrinter() assert fcode( Catalan ) == ' parameter (Catalan = 0.915965594177219d0)\n Catalan' assert fcode( EulerGamma ) == ' parameter (EulerGamma = 0.577215664901533d0)\n EulerGamma' assert fcode(E) == ' parameter (E = 2.71828182845905d0)\n E' assert fcode( GoldenRatio ) == ' parameter (GoldenRatio = 1.61803398874989d0)\n GoldenRatio' assert fcode(pi) == ' parameter (pi = 3.14159265358979d0)\n pi' assert fcode(pi, precision=5) == ' parameter (pi = 3.1416d0)\n pi' assert fcode(Catalan, human=False) == (set([ (Catalan, p._print(Catalan.evalf(15))) ]), set([]), ' Catalan') assert fcode(EulerGamma, human=False) == (set([ (EulerGamma, p._print(EulerGamma.evalf(15))) ]), set([]), ' EulerGamma') assert fcode(E, human=False) == (set([(E, p._print(E.evalf(15)))]), set([]), ' E') assert fcode(GoldenRatio, human=False) == (set([ (GoldenRatio, p._print(GoldenRatio.evalf(15))) ]), set([]), ' GoldenRatio') assert fcode(pi, human=False) == (set([(pi, p._print(pi.evalf(15)))]), set([]), ' pi') assert fcode(pi, precision=5, human=False) == (set([ (pi, p._print(pi.evalf(5))) ]), set([]), ' pi')
def test_fcode_NumberSymbol(): assert fcode( Catalan ) == ' parameter (Catalan = 0.915965594177219)\n Catalan' assert fcode( EulerGamma ) == ' parameter (EulerGamma = 0.577215664901533)\n EulerGamma' assert fcode(E) == ' parameter (E = 2.71828182845905)\n E' assert fcode( GoldenRatio ) == ' parameter (GoldenRatio = 1.61803398874989)\n GoldenRatio' assert fcode(pi) == ' parameter (pi = 3.14159265358979)\n pi' assert fcode(pi, precision=5) == ' parameter (pi = 3.1416)\n pi' assert fcode(Catalan, human=False) == ([('Catalan', Catalan.evalf(15))], set([]), ' Catalan') assert fcode(EulerGamma, human=False) == ([('EulerGamma', EulerGamma.evalf(15))], set([]), ' EulerGamma') assert fcode(E, human=False) == ([('E', E.evalf(15))], set([]), ' E') assert fcode(GoldenRatio, human=False) == ([('GoldenRatio', GoldenRatio.evalf(15))], set([]), ' GoldenRatio') assert fcode(pi, human=False) == ([('pi', pi.evalf(15))], set([]), ' pi') assert fcode(pi, precision=5, human=False) == ([('pi', pi.evalf(5))], set([]), ' pi')
def test_issue1512(): assert abs(pi._evalf(50) - 3.14159265358979) < 1e-10 assert abs(E._evalf(50) - 2.71828182845905) < 1e-10 assert abs(Catalan._evalf(50) - 0.915965594177219) < 1e-10 assert abs(EulerGamma._evalf(50) - 0.577215664901533) < 1e-10 assert abs(GoldenRatio._evalf(50) - 1.61803398874989) < 1e-10 x = Symbol("x") assert (pi+x).evalf() == pi.evalf()+x assert (E+x).evalf() == E.evalf()+x assert (Catalan+x).evalf() == Catalan.evalf()+x assert (EulerGamma+x).evalf() == EulerGamma.evalf()+x assert (GoldenRatio+x).evalf() == GoldenRatio.evalf()+x
def test_issue_4611(): assert abs(pi._evalf(50) - 3.14159265358979) < 1e-10 assert abs(E._evalf(50) - 2.71828182845905) < 1e-10 assert abs(Catalan._evalf(50) - 0.915965594177219) < 1e-10 assert abs(EulerGamma._evalf(50) - 0.577215664901533) < 1e-10 assert abs(GoldenRatio._evalf(50) - 1.61803398874989) < 1e-10 x = Symbol("x") assert (pi + x).evalf() == pi.evalf() + x assert (E + x).evalf() == E.evalf() + x assert (Catalan + x).evalf() == Catalan.evalf() + x assert (EulerGamma + x).evalf() == EulerGamma.evalf() + x assert (GoldenRatio + x).evalf() == GoldenRatio.evalf() + x
def test_fcode_NumberSymbol(): assert fcode(Catalan) == ' parameter (Catalan = 0.915965594177219)\n Catalan' assert fcode(EulerGamma) == ' parameter (EulerGamma = 0.577215664901533)\n EulerGamma' assert fcode(E) == ' parameter (E = 2.71828182845905)\n E' assert fcode(GoldenRatio) == ' parameter (GoldenRatio = 1.61803398874989)\n GoldenRatio' assert fcode(pi) == ' parameter (pi = 3.14159265358979)\n pi' assert fcode(pi,precision=5) == ' parameter (pi = 3.1416)\n pi' assert fcode(Catalan,human=False) == ([('Catalan', Catalan.evalf(15))], set([]), ' Catalan') assert fcode(EulerGamma,human=False) == ([('EulerGamma', EulerGamma.evalf(15))], set([]), ' EulerGamma') assert fcode(E,human=False) == ([('E', E.evalf(15))], set([]), ' E') assert fcode(GoldenRatio,human=False) == ([('GoldenRatio', GoldenRatio.evalf(15))], set([]), ' GoldenRatio') assert fcode(pi,human=False) == ([('pi', pi.evalf(15))], set([]), ' pi') assert fcode(pi,precision=5,human=False) == ([('pi', pi.evalf(5))], set([]), ' pi')
def test_fcode_NumberSymbol(): p = FCodePrinter() assert fcode(Catalan) == ' parameter (Catalan = 0.915965594177219d0)\n Catalan' assert fcode(EulerGamma) == ' parameter (EulerGamma = 0.577215664901533d0)\n EulerGamma' assert fcode(E) == ' parameter (E = 2.71828182845905d0)\n E' assert fcode(GoldenRatio) == ' parameter (GoldenRatio = 1.61803398874989d0)\n GoldenRatio' assert fcode(pi) == ' parameter (pi = 3.14159265358979d0)\n pi' assert fcode(pi,precision=5) == ' parameter (pi = 3.1416d0)\n pi' assert fcode(Catalan,human=False) == (set([(Catalan, p._print(Catalan.evalf(15)))]), set([]), ' Catalan') assert fcode(EulerGamma,human=False) == (set([(EulerGamma, p._print(EulerGamma.evalf(15)))]), set([]), ' EulerGamma') assert fcode(E,human=False) == (set([(E, p._print(E.evalf(15)))]), set([]), ' E') assert fcode(GoldenRatio,human=False) == (set([(GoldenRatio, p._print(GoldenRatio.evalf(15)))]), set([]), ' GoldenRatio') assert fcode(pi,human=False) == (set([(pi, p._print(pi.evalf(15)))]), set([]), ' pi') assert fcode(pi,precision=5,human=False) == (set([(pi, p._print(pi.evalf(5)))]), set([]), ' pi')
def test_fcode_NumberSymbol(): prec = 17 p = FCodePrinter() assert fcode( Catalan ) == ' parameter (Catalan = %sd0)\n Catalan' % Catalan.evalf( prec) assert fcode( EulerGamma ) == ' parameter (EulerGamma = %sd0)\n EulerGamma' % EulerGamma.evalf( prec) assert fcode(E) == ' parameter (E = %sd0)\n E' % E.evalf(prec) assert fcode( GoldenRatio ) == ' parameter (GoldenRatio = %sd0)\n GoldenRatio' % GoldenRatio.evalf( prec) assert fcode( pi) == ' parameter (pi = %sd0)\n pi' % pi.evalf(prec) assert fcode( pi, precision=5) == ' parameter (pi = %sd0)\n pi' % pi.evalf(5) assert fcode(Catalan, human=False) == (set([ (Catalan, p._print(Catalan.evalf(prec))) ]), set([]), ' Catalan') assert fcode(EulerGamma, human=False) == (set([ (EulerGamma, p._print(EulerGamma.evalf(prec))) ]), set([]), ' EulerGamma') assert fcode(E, human=False) == (set([(E, p._print(E.evalf(prec)))]), set([]), ' E') assert fcode(GoldenRatio, human=False) == (set([ (GoldenRatio, p._print(GoldenRatio.evalf(prec))) ]), set([]), ' GoldenRatio') assert fcode(pi, human=False) == (set([(pi, p._print(pi.evalf(prec)))]), set([]), ' pi') assert fcode(pi, precision=5, human=False) == (set([ (pi, p._print(pi.evalf(5))) ]), set([]), ' pi')
def test_fcode_NumberSymbol(): prec = 17 p = FCodePrinter() assert fcode(Catalan) == ' parameter (Catalan = %sd0)\n Catalan' % Catalan.evalf(prec) assert fcode(EulerGamma) == ' parameter (EulerGamma = %sd0)\n EulerGamma' % EulerGamma.evalf(prec) assert fcode(E) == ' parameter (E = %sd0)\n E' % E.evalf(prec) assert fcode(GoldenRatio) == ' parameter (GoldenRatio = %sd0)\n GoldenRatio' % GoldenRatio.evalf(prec) assert fcode(pi) == ' parameter (pi = %sd0)\n pi' % pi.evalf(prec) assert fcode( pi, precision=5) == ' parameter (pi = %sd0)\n pi' % pi.evalf(5) assert fcode(Catalan, human=False) == (set( [(Catalan, p._print(Catalan.evalf(prec)))]), set([]), ' Catalan') assert fcode(EulerGamma, human=False) == (set([(EulerGamma, p._print( EulerGamma.evalf(prec)))]), set([]), ' EulerGamma') assert fcode(E, human=False) == ( set([(E, p._print(E.evalf(prec)))]), set([]), ' E') assert fcode(GoldenRatio, human=False) == (set([(GoldenRatio, p._print( GoldenRatio.evalf(prec)))]), set([]), ' GoldenRatio') assert fcode(pi, human=False) == ( set([(pi, p._print(pi.evalf(prec)))]), set([]), ' pi') assert fcode(pi, precision=5, human=False) == ( set([(pi, p._print(pi.evalf(5)))]), set([]), ' pi')
def main(): setup_matplotlib_rc() expr = get_CRAM_from_cache(degree, prec) c = 1 / GoldenRatio.evalf() * degree # Get the translated approximation on [-1, 1]. This is similar logic from CRAM_exp(). n, d = map(Poly, fraction(expr)) inv = -c * (t + 1) / (t - 1) p, q = map(lambda i: Poly(i, t), fraction(inv)) n, d = n.transform(p, q), d.transform(p, q) rat_func = n / d.TC() / (d / d.TC()) rat_func = rat_func.evalf(prec) plt.clf() fig, (ax1, ax2) = plt.subplots(1, 2, sharey=False) fig.set_size_inches(1.5 * 6.4, 1.5 / 2 * 4.8) plot_in_terminal(rat_func - exp(-inv), (-1, 1.01), prec=prec, points=points, axes=ax1) ax1.set_xlabel(r'$t$') ax1.set_ylabel( r'$\hat{r}_{14, 14}\left (c\frac{t+1}{t-1}\right ) - e^{-c\frac{t+1}{t-1}}$' ) plot_in_terminal(expr - exp(-t), (0, 100), prec=prec, points=points, axes=ax2) ax2.set_xlabel(r'$t$') ax2.set_ylabel(r'$\hat{r}_{14, 14}(t) - e^{-t}$') plt.tight_layout() plt.savefig('cram-plot.pgf')