
    hi                        d dl Z de j        d<   d ZddZ ed d          d	             Z eg d
          ZddZ ed dd           d             Z e            Z	d Z
e
d             Zd Zedk    r e             dS dS )    NTrecursec                 .      fd}fd}fd}||fS )Nc                       S N xs   n/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/dill/tests/test_mixins.pyzzzzwtf.<locals>.zzz       H    c                       S r   r   )ys   r
   yyyzwtf.<locals>.yyy   r   r   c                       S r   r   )zs   r
   xxxzwtf.<locals>.xxx   r   r   r   )r	   r   r   r   r   r   s   ```   r
   wtfr      sY                	S.r      c                 2     dgfd fd}|S )NFc                        d           d<   d S )Nr   r   )inverteds   r
   invertzquad.<locals>.invert   s    qk/HQKKKr   c                 F      fd} |_         |_        |_        |S )Nc                  L     | i |}d         r| }|dz  z  |z  z   z   S )Nr      r   )argskwdsr	   abcfr   s      r
   funczquad.<locals>.dec.<locals>.func   sB    
!T
T

a	!1"aq!tVac\Ar   )__wrapped__r   r   )r"   r#   r   r    r!   r   r   s   ` r
   deczquad.<locals>.dec   sN             DDKDMKr   r   )r   r    r!   r%   r   r   s   ``` @@r
   quadr&      s[    W(" " " " "         
*r   r   )r   r    c                       t          |           S r   )sum)r   s    r
   
double_addr)   '   s    	Tr   )r   r      c                       fd}|S )Nc                       fd}|S )Nc                  6     | i |}|dz  z  |z  z   z   S Nr   r   )r   r   fxr   r    r!   r"   s      r
   r#   z'quad_factory.<locals>.dec.<locals>.func2   s/    1d?T??br1uWqt^ar   r   )r"   r#   r   r    r!   s   ` r
   r%   zquad_factory.<locals>.dec1   s3                    Kr   r   )r   r    r!   r%   s   ``` r
   quad_factoryr0   0   s/          
 
*r      )r   r    r!   c                     | dz   S )Nr   r   r   s    r
   quadishr3   9       	
1*r   c                       fd}|S )Nc                       | i |}d|z  S r.   r   )r   r   r/   r"   s      r
   innerzdoubler.<locals>.innerB   s     	
D	D		BR4Kr   r   )r"   r7   s   ` r
   doublerr8   A   s#         
,r   c                     d| z  S r.   r   r   s    r
   	quadrupler:   H   r4   r   c                     t          ddd          dt          z  k    sJ t                                            t          ddd          dt          z  k    sJ t          j        t                     }  | ddd          dt          z  k    sJ |                     ddd          t          k    sJ t           j        d         st                                            t          j        }t          j        }|	                    |
                    t                    d                   dk    sJ |	                    |
                    t                    d                   dk    sJ |                    t          d	
          dt          z  k    sJ |                    t          d	
          dt          z  k    sJ |                    t          d	
          dt          z  k    sJ |                    t           d	
          dt          z  k    sJ |                    t          d
          dk    sJ |                    t          d
          }|                    dd          \  }}}}}|dk    sJ t#          |||g          t#          g d          k    sJ |                    t          d
          }|                    dd          \  }}}}|dk    sJ t#          |||g          t#          g d          k    sJ |                    t           d
          }|                    dd          \  }}}}}}|dk    sJ t#          ||||g          t#          g d          k    sJ d S )Nr   r   r*   r   r"   z8@quad_factory(a=0,b=4,c=0)
def quadish(x):
  return x+1
z(@doubler
def quadruple(x):
  return 2*x
F)sourcezfrom %s import quadish
zfrom %s import quadruple
zfrom %s import quadratic
zfrom %s import double_add
Tzdef doubler(f):
  def inner(*args, **kwds):
    fx = f(*args, **kwds)
    return 2*fx
  return inner

@doubler
def quadruple(x):
  return 2*x

r1   zdef quad_factory(a=1,b=1,c=0):
  def dec(f):
    def func(*args,**kwds):
      fx = f(*args,**kwds)
      return a*fx**2 + b*fx + c
    return func
  return dec

@quad_factory(a=0,b=4,c=0)
def quadish(x):
  return x+1
)a = 0c = 0zb = 4zl
def dec(f):
  def func(*args,**kwds):
    fx = f(*args,**kwds)
    return a*fx**2 + b*fx + c
  return func
)za = 1r@   zb = 1   a  def quad(a=1, b=1, c=0):
  inverted = [False]
  def invert():
    inverted[0] = not inverted[0]
  def dec(f):
    def func(*args, **kwds):
      x = f(*args, **kwds)
      if inverted[0]: x = -x
      return a*x**2 + b*x + c
    func.__wrapped__ = f
    func.invert = invert
    func.inverted = inverted
    return func
  return dec

@quad(a=0,b=2)
def double_add(*args):
  return sum(args)
)r?   r@   zb = 2zinverted = [True])r)   r/   r   dillcopyr$   r   r=   detect	getsourcefreevarsr3   r:   
importable__name__	quadraticsplitset)	_ddsddresultr   r    r!   _ds	            r
   test_mixinsrR   M   s   	Aa		ad	"	"	"	"	Aa		be	#	#	#	#y"	Aabe				 
!A		"	$	$	$	$ 
	Q	  {"{"	bkk'**3/	0	04q	q	q	q	q	bkk),,S1	2	26c	c	c	c	c	wu	-	-1Kh1V	V	V	V	V	y	/	/3ORZ3Z	Z	Z	Z	Z	y	/	/3ORZ3Z	Z	Z	Z	Z	z%	0	04QT\4\	\	\	\	\	y	.	.  3L  
L  
L  
L  
L===..&<<Q''.!Aa&	  {  
{  
{  
{  
{	a!W88899	9	9	9	9==4=00&d1%%,!Aa	  H  
H  
H  
H  
H	a!W88899	9	9	9	9==D=11&\\$q))!Aa!F	  o  
o  
o  
o  
o	a!AY3OOOPP	P	P	P	P	P	Pr   __main__)r   r   r   )rB   settingsr   r&   r)   r(   r/   r0   r3   rI   r8   r:   rR   rH   r   r   r
   <module>rU      s(   i        A   	S\\    A   LNN	   	  	'Q 'Q 'QV zKMMMMM r   