Ticket #9958: trac_9958-fixing_colorspy.patch

File trac_9958-fixing_colorspy.patch, 13.6 KB (added by fbissey, 10 years ago)

49 failures in colors.py, numerical noise except one.

  • sage/plot/colors.py

    # HG changeset patch
    # User Francois Bissey <francois.bissey@canterbury.ac.nz>
    # Date 1303957076 -43200
    # Node ID 767af29c56c0476219fff2eaae7aadcc8616b53d
    # Parent  12bee39094fcfcd2816f72ab80640fd03b674136
    #9958 fixing numerical noise and assertion error in colors.py
    
    diff --git a/sage/plot/colors.py b/sage/plot/colors.py
    a b  
    251251        sage: html_to_float('#fff')
    252252        (1.0, 1.0, 1.0)
    253253        sage: html_to_float('#abcdef')
    254         (0.6705882352941176, 0.80392156862745101, 0.93725490196078431)
     254        (0.6705882352941176, 0.803921568627451, 0.9372549019607843)
    255255        sage: html_to_float('#123xyz')
    256256        Traceback (most recent call last):
    257257        ...
     
    290290
    291291        sage: from sage.plot.colors import rgbcolor
    292292        sage: rgbcolor(Color(0.25, 0.4, 0.9))
    293         (0.25, 0.40000000000000002, 0.90000000000000002)
     293        (0.25, 0.4, 0.9)
    294294        sage: rgbcolor('purple')
    295         (0.50196078431372548, 0.0, 0.50196078431372548)
     295        (0.5019607843137255, 0.0, 0.5019607843137255)
    296296        sage: rgbcolor('#fa0')
    297         (1.0, 0.66666666666666663, 0.0)
     297        (1.0, 0.6666666666666666, 0.0)
    298298        sage: rgbcolor('#ffffff')
    299299        (1.0, 1.0, 1.0)
    300300        sage: rgbcolor((1,1/2,1/3))
    301         (1.0, 0.5, 0.33333333333333331)
     301        (1.0, 0.5, 0.3333333333333333)
    302302        sage: rgbcolor([1,1/2,1/3])
    303         (1.0, 0.5, 0.33333333333333331)
     303        (1.0, 0.5, 0.3333333333333333)
    304304        sage: rgbcolor((1,1,1), space='hsv')
    305305        (1.0, 0.0, 0.0)
    306306        sage: rgbcolor((0.5,0.75,1), space='hls')
    307         (0.5, 0.99999999999999989, 1.0)
     307        (0.5, 0.9999999999999999, 1.0)
    308308        sage: rgbcolor((0.5,1.0,0.75), space='hsl')
    309         (0.5, 0.99999999999999989, 1.0)
     309        (0.5, 0.9999999999999999, 1.0)
    310310        sage: rgbcolor([1,2,255])   # WARNING -- numbers are reduced mod 1!!
    311311        (1.0, 0.0, 0.0)
    312312        sage: rgbcolor('#abcd')
     
    393393        EXAMPLES::
    394394
    395395            sage: Color('purple')
    396             RGB color (0.50196078431372548, 0.0, 0.50196078431372548)
     396            RGB color (0.5019607843137255, 0.0, 0.5019607843137255)
    397397            sage: Color('#8000ff')
    398             RGB color (0.50196078431372548, 0.0, 1.0)
     398            RGB color (0.5019607843137255, 0.0, 1.0)
    399399            sage: Color(0.5,0,1)
    400400            RGB color (0.5, 0.0, 1.0)
    401401            sage: Color(0.5, 1.0, 1, space='hsv')
    402402            RGB color (0.0, 1.0, 1.0)
    403403            sage: Color(0.25, 0.5, 0.5, space='hls')
    404             RGB color (0.50000000000000011, 0.75, 0.25)
     404            RGB color (0.5000000000000001, 0.75, 0.25)
    405405            sage: Color(1, 0, 1/3, space='hsl')
    406             RGB color (0.33333333333333331, 0.33333333333333331, 0.33333333333333331)
     406            RGB color (0.3333333333333333, 0.3333333333333333, 0.3333333333333333)
    407407            sage: from sage.plot.colors import chocolate
    408408            sage: Color(chocolate)
    409             RGB color (0.82352941176470584, 0.41176470588235292, 0.11764705882352941)
     409            RGB color (0.8235294117647058, 0.4117647058823529, 0.11764705882352941)
    410410        """
    411411        if g is None and b is None:
    412412            self.__rgb = rgbcolor(r)
     
    424424        EXAMPLES::
    425425
    426426            sage: Color('#8000ff').__repr__()
    427             'RGB color (0.50196078431372548, 0.0, 1.0)'
     427            'RGB color (0.5019607843137255, 0.0, 1.0)'
    428428            sage: Color(1, 0.5, 1/16, space='hsl').__repr__()
    429429            'RGB color (0.09375, 0.03125, 0.03125)'
    430430        """
     
    458458            sage: red.blend(blue, fraction=1.0)
    459459            RGB color (0.0, 0.0, 1.0)
    460460            sage: lime.blend((0.3, 0.5, 0.7))
    461             RGB color (0.14999999999999999, 0.75, 0.34999999999999998)
     461            RGB color (0.15, 0.75, 0.35)
    462462            sage: blue.blend(blue)
    463463            RGB color (0.0, 0.0, 1.0)
    464464            sage: red.blend(lime, fraction=0.3)
    465             RGB color (0.69999999999999996, 0.29999999999999999, 0.0)
     465            RGB color (0.7, 0.3, 0.0)
    466466            sage: blue.blend((0.0, 0.9, 0.2), fraction=0.2)
    467             RGB color (0.0, 0.18000000000000002, 0.84000000000000008)
     467            RGB color (0.0, 0.18000000000000002, 0.8400000000000001)
    468468            sage: red.blend(0.2)
    469469            Traceback (most recent call last):
    470470            ...
     
    507507            ...
    508508            TypeError: 0.100000000000000 must be a Color or float-convertible 3-tuple/list
    509509            sage: c2 + [0.5, 0.2, 0.9]
    510             RGB color (0.57199999999999995, 0.44999999999999996, 0.66000000000000003)
     510            RGB color (0.572, 0.44999999999999996, 0.66)
    511511            sage: c1.__add__(red).__add__((0.9, 0.2, 1/3))
    512             RGB color (0.72500000000000009, 0.22500000000000001, 0.3666666666666667)
     512            RGB color (0.7250000000000001, 0.225, 0.3666666666666667)
    513513            sage: c1 + c2
    514             RGB color (0.37199999999999994, 0.59999999999999998, 0.60999999999999999)
     514            RGB color (0.37199999999999994, 0.6, 0.61)
    515515        """
    516516        return self.blend(right)
    517517
     
    533533
    534534            sage: from sage.plot.colors import olive, orchid
    535535            sage: olive + orchid
    536             RGB color (0.67843137254901964, 0.47058823529411764, 0.41960784313725491)
     536            RGB color (0.6784313725490196, 0.47058823529411764, 0.4196078431372549)
    537537            sage: d1 = Color(0.1, 0.5, 0.8, space='hls'); d2 = Color(0.2, 0.4, 0.7)
    538538            sage: [0.5, 0.2, 0.9] + d2
    539             RGB color (0.34999999999999998, 0.30000000000000004, 0.80000000000000004)
     539            RGB color (0.35, 0.30000000000000004, 0.8)
    540540            sage: 0.1 + d1
    541541            Traceback (most recent call last):
    542542            ...
    543543            TypeError: 0.100000000000000 must be a Color or float-convertible 3-tuple/list
    544544            sage: d2.__radd__(Color('brown')).__radd__((0.9, 0.2, 1/3))
    545             RGB color (0.66176470588235303, 0.2411764705882353, 0.38284313725490193)
     545            RGB color (0.661764705882353, 0.2411764705882353, 0.38284313725490193)
    546546        """
    547547        return self + left
    548548
     
    567567            RGB color (0.125, 0.125, 0.0)
    568568            sage: from sage.plot.colors import cyan, grey, indianred
    569569            sage: cyan * 0.3 + grey * 0.1 + indianred * 0.6
    570             RGB color (0.25372549019607843, 0.19578431372549021, 0.19578431372549021)
     570            RGB color (0.25372549019607843, 0.1957843137254902, 0.1957843137254902)
    571571            sage: indianred.__mul__(42)
    572             RGB color (0.76470588235294201, 0.15294117647058769, 0.15294117647058769)
     572            RGB color (0.764705882352942, 0.1529411764705877, 0.1529411764705877)
    573573        """
    574574        right = float(right)
    575575        return Color([x * right for x in self.__rgb])
     
    591591
    592592            sage: from sage.plot.colors import aqua, cornsilk, tomato
    593593            sage: 0.3 * aqua
    594             RGB color (0.0, 0.29999999999999999, 0.29999999999999999)
     594            RGB color (0.0, 0.3, 0.3)
    595595            sage: Color('indianred').__rmul__(42)
    596             RGB color (0.76470588235294201, 0.15294117647058769, 0.15294117647058769)
     596            RGB color (0.764705882352942, 0.1529411764705877, 0.1529411764705877)
    597597        """
    598598        return self * left
    599599
     
    619619            sage: yellow.__div__(4)
    620620            RGB color (0.25, 0.25, 0.0)
    621621            sage: (papayawhip + Color(0.5, 0.5, 0.1) + yellow) / 3.0
    622             RGB color (0.29166666666666663, 0.28643790849673201, 0.077941176470588236)
     622            RGB color (0.29166666666666663, 0.286437908496732, 0.07794117647058824)
    623623            sage: vector((papayawhip / 2).rgb()) == vector((papayawhip * 0.5).rgb())
    624624            True
    625625            sage: yellow.__div__(1/4)
     
    627627            sage: Color('black') / 0.0
    628628            Traceback (most recent call last):
    629629            ...
    630             ZeroDivisionError: float division
     630            ZeroDivisionError: float division by zero
    631631            sage: papayawhip / yellow
    632632            Traceback (most recent call last):
    633633            ...
     
    701701            sage: r
    702702            0.11764705882352941
    703703            sage: g
    704             0.56470588235294117
     704            0.5647058823529412
    705705            sage: b
    706706            1.0
    707707            sage: vector(maroon) == vector(Color(maroon)) == vector(Color('maroon'))
     
    726726
    727727            sage: from sage.plot.colors import crimson, midnightblue
    728728            sage: Color('#badfad')[0]
    729             0.72941176470588232
     729            0.7294117647058823
    730730            sage: (crimson[0], crimson[1], crimson[2]) == crimson.rgb()
    731731            True
    732732            sage: midnightblue[2] == midnightblue[-1]
     
    750750        EXAMPLES::
    751751
    752752            sage: Color(0.3, 0.5, 0.7).rgb()
    753             (0.29999999999999999, 0.5, 0.69999999999999996)
     753            (0.3, 0.5, 0.7)
    754754            sage: Color('#8000ff').rgb()
    755             (0.50196078431372548, 0.0, 1.0)
     755            (0.5019607843137255, 0.0, 1.0)
    756756            sage: from sage.plot.colors import orange
    757757            sage: orange.rgb()
    758758            (1.0, 0.6470588235294118, 0.0)
    759759            sage: Color('magenta').rgb()
    760760            (1.0, 0.0, 1.0)
    761761            sage: Color(1, 0.7, 0.9, space='hsv').rgb()
    762             (0.90000000000000002, 0.27000000000000007, 0.27000000000000007)
     762            (0.9, 0.2700000000000001, 0.2700000000000001)
    763763        """
    764764        return self.__rgb
    765765
     
    775775        EXAMPLES::
    776776
    777777            sage: Color(0.3, 0.5, 0.7, space='hls').hls()
    778             (0.30000000000000004, 0.5, 0.69999999999999996)
     778            (0.30000000000000004, 0.5, 0.7)
    779779            sage: Color(0.3, 0.5, 0.7, space='hsl').hls()
    780             (0.30000000000000004, 0.69999999999999996, 0.50000000000000011)
     780            (0.30000000000000004, 0.7, 0.5000000000000001)
    781781            sage: Color('#aabbcc').hls()
    782             (0.58333333333333337, 0.73333333333333339, 0.25000000000000017)
     782            (0.5833333333333334, 0.7333333333333334, 0.25000000000000017)
    783783            sage: from sage.plot.colors import orchid
    784784            sage: orchid.hls()
    785             (0.83962264150943389, 0.64705882352941169, 0.58888888888888891)
     785            (0.8396226415094339, 0.6470588235294117, 0.5888888888888889)
    786786        """
    787787        return tuple(map(float, rgb_to_hls(*self.__rgb)))
    788788
     
    801801            (0.0, 1.0, 0.5)
    802802            sage: from sage.plot.colors import orchid
    803803            sage: orchid.hsl()
    804             (0.83962264150943389, 0.58888888888888891, 0.64705882352941169)
     804            (0.8396226415094339, 0.5888888888888889, 0.6470588235294117)
    805805            sage: Color('#aabbcc').hsl()
    806             (0.58333333333333337, 0.25000000000000017, 0.73333333333333339)
     806            (0.5833333333333334, 0.25000000000000017, 0.7333333333333334)
    807807        """
    808808        h, l, s = tuple(map(float, rgb_to_hls(*self.__rgb)))
    809809        return (h, s, l)
     
    825825            sage: Color(1,1,1).hsv()
    826826            (0.0, 0.0, 1.0)
    827827            sage: Color('gray').hsv()
    828             (0.0, 0.0, 0.50196078431372548)
     828            (0.0, 0.0, 0.5019607843137255)
    829829        """
    830830        return tuple(map(float, rgb_to_hsv(*self.__rgb)))
    831831
     
    870870
    871871            sage: from sage.plot.colors import khaki
    872872            sage: khaki.lighter()
    873             RGB color (0.96078431372549034, 0.934640522875817, 0.69934640522875824)
     873            RGB color (0.9607843137254903, 0.934640522875817, 0.6993464052287582)
    874874            sage: Color('white').lighter().darker()
    875             RGB color (0.66666666666666674, 0.66666666666666674, 0.66666666666666674)
     875            RGB color (0.6666666666666667, 0.6666666666666667, 0.6666666666666667)
    876876            sage: Color('#abcdef').lighter(1/4)
    877             RGB color (0.75294117647058822, 0.85294117647058831, 0.95294117647058818)
     877            RGB color (0.7529411764705882, 0.8529411764705883, 0.9529411764705882)
    878878            sage: Color(1, 0, 8/9, space='hsv').lighter()
    879             RGB color (0.92592592592592604, 0.92592592592592604, 0.92592592592592604)
     879            RGB color (0.925925925925926, 0.925925925925926, 0.925925925925926)
    880880        """
    881881        return self.blend((1.0, 1.0, 1.0), fraction)
    882882
     
    900900            sage: vector(black.darker().rgb()) == vector(black.rgb())
    901901            True
    902902            sage: Color(0.4, 0.6, 0.8).darker(0.1)
    903             RGB color (0.36000000000000004, 0.54000000000000004, 0.72000000000000008)
     903            RGB color (0.36000000000000004, 0.54, 0.7200000000000001)
    904904            sage: Color(.1,.2,.3,space='hsl').darker()
    905905            RGB color (0.24000000000000002, 0.20800000000000002, 0.16)
    906906        """
     
    10291029        (0.0, 0.40000000000000036, 1.0)
    10301030        sage: from sage.plot.colors import royalblue
    10311031        sage: royalblue
    1032         RGB color (0.25490196078431371, 0.41176470588235292, 0.88235294117647056)
     1032        RGB color (0.2549019607843137, 0.4117647058823529, 0.8823529411764706)
    10331033        sage: hue(*royalblue.hsv())
    1034         (0.25490196078431371, 0.41176470588235292, 0.88235294117647056)
     1034        (0.2549019607843137, 0.4117647058823529, 0.8823529411764706)
    10351035        sage: hue(.5, .5, .5)
    10361036        (0.25, 0.5, 0.5)
    10371037
     
    11201120        sage: rainbow(7)
    11211121        ['#ff0000', '#ffda00', '#48ff00', '#00ff91', '#0091ff', '#4800ff', '#ff00da']
    11221122        sage: rainbow(7, 'rgbtuple')
    1123         [(1.0, 0.0, 0.0), (1.0, 0.8571428571428571, 0.0), (0.28571428571428581, 1.0, 0.0), (0.0, 1.0, 0.57142857142857117), (0.0, 0.57142857142857162, 1.0), (0.2857142857142847, 0.0, 1.0), (1.0, 0.0, 0.85714285714285765)]
     1123        [(1.0, 0.0, 0.0), (1.0, 0.8571428571428571, 0.0), (0.2857142857142858, 1.0, 0.0), (0.0, 1.0, 0.5714285714285712), (0.0, 0.5714285714285716, 1.0), (0.2857142857142847, 0.0, 1.0), (1.0, 0.0, 0.8571428571428577)]
    11241124
    11251125    AUTHORS:
    11261126