Ticket #9880: trac_9880-add_doctests-sage_5_10_beta2.patch

File trac_9880-add_doctests-sage_5_10_beta2.patch, 4.4 KB (added by burcin, 8 years ago)
  • sage/symbolic/expression.pyx

    # HG changeset patch
    # User Burcin Erocal <burcin@erocal.org>
    # Date 1368203410 -7200
    # Node ID efe6c7f5dceb007c61402b8aa6ac2d99be2d2f81
    # Parent  68741d5e87401796c63262dd9f4bcd6fc602544b
    trac #9880: Add doctests to verify test cases that used to crash.
    
    diff --git a/sage/symbolic/expression.pyx b/sage/symbolic/expression.pyx
    a b  
    27742774            0.9092974268256817
    27752775            sage: float(sin(SR(1)))
    27762776            0.8414709848078965
     2777
     2778        TESTS:
     2779
     2780        Check that :trac:`9880` is fixed::
     2781
     2782            sage: b = [var('b_%s'%i) for i in range(4)]
     2783            sage: precomp = (2^b_2 + 2)*(2^b_1 + 2^(-b_1) + 2^b_1*2^b_0 - \
     2784                        2^b_1*2^(-b_0) - 2^(-b_1)*2^b_0 - 2^(-b_1)*2^(-b_0) + \
     2785                        2^b_0 + 2^(-b_0) - 9) + (2^b_1 + 2^(-b_1) + \
     2786                        2^b_1*2^b_0 - 2^b_1*2^(-b_0) - 2^(-b_1)*2^b_0 - \
     2787                         2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9)/2^b_2
     2788            sage: repl_dict = {b_0: b_0, b_3: b_1, b_2: b_3, b_1: b_2}
     2789            sage: P = precomp.substitute(repl_dict)
     2790            sage: P.expand()
     2791            -2^(-b_0)*2^(-b_2)*2^b_3 - 2^b_0*2^(-b_2)*2^b_3 -
     2792            2^(-b_0)*2^b_2*2^b_3 + 2^b_0*2^b_2*2^b_3 - 2*2^(-b_0)*2^(-b_2)
     2793            - 2*2^b_0*2^(-b_2) - 2*2^(-b_0)*2^b_2 + 2*2^b_0*2^b_2 +
     2794            2^(-b_0)*2^b_3 + 2^b_0*2^b_3 + 2^(-b_2)*2^b_3 + 2^b_2*2^b_3 +
     2795            2*2^(-b_0) + 2*2^b_0 + 2*2^(-b_2) + 2*2^b_2 - 9*2^b_3 -
     2796            2^(-b_0)*2^(-b_2)/2^b_3 - 2^b_0*2^(-b_2)/2^b_3 -
     2797            2^(-b_0)*2^b_2/2^b_3 + 2^b_0*2^b_2/2^b_3 + 2^(-b_0)/2^b_3 +
     2798            2^b_0/2^b_3 + 2^(-b_2)/2^b_3 + 2^b_2/2^b_3 - 9/2^b_3 - 18
     2799
     2800            sage: _0,b_1,b_2=var('b_0,b_1,b_2')
     2801            sage: f = 1/27*b_2^2/(2^b_2)^2 + 1/27*b_1^2/(2^b_1)^2 + \
     2802            1/27*b_0^2/(2^b_0)^2 + 1/27*b_2/(2^b_2)^2 - 2/81/(2^b_2)^2 + \
     2803            1/27*b_1/(2^b_1)^2 + 8/243/(2^b_2)^2 - 1/81*b_0/(2^b_0)^2 - \
     2804            1/27*b_1^2/((2^b_2)^2*(2^b_1)^2) - \
     2805            1/27*b_0^2/((2^b_2)^2*(2^b_0)^2) - 20/243/(2^b_1)^2 + 1/9/2^b_0 \
     2806            + 4/81*b_0/(2^b_0)^2 - 8/243/(2^b_2)^2 - 2/9/(2^b_2*2^b_1) - \
     2807            2/9/(2^b_2*2^b_0) + 8/243/(2^b_1)^2 - 1/9/2^b_0 + \
     2808            2/9/(2^b_2*2^b_1) + 2/9/(2^b_2*2^b_0) - \
     2809            2/27*b_1*b_2/((2^b_2)^2*(2^b_1)^2) - \
     2810            1/27*b_2^2/((2^b_2)^2*(2^b_1)^2) - \
     2811            2/27*b_0*b_2/((2^b_2)^2*(2^b_0)^2) - \
     2812            1/27*b_2^2/((2^b_2)^2*(2^b_0)^2) + 2/81/(2^b_1)^2 - \
     2813            1/27*b_0^2/((2^b_1)^2*(2^b_0)^2) - \
     2814            2/27*b_0*b_1/((2^b_1)^2*(2^b_0)^2) - \
     2815            1/27*b_1^2/((2^b_1)^2*(2^b_0)^2) - 2/81/(2^b_0)^2 + \
     2816            5/27*b_1/((2^b_2)^2*(2^b_1)^2) + 5/27*b_2/((2^b_2)^2*(2^b_1)^2) \
     2817            + 5/27*b_0/((2^b_2)^2*(2^b_0)^2) + \
     2818            5/27*b_2/((2^b_2)^2*(2^b_0)^2) + 5/27*b_0/((2^b_1)^2*(2^b_0)^2) \
     2819            + 5/27*b_1/((2^b_1)^2*(2^b_0)^2) - 4/81/((2^b_2)^2*(2^b_1)^2) + \
     2820            1/27*b_0^2/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + \
     2821            2/27*b_0*b_1/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + \
     2822            2/27*b_0*b_2/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + \
     2823            1/27*b_1^2/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + \
     2824            2/27*b_1*b_2/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + \
     2825            1/27*b_2^2/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) - \
     2826            4/81/((2^b_2)^2*(2^b_0)^2) - 4/81/((2^b_1)^2*(2^b_0)^2) - \
     2827            11/27*b_0/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) - \
     2828            11/27*b_1/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) - \
     2829            11/27*b_2/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + \
     2830            64/81/((2^b_2)^2*(2^b_1)^2*(2^b_0)^2) + 35/81 \
     2831            sage: f.nops()
     2832            38
     2833
     2834            sage: x,y,z = var('x y z');
     2835            sage: print (-x+z)*(3*x-3*z)
     2836            -3*(x - z)^2
     2837
     2838            sage: t = var('t')
     2839            sage: (x-t)^3
     2840            -(t - x)^3
     2841            sage: (-t+x)^3
     2842            -(t - x)^3
     2843            sage: (-x+t)^3
     2844            (t - x)^3
     2845
     2846        This example is from :trac:`10833`::
     2847
     2848            sage: R.<x,c> = PolynomialRing(QQ,2)
     2849            sage: phi(x) = x^2 + c
     2850            sage: def iterkate(n):
     2851            ....:     pol = x
     2852            ....:     for i in range(1,n):
     2853            ....:         pol = phi(pol)
     2854            ....:     return pol
     2855            ....:
     2856            sage: g = expand(iterkate(7))
     2857            sage: g.nops()
     2858            480
    27772859        """
    27782860        return (<Element>left)._cmp(right)
    27792861