
    bMh&                     $    d dl ZdgZg dZddZdS )    Ndemo_signal)BlocksBumps	HeaviSineDopplerRampHiSineLoSineLinChirpTwoChirp	QuadChirpMishMashWernerSorrows	HypChirps	LinChirpsChirpsGaborsineoneoverxzPiece-RegularzPiece-PolynomialRiemannr   c           
          |                                  dk    rt          S |@|dk     s	|dz  dk    rt          d          t          j        d|z  dd|z  z   d|z            }ddg}|                                  } | |v r|t          d|            || |vrt          d	|            | d
k    rEg d}g d}d}t          ||          D ](\  }}||dt          j        ||z
            z   z  dz  z  })ng| dk    rNg d}g d}g d}	d}t          |||	          D ],\  }}}
||dt          j        ||z
  |
z            z   dz  z  z  }-n| dk    rYdt          j        dt          j	        z  |z            z  t          j        |dz
            z
  t          j        d|z
            z
  }n| dk    rGt          j
        |d|z
  z            t          j        dt          j	        z  dz  |dz   z            z  }ng| dk    r||dk    z
  }nV| dk    r)t          j        t          j	        |dz  z  |z            }n'| dk    r)t          j        t          j	        |dz  z  |z            }n| dk    r,t          j        t          j	        |z  |dz  |z  z            }n| d k    rTt          j        t          j	        |z  ||z  z            t          j        t          j	        d!z  |z  ||z  z            z   }nl| d"k    r/t          j        t          j	        d!z  |z  ||dz  z  z            }n7| d#k    rt          j        t          j	        d!z  |z  ||dz  z  z            }|t          j        t          j	        |dz  z  |z            z  }|t          j        t          j	        |z  |d$z  |z  z            z  }n| d%k    rt          j        t          j	        |z  |dz  |dz  z  z            }|t          j        t          j	        |dz  z  |z            z   }|t          j        t          j	        |z  ||z  z            z   }g d}g d}g d}t          |||          D ],\  }}}
||dt          j        ||z
  |
z            z   dz  z  z  }-n| d&k    rd'|z  t          j	        z  d(z  }d)|z  t          j	        z  d(z  }t          j        d*|d+z   dz             |z  }t          j        |          }t          j        |          }t          j        |d,|z
  z            d-|k     z  |d.k     z  }t          j        |d,|z
  z            d-|k     z  |d/k     z  }t          t          j        d0|z                      }|dz  }t          j        |          }t          j        d|dz             t          j        |          z
  }dt          j        t          j	         dz  ||dz
  z  t          j	        z  z             z   dz  |d|<   |d|         ddd1         |||z
  |<   t          j        |          }|d|         |t          t          j        |d2z                      dz
  |t          t          j        |d2z                      z   dz
  <   ||z   |z  }	n| d3k    rd4|z  t          j	        z  d(z  }d5|z  t          j	        z  d(z  }t          j        d|dz             |z  }t          j
        |d|z  z
  d|z
  z            }|t          j        ||dz  z            t          j        ||z  ||dz  z  z             z   z  }	n$| d6k    rSt          j        d|dz             |z  d2z  t          j	        z  }t          j        |dz  |z  d(z            }d7|z  d(z  }t          j        d|dz             |z  t          j	        z  }t          j        ||d!z  z            }|ddd1         }t          j        | |dz             |z  d8z  }t          j        |dz   dz  |z  d(z            }t%          |dz  |dz  |z             }t%          |d9z  |d9z  |z             }t          j        d|dz             |z  }||         t          j        d:t          j	        z  |z  |z  d(z            z  }||         t          j        d;t          j	        z  |z  |z  d(z            z  } ||z   |z   | z   }t          j        |          }t          j        d|d9z  dz             t          j        |d9z            z
  }dt          j        t          j	         dz  ||d9z  dz
  z  t          j	        z  z             z   dz  |d|d9z  <   |d|d9z           ddd1         |d<|z  d9z  |<   ||z  }n| dk    rd=}t          j        | |dz             d)z  |z  }t          j        d|dz             |z  }t          j        |dz   d8z            }t%          d|z  dz  d|z  dz  |z             }t%          |dz  |dz  |z             }d!||         z  t          j        d>|d?z  z  t          j	        z  |z            z  }d!||         z  t          j        d>|dz  z  t          j	        z  |z            z  }||z   }n| dk    rYd(}t          j        | dz   |dz   t&          @          }dA||dk    <   ||dz
  z  }t          j        dB|z            }|d=dC         }nb| dDk    rt          j        |          }t          t          j        |dEz                      }!t          t          j        |d<z                      }"t          t          j        |d)z                      }#t          t          j        |d!z                      }$t          t          j        |dz                      }%t          t          j        |d8z                      }&dFt+          d|          z  }t          j        d|!dz             |!z  }t          j        d|z             }t          j        d|"dz             |"z  }t          j        d|z            t          j        d          z
  }'t          j        d|$dz             |$z  }dG}(dHt          j        |dz
  |dz
  z   d|(dz  z  z            z  })|)d|"         |d|"<   d|)|"|#         z  ||"|#<   |)|#|$         ||#|$<   ||$|%         ||$|%<   |||%|%|!z   <   |||%d|!z  z   dz
  |%|!z   dz
  d1<   t          j        |%d|!z  z   d!|&z  z   |%z
  d|!z  z
  |&z
             dIz  ||%d|!z  z   |&z   |%d|!z  z   d!|&z  z   <   |%d|!z  z   d!|&z  z   }*|'||*|*|"z   <   |d)|#z  z
  }+||+dz
  dd1         |d)|#z  |<   t          j        |          |z  },|,|z
  }n| dJk    rt          j        |          }t          t          j        |d)z                      }#t          t          j        |d2z                      }-t          t          j        |d8z                      }&t          j        d|#dz             |#z  }d8|d!z  |dz  z   dz   z  }dKd|d!z  z  |z   z  d4z   }d2|d!z  z  dLz   }d?|dz  z  d9|z  z   d?z   } d8|dz   z  }'t          j        |-          d8z  })||d|#<   ||d|#z  dz
  |#dz
  d1<   ||d|#z  d!|#z  <   | |d!|#z  d|#z  <   |'|#dd1         |d|#z  d)|#z  <   |d)|#z  z
  }+||+dz
  dd1         |d)|#z  |<   t          j        |-          d2z  ||&|&|-z   <   t          j        |&          dMz  |||-z
  ||&z   |-z
  <   t          j        |          |z  },||,z
  }n| dNk    rt          t          j        t          j
        |                              }.t          j        d|.dz             }/|/|/z  }/t          j        |          }dOt          j        d|.dz             z  ||/dz
  <   t          j        t          j                            |                    }nt          dP|  dQt                     |S )Ru8  Simple 1D wavelet test functions.

    This function can generate a number of common 1D test signals used in
    papers by David Donoho and colleagues (e.g. [1]_) as well as the wavelet
    book by Stéphane Mallat [2]_.

    Parameters
    ----------
    name : {'Blocks', 'Bumps', 'HeaviSine', 'Doppler', ...}
        The type of test signal to generate (`name` is case-insensitive). If
        `name` is set to `'list'`, a list of the available test functions is
        returned.
    n : int or None
        The length of the test signal. This should be provided for all test
        signals except `'Gabor'` and `'sineoneoverx'` which have a fixed
        length.

    Returns
    -------
    f : np.ndarray
        Array of length ``n`` corresponding to the specified test signal type.

    References
    ----------
    .. [1] D.L. Donoho and I.M. Johnstone.  Ideal spatial adaptation by
           wavelet shrinkage. Biometrika, vol. 81, pp. 425–455, 1994.
    .. [2] S. Mallat. A Wavelet Tour of Signal Processing: The Sparse Way.
           Academic Press. 2009.

    Notes
    -----
    This function is a partial reimplementation of the `MakeSignal` function
    from the [Wavelab](https://statweb.stanford.edu/~wavelab/) toolbox. These
    test signals are provided with permission of Dr. Donoho to encourage
    reproducible research.

    Examples
    --------
    >>> import pywt
    >>> camera = pywt.data.camera()
    >>> doppler = pywt.data.demo_signal('doppler', 1024)
    >>> available_signals = pywt.data.demo_signal('list')
    >>> print(available_signals)
    ['Blocks', 'Bumps', 'HeaviSine', 'Doppler', 'Ramp', 'HiSine', 'LoSine', 'LinChirp',
     'TwoChirp', 'QuadChirp', 'MishMash', 'WernerSorrows', 'HypChirps', 'LinChirps',
     'Chirps', 'Gabor', 'sineoneoverx', 'Piece-Regular', 'Piece-Polynomial', 'Riemann']

    listN   r   zn must be an integer >= 1gaborr   z-Parameter n must be set to None when name is z*Parameter n must be provided when name is blocks)皙?gp=
ף?333333?gq=
ףp?g      ?g?g)\(??gRQ?g(\?gQ?)          @333333@gr$   r#      bumps)r   r"   r    r   r"   @r$   r%   g@gffffff@r(   ){Gzt?r)   g~jtx?{Gz?r*   gQ?r*   r*   r)   gMb?r)   r   	heavisineg333333?g
ףp=
?dopplerg?g?rampgGz?hisineg_vO?losinegioT?linchirpg      ?twochirpr    	quadchirpmishmashg      ?wernersorrows	hypchirps   i   r"   gjt?gMbP?g?r   g(\?g      ?r   
   	linchirpsd      chirps         2   i^     i   y              ?   )dtyper*   g      ?i   zpiece-regular   ir   i   zpiece-polynomial(   -      riemanng      ?zunknown name: z.  name must be one of: )lower_implemented_signals
ValueErrornparangezipsignabssinpisqrtzerosintroundonesceilcosexpslicefloatfixr   sum
zeros_likerealfftifft)0namentn_hard_codedt0shsft0hwswposhgtwthpalphabetaf1f2menvelopetmpenvbaA1ixgi1i2jf3f4n_12n_7n_5n_3n_2n_20f5fmaf6kdiffbiasn_10sqnidxs0                                                   Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pywt/data/_wavelab_signals.pyr   r      s   b zz||v##}q55QUqLL8999Iac1qs7AaC(( ^,L::<<D|BDBBD D 	D	
t<//???A A 	A xCCC???3|| 	/ 	/GRa"'!b&//)*Q..AA	/	CCC:::JJJc2r** 	3 	3JRAa"&!b&A...222AA	3			q25y1}%%%C(8(88274!8;L;LL			GAQK  26!be)d*:a$h*G#H#HH	cN			F25AI&*++			F25AI&*++			F2519TQ/00			F2519A&''"&"%!)qAE1J*K*KK			FBEAI?a!Q$h/00			FBEAI?a!Q$h/00	RVBEQY'!+,,,	RVBEAITA.///		 	 F2519A1-..ruE	*Q.///ruqyAE*+++DDD;;;KKK3S)) 	2 	2GAq!a"&!a%1---111AA	2			Q%1uru}t#IeQX\**Q.Xa[[Xa[[VER!V$%%q1QX>VDBFO$$a0AH=""##F71::i1q5!!"'!**,BFBE6A:q1u0E#EFFF!K!"2A2,ttt,1QhqkkRaRL 	CB  1$QRWQV__)=)=%=%AAB"WO			!GbeOd"!GbeOd"IaQ!#Wa!a%iAE*++"&QT""RVAEA1H,<%=%==>			IaQ!B&.VAqD1HtO$$FTMIaQ!BE)VAAJ"XYr1q5!!A%*FBE6A:>D())1616A:&&1616A:&&IaQ!#rURVBJNQ.5666rURVC"%K!Oa/$6777GbL271::i16A:&&a8vzC1q519$5$==>>>!D!q&!)'16'!244R4!8Q!AhJ	Iqb!a%  "Q&IaQ!#FAqD52:1Q3!8QUaZ!^,,1616A:&&2Ya2g 6 :;;;2Ya1f 5 9:::G			YrAvq1uE222271q5\F38c$hK		 	 HQKK26!b&>>"""&Q--  "&Q--  "&Q--  "&Q--  26!b&>>"";w***Ia""T)fQUmm^Iaq!!C'VAE]]26!99$Iaq!!C'26QWS12a#q&jABBBTcT($3$2c#g;&#c'
C[#c'
C[#c'
#cDj.24#D.1
S4Z!^B
./>@g!D&L1T6!C'!D&047?9 ?9 >9;=>>#D.4
a$hT 9
9:!d(NQX%!AG)1s7{2!c'!)vayy1}1H	#	#	#HQKK"&Q--  26!b&>>""26!b&>>""Iaq!!C'1a4!Q$;?#1q!t8a< 3&!Q$Y^!Q$YQ#1q5\WT]]R$3$$&!c'A+cAgb
 !!c'!c'/!c'!c'/R[!c'!c'/1S5y2!c'!) gdmmb0$td{
&(gdmmc&9!d(1t8d?
"#vayy1}H			"(271::&&''i37##s
M!")AsQw///#'
GBFKKNN##QTQQ;OQQS S 	SH    )r   N)numpyrM   __all__rK   r    r   r   <module>r      sN       /   .n n n n n nr   