
    ]Mh*                     j    d dl mZ d dlmZ d dlmZ dgZdZd ZddZ	 ed	          d
             Z
dS )    )supportScalar)MAX_F2DOT14)	lru_cache
rebaseTentg      ?c                 6    | d          | d          | d          fS )N      r    )vs    a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fontTools/varLib/instancer/solver.py_reverse_negater   
   s!    qTEAaD51Q4%      Fc                    |\  }}}}}| \  }}	}
||	k    r;d t          t          |           |                                |           D             S ||k    r||	k     rg S ||	k     r5t          d|id| i          |||f} fdt          | |          D             S t          d|id| i          }|d fg}t          d|id| i          }||k    r|	d|z
  |
|	z
  z  z   }t	          ||          |	|f}d}|                    ||z
  |f           |
|k    r"|||f}|}|                    ||z
  |f           n|
|k    r
|
t          z  }
||
|f}d}|
||f}d}|                    ||z
  |f           |                    ||z
  |f           nu||	k    r|	}
|	d|z
  |
|	z
  z  z   }||k    sJ 	 t	          ||          |	|f}d}|	||f}|}|                    ||z
  |f           |	|k     r|                    ||z
  |f           ||k    r4|||f}t          d|id| i          }|                    ||z
  |f           nR||k    r
|t          z  }|||f}d}|||f}d}|                    ||z
  |f           |                    ||z
  |f           |S )Nc                 >    g | ]\  }}||t          |          nd fS N)r   ).0scalarts      r   
<listcomp>z_solve.<locals>.<listcomp>   sB     
 
 
 1=_Q'''dC
 
 
r   tagc                 $    g | ]\  }}|z  |fS r
   r
   )r   r   r   mults      r   r   z_solve.<locals>.<listcomp>J   s&    LLLyvq$"LLLr   r	   r   )_solver   reverse_negater   maxappendEPSILONr   )tent	axisLimitnegativeaxisMinaxisDefaxisMax_distanceNegative_distancePositivelowerpeakuppergainoutoutGaincrossinglocr   loc1scalar1loc2scalar2newUpperr   s                         @r   r   r      s   FOCGWg02CE4 ~~
 
#%%((** 
 
 
 	
* %GdNN	: ~~eW-t}==w(LLLLF44K4KLLLL %)E4=99D$<.C
 UG,udm<<G$ w 1t8555'""D(3 	

FTM3'((( GWg.CFJJs+,,,,(   eW-DG 7G,DGJJ$-...JJ$-.... d??E$ 1t855(""""&	3: ''w7DG'7+DGJJ$-...g~~

GdND1222$ )w/%??

FTM3'((((& GWE ( %(

GdND)***

GdND)***Jr      c                     \  }}}}}d|cxk    r|cxk    r|cxk    rdk    sn J | \  }}}	d|cxk    r|cxk    r|	cxk    rdk    sn J |dk    sJ t          |           }
fdfd|
D             }
|
S )a7  Given a tuple (lower,peak,upper) "tent" and new axis limits
    (axisMin,axisDefault,axisMax), solves how to represent the tent
    under the new axis configuration.  All values are in normalized
    -1,0,+1 coordinate system. Tent values can be outside this range.

    Return value is a list of tuples. Each tuple is of the form
    (scalar,tent), where scalar is a multipler to multiply any
    delta-sets by, and tent is a new tent for that output delta-set.
    If tent value is None, that is a special deltaset that should
    be always-enabled (called "gain").r	   r   r   c                 .                         |           S r   )renormalizeValue)r   r   s    r   <lambda>zrebaseTent.<locals>.<lambda>.  s    ),,Q// r   c           	          g | ]?\  }}|||2 |d                    |d                    |d                   fnd f@S )Nr   r	   r   r
   )r   r   r   ns      r   r   zrebaseTent.<locals>.<listcomp>/  sl       FA	!!AaD''11QqT77AAadGG,,4H  r   )r   )r   r   r!   r"   r#   r$   r%   r&   r'   r(   solsr;   s    `         @r   r   r     s    GPCGWg02C4444G4444w4444"444444E4----$----%----2------19999$	""D////A     D Kr   N)F)fontTools.varLib.modelsr   fontTools.misc.fixedToolsr   	functoolsr   __all__r   r   r   r   r
   r   r   <module>rA      s    1 1 1 1 1 1 1 1 1 1 1 1      .
! ! !F F F FR 3    r   