B .^ @sddlmZmZmZmZddlmZdZddZddZ d d Z d d Z d dZ ee e e e gZ GdddZGdddeZdS))logpisinsqrt)o8g|=cCsR||kr"|tkrdSd||Sn,||}d|}|tkr>dSdd||SdS)Ngg?g?)EPSILON)middleposr 8/tmp/pip-install-mwhup7aw/Pillow/PIL/GimpGradientFile.pylinearsr cCs|tdtt|tS)Ng?)rmaxr)r r r r r curved,srcCs$tt dtt||ddS)Ng@g?)rrr )r r r r r sine0srcCstdt||ddS)Ng?)rr )r r r r r sphere_increasing4srcCsdtdt||dS)Ng?r)rr )r r r r r sphere_decreasing8src@seZdZdZdddZdS) GradientFileNcCsvg}d}|j|\}}}}}} xFt|D]8} | |d} x*|| krf|d7}|j|\}}}}}} q>W||} | tkr| dd} n| ||| | || } ttd|d|d| |dd}ttd|d|d| |dd}ttd|d|d| |dd}ttd|d|d| |dd}|||||q*Wd|dfS) Nrrg?rZRGBA)gradientrangerrintappendjoin)selfentriesZpaletteixx0x1xmrgb0rgb1segmentixwZscalergbar r r getpaletteCs$   ,,,,zGradientFile.getpalette)r)__name__ __module__ __qualname__rr.r r r r r?src@seZdZddZdS)GimpGradientFilec Cs|dddkrtd|}|dr:|}t|}g}xt|D]}|}dd|ddD}|d|d }} |d } |d d } |d d} tt|d} t|d }|dkrtd| || | | | | fqPW||_ dS)N s GIMP Gradientznot a GIMP gradient filesName: cSsg|] }t|qSr )float).0r(r r r |sz-GimpGradientFile.__init__.. rrrr zcannot handle HSV colour space) readline SyntaxError startswithstriprrsplitSEGMENTSOSErrorrr)rfplinecountrr'sr)r!r"r#r$r%r&Zcspacer r r __init__js(      zGimpGradientFile.__init__N)r/r0r1rEr r r r r2isr2N)mathrrrr_binaryrrr rrrrr?rr2r r r r s *