
    h                     H    d Z g dZdZdZdZd Zd Zd Zd Zd	 Z	d
 Z
d ZdS )aJ  Conversion functions between RGB and other color systems.

This modules provides two functions for each color system ABC:

  rgb_to_abc(r, g, b) --> a, b, c
  abc_to_rgb(a, b, c) --> r, g, b

All inputs and outputs are triples of floats in the range [0.0...1.0]
(with the exception of I and Q, which covers a slightly larger range).
Inputs outside the valid range may cause exceptions or invalid outputs.

Supported color systems:
RGB: Red, Green, Blue components
YIQ: Luminance, Chrominance (used by composite video signals)
HLS: Hue, Luminance, Saturation
HSV: Hue, Saturation, Value
)
rgb_to_yiq
yiq_to_rgb
rgb_to_hls
hls_to_rgb
rgb_to_hsv
hsv_to_rgbgUUUUUU?gUUUUUU?gUUUUUU?c                 r    d| z  d|z  z   d|z  z   }d| |z
  z  d||z
  z  z
  }d| |z
  z  d||z
  z  z   }|||fS )Ng333333?gzG?g)\(?gGz?gHzG?gQ?g=
ףp=? )rgbyiqs         /usr/lib/python3.11/colorsys.pyr   r   (   s\    Qa$q& Aac
T1Q3ZAac
T1Q3ZAq!9    c                     | d|z  z   d|z  z   }| d|z  z
  d|z  z
  }| d|z  z
  d|z  z   }|dk     rd}|dk     rd}|dk     rd}|dk    rd}|dk    rd}|dk    rd}|||fS )	Ng2rL?g,?g:?gnєW?g6޷?gJ"X?              ?r	   )r   r   r   r
   r   r   s         r   r   r   .   s    
 	
q  #5a#77A	!!$6q$88A	q  #5a#77A3ww3ww3ww3ww3ww3wwq!9r   c                 2   t          | ||          }t          | ||          }||z   }||z
  }|dz  }||k    rd|dfS |dk    r||z  }n|d|z
  z  }|| z
  |z  }	||z
  |z  }
||z
  |z  }| |k    r||
z
  }n||k    r	d|	z   |z
  }nd|
z   |	z
  }|dz  dz  }|||fS )N       @r         ?      @      @r   maxmin)r
   r   r   maxcmincsumcrangeclsrcgcbchs                r   r   r   K   s    q!Q<<Dq!Q<<DID4iFSAt||As{CxxTMc$h
q&F	B
q&F	B
q&F	BDyyrE	
dF2IF2I	
3#Aa7Nr   c                     |dk    r|||fS |dk    r	|d|z   z  }n||z   ||z  z
  }d|z  |z
  }t          ||| t          z             t          |||           t          ||| t          z
            fS )Nr   r   r   r   )_v	ONE_THIRD)r&   r!   r"   m2m1s        r   r   r   c   s    Cxx!QwCxx#a%[qS!A#Y	QBr2q{##RB]]Br2q{4K4KLLr   c                     |dz  }|t           k     r| || z
  |z  dz  z   S |dk     r|S |t          k     r| || z
  t          |z
  z  dz  z   S | S )Nr   r   r   )	ONE_SIXTH	TWO_THIRD)r+   r*   hues      r   r(   r(   m   sd    
)C
YRUCKO##
Syy	
YRUYs]+C///Ir   c                    t          | ||          }t          | ||          }||z
  }|}||k    rdd|fS ||z  }|| z
  |z  }||z
  |z  }	||z
  |z  }
| |k    r|
|	z
  }n||k    r	d|z   |
z
  }nd|	z   |z
  }|dz  dz  }|||fS )Nr   r   r   r   r   r   )r
   r   r   r   r   r    vr"   r#   r$   r%   r&   s               r   r   r   }   s    q!Q<<Dq!Q<<D4iFAt||C{A
q&F	B
q&F	B
q&F	BDyyrE	
dF2IF2I	
3#Aa7Nr   c                     |dk    r|||fS t          | dz            }| dz  |z
  }|d|z
  z  }|d||z  z
  z  }|d|d|z
  z  z
  z  }|dz  }|dk    r|||fS |dk    r|||fS |dk    r|||fS |dk    r|||fS |d	k    r|||fS |d
k    r|||fS d S )Nr   r   r                         )int)r&   r"   r1   r   fpr   ts           r   r   r      s    Cxx!QwAcE

A	
3!A	37A	319A	3CE?A	!AAvv!QwAvv!QwAvv!QwAvv!QwAvv!QwAvv!Qw vr   N)__doc____all__r)   r-   r.   r   r   r   r   r(   r   r   r	   r   r   <module>r@      s    .& & &
 			    :  0M M M     (    r   