;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:09:11 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/color.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`color.el' was compiled for Emacs 23 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301\302!\204\302B\303\302\304\305#\210\306\307\310!\311_!\210\301\207" [current-load-list boundp float-pi put variable-documentation "The value of Pi (3.1415926...)." (lambda (#1=#:defconst-tmp-var) (defconst float-pi #1#)) atan 1 4] 4)
#@445 Convert COLOR string to a list of normalized RGB components.
COLOR should be a color name (e.g. "white") or an RGB triplet
string (e.g. "#ff12ec").

Normally the return value is a list of three floating-point
numbers, (RED GREEN BLUE), each between 0.0 and 1.0 inclusive.

Optional arg FRAME specifies the frame where the color is to be
displayed.  If FRAME is omitted or nil, use the selected frame.
If FRAME cannot display COLOR, return nil.
(defalias 'color-name-to-rgb #[(color &optional frame) "\302\303\304	\"\"\207" [color frame mapcar #[(x) "\301\245\207" [x 65535.0] 2] color-values] 5 (#$ . 794)])
#@121 Return hexadecimal notation for the color RED GREEN BLUE.
RED GREEN BLUE must be numbers between 0.0 and 1.0 inclusive.
(defalias 'color-rgb-to-hex #[(red green blue) "\303\304\305_	\305_\n\305_$\207" [red green blue format "#%02x%02x%02x" 255] 6 (#$ . 1411)])
#@183 Return the color that is the complement of COLOR-NAME.
COLOR-NAME should be a string naming a color (e.g. "white"), or
a string specifying a color's RGB components (e.g. "#ff12ec").
(defalias 'color-complement #[(color-name) "\303!\304	@Z\305	\211A@)Z\306	\211AA)@ZE)\207" [color-name color x color-name-to-rgb 1.0 1.0 1.0] 5 (#$ . 1680)])
#@205 Return a list with STEP-NUMBER colors from START to STOP.
The color list builds a color gradient starting at color START to
color STOP. It does not include the START and STOP color in the
resulting list.
(defalias 'color-gradient #[(start stop step-number) "@A@\3068\f@	Z
T\245	\fA@\nZ
T\245\n\306\f8Z
T\245\307\f
\310

W\203Z		\\\211\n\n\\\211\\\211E\fB\f
T\211
\2023*\f\237.\207" [start r g b stop step-number 2 nil 0 r-step g-step b-step result n #1=#:--cl-dotimes-temp--] 5 (#$ . 2031)])
#@74 Return the color that is the complement of COLOR, in hexadecimal format.
(defalias 'color-complement-hex #[(color) "\301\302\303!\"\207" [color apply color-rgb-to-hex color-complement] 4 (#$ . 2563)])
#@262 Convert RED, GREEN, and BLUE color components to HSV.
RED, GREEN, and BLUE should each be numbers between 0.0 and 1.0,
inclusive.  Return a list (HUE, SATURATION, VALUE), where HUE is
in radians and both SATURATION and VALUE are between 0.0 and 1.0,
inclusive.
(defalias 'color-rgb-to-hsv #[(red green blue) "\306!\306\n!\306\f!	]
]	^
^Z\307W\203+\310\311\312E\202\274\313	U\203>
U\203>\314\202\241	U\203Y
Y\203Y
ZZ\245\315_\202\241	U\203v
W\203v\316
ZZ\245\315_\\\202\241U\203\215\317
	ZZ\245\315_\\\202\241
U\205\241\320	ZZ\245\315_\\\321#\316\245\314U\203\260\314\202\267\322\245Z\323\245E-\207" [red r green g blue b float 1e-08 0.0 0.0 0.0 * 0 60 360 120 240 2 1 255.0 max min float-pi] 6 (#$ . 2772)])
#@275 Convert RED GREEN BLUE colors to their HSL representation.
RED, GREEN, and BLUE should each be numbers between 0.0 and 1.0,
inclusive.

Return a list (HUE, SATURATION, LUMINENCE), where HUE is in radians
and both SATURATION and LUMINENCE are between 0.0 and 1.0,
inclusive.
(defalias 'color-rgb-to-hsl #[(red green blue) "\n\f	]
]	^
^Z\\\306\245Z\307W\2032\310\202o\311	U\203Q
Z\245
W\203L\312\202M\310\\\202kU\203c
	Z\245\313\\\202k	Z\245\314\\\312\245\313#U\203{\310\202\227\315V\203\217\313\\Z\245\202\227\\\245E.\207" [red r green g blue b 2.0 1e-08 0 * 6 2 4 0.5 max min delta l float-pi] 5 (#$ . 3559)])
#@125 Convert RED GREEN BLUE colors from the sRGB color space to CIE XYZ.
RED, BLUE and GREEN must be between 0 and 1, inclusive.
(defalias 'color-srgb-to-xyz #[(red green blue) "\306X\203\f\307\245\202\310\311\\\312\245\313\"	\314X\203 	\315\245\202(\310	\316\\\317\245\320\"\n\321X\2034\n\322\245\202<\310\n\323\\\324\245\325\"\326\327
_\330\f_\331_#\326\332
_\333\f_\334_#\326\335
_\336\f_\337_#E+\207" [red green blue b g r 0.04045 12.95 expt 0.055 1.055 2.4 0.04045 12.95 0.055 1.055 2.4 0.04045 12.95 0.055 1.055 2.4 + 0.4124564 0.3575761 0.1804375 0.21266729 0.7151522 0.072175 0.0193339 0.119192 0.9503041] 7 (#$ . 4251)])
#@47 Convert CIE X Y Z colors to sRGB color space.
(defalias 'color-xyz-to-srgb #[(X Y Z) "\306\307_\310	_\311\n_#\306\312_\313	_\314\n_#\306\315_\316	_\317\n_#\211\320X\2030\321
_\2028\322\323
\324\"_\325Z\f\326X\203D\327\f_\202L\330\323\f\331\"_\332Z\333X\203X\334_\202`\335\323\336\"_\337ZE+\207" [X Y Z b g r + 3.2404542 -1.5371385 -0.4985314 -0.969266 1.8760108 0.041556 0.0556434 -0.2040259 1.0572252 0.0031308 12.92 1.055 expt 0.4166666666666667 0.055 0.0031308 12.92 1.055 0.4166666666666667 0.055 0.0031308 12.92 1.055 0.4166666666666667 0.055] 8 (#$ . 4898)])
#@29 D65 white point in CIE XYZ.
(defconst color-d65-xyz '(0.950455 1.0 1.088753) (#$ . 5484))
(byte-code "\301B\302\303!\210\304B\305\306!\207" [current-load-list color-cie-Œµ (lambda (#1=#:defconst-tmp-var) (defconst color-cie-Œµ #1#)) 0.008856451679035631 color-cie-Œ∫ (lambda (#2=#:defconst-tmp-var) (defconst color-cie-Œ∫ #2#)) 903.2962962962963] 2)
#@138 Convert CIE XYZ to CIE L*a*b*.
WHITE-POINT specifies the (X Y Z) white point for the
conversion. If omitted or nil, use `color-d65-xyz'.
(defalias 'color-xyz-to-lab #[(X Y Z &optional white-point) "\206	\211G\306U\203\n\211A@\202\307\310\311\nGD\"\n\211A@\n@\245\f\245
\245V\203H\312\313\"\202Q_\314\\\315\245V\203c\312\316\"\202l_\314\\\317\245V\203~\312\320\"\202\207_\314\\\321\245\322_\314ZZ\323_Z\324_E.\n\207" [white-point color-d65-xyz #1=#:--cl-rest-- Xr Yr Zr 3 signal wrong-number-of-arguments nil expt 0.3333333333333333 16 116.0 0.3333333333333333 116.0 0.3333333333333333 116.0 116 500 200 X xr Y yr Z zr color-cie-Œµ color-cie-Œ∫ fx fy fz] 5 (#$ . 5845)])
#@138 Convert CIE L*a*b* to CIE XYZ.
WHITE-POINT specifies the (X Y Z) white point for the
conversion. If omitted or nil, use `color-d65-xyz'.
(defalias 'color-lab-to-xyz #[(L a b &optional white-point) "\206	\211G\306U\203\n\211A@\202\307\310\311\nGD\"\n\211A@\n@\312\\\313\245\211\314\245Z\315\245\\\316\317\"V\203R\316\320\"\202[\321_\312Z\245_V\203t\316\312\\\322\245\323\"\202y\245\316\306\"V\203\216\316\324\"\202\227\321_\312Z\245_\f_
_E.\n\207" [white-point color-d65-xyz #1=#:--cl-rest-- Xr Yr Zr 3 signal wrong-number-of-arguments nil 16 116.0 200.0 500.0 expt 3.0 3.0 116 116.0 3.0 3.0 L fy b fz a fx color-cie-Œµ color-cie-Œ∫ xr yr zr] 5 (#$ . 6600)])
#@28 Convert RGB to CIE L*a*b*.
(defalias 'color-srgb-to-lab #[(red green blue) "\303\304\305	\n#\"\207" [red green blue apply color-xyz-to-lab color-srgb-to-xyz] 6 (#$ . 7342)])
#@28 Convert CIE L*a*b* to RGB.
(defalias 'color-lab-to-srgb #[(L a b) "\303\304\305	\n#\"\207" [L a b apply color-xyz-to-srgb color-lab-to-xyz] 6 (#$ . 7523)])
#@177 Return the CIEDE2000 color distance between COLOR1 and COLOR2.
Both COLOR1 and COLOR2 should be in CIE L*a*b* format, as
returned by `color-srgb-to-lab' or `color-xyz-to-lab'.
(defalias 'color-cie-de2000 #[(color1 color2 &optional kL kC kH) "\211G\306U\203	\211A@\202\307\310\311	GD\"	\211A@	@
\211@G\306U\2036@\211A@@\202>\307\310\311@GD\"A@\211A@@B@@CD\206T\312DE\206\\\312EF\206d\312F\313\314\315\"\314\f\316\"\\!G\313\314B\317\"\314C\320\"\\!HGH\\\321\245I\322\312\313\314I\323\"\314I\324\"\314\325\326\"\\\245!Z_\211JT_KJTB_L\313\314K\327\"\314\f\330\"\\!M\313\314L\331\"\314C\332\"\\!N\f\333U\203\337K\333U\203\337\333\202\371\334\fK\"\211O\333W\203\366OP\335_\\\202\370O)QC\333U\203
L\333U\203
\333\202(\334CL\"\211O\333W\203%OP\335_\\\202'O)RA\nZSNMZTMN_\333U\203E\333\202\210\336RQZ!PX\203ZRQZ\202\210RQZPV\203rRQZP\335_Z\202\210RQZP[W\205\210RQZP\335_\\U\337\313MN_!\340U\341\245!\335#V\nA\\\342\245WMN\\\343\245XMN_\333U\203\277QR\\\202\336QRZ!PX\203\326QR\\\344\245\202QR\\P\335_W\203\362\345QRP\335_#\346\245\202QR\\P\335_Y\205\345QRP\347_#\350\245Y\345\312\351\352Y\353Z!_[\354\352Y\335_!_\355\352Y\306_\356\\!_\357\352Y\360_\361Z!_[%Z\362\363\314Y\364Z\365\245\366\"[!_[\313\314X\367\"\314X\370\"\314\371\372\"\\\245!\335_\\\373\314W\374Z\375\"_\313\376\314W\374Z\377\"\\!\245T]X\201a_T^\337\201bXZ#T_\340[\335_!\\_[`\313\345\314S]D_\245\201c\"\314T^E_\245\201d\"\314V_F_\245\201e\"\337`T^E_\245V_F_\245#$!.#\207" [color1 #1=#:--cl-rest-- L‚ÇÅ a‚ÇÅ b‚ÇÅ color2 3 signal wrong-number-of-arguments nil 1 sqrt expt 2.0 2.0 2.0 2.0 2.0 0.5 7.0 7.0 25 7.0 2.0 2.0 2.0 2.0 0 atan 2 abs * sin 2.0 2.0 2.0 2.0 + 2.0 -2 2.0 0.17 cos 0.5235987755982988 0.24 0.32 0.10471975511965978 0.2 4 1.0995574287564276 0.5235987755982988 exp 4.799655442984406 0.4363323129985824 2.0 7.0 7.0 25.0 7.0 0.015 50 2.0 20 2.0 #2=#:--cl-rest-- L‚ÇÇ a‚ÇÇ b‚ÇÇ kL kC kH C‚ÇÅ C‚ÇÇ CÃÑ G a‚Ä≤‚ÇÅ a‚Ä≤‚ÇÇ C‚Ä≤‚ÇÅ C‚Ä≤‚ÇÇ v float-pi h‚Ä≤‚ÇÅ h‚Ä≤‚ÇÇ ŒîL‚Ä≤ ŒîC‚Ä≤ Œîh‚Ä≤ ŒîH‚Ä≤ LÃÑ‚Ä≤ CÃÑ‚Ä≤ hÃÑ‚Ä≤ T ŒîŒ∏ Rc Sl Sc Sh Rt 0.045 0.015 2.0 2.0 2.0] 12 (#$ . 7687)])
(provide 'color)
