
    "	f
                    h    d dl mZ d dlmZmZ d dlZerd dlmZ 	 d	 	 	 	 	 ddZ		 d		 	 	 	 	 	 	 d
dZ
y)    )annotations)TYPE_CHECKINGAnyN)CoordinateArrayc           
     h   | \  }}t        j                  |t         j                        }t        j                  |t         j                        }t        j                  ||      \  }}|dz
  }|dz
  }t        j                  g d      }t        j                  ddgddgdd	gd
dgdd
gg      }	t        j                  g d      }
t        j
                  |      }t        t        |            D ]I  }|||   t        j                  ||z  |	|df   z
  dz  ||z  |	|df   z
  dz  z    |
|   dz  z        z  z  }K |rst        j                  ||z  dz
  dz  dz  ||z  dz
  dz  dz  z   dk  ||z  dz
  dz  dz  ||z  dz
  dz  dz  z   dk        }t         j                  j                  ||      }|||fS )ai  Return simple test data consisting of the sum of two gaussians.

    Args:
        shape (tuple(int, int)): 2D shape of data to return.
        want_mask (bool, optional): Whether test data should be masked or not, default ``False``.

    Return:
        Tuple of 3 arrays: ``x``, ``y``, ``z`` test data, ``z`` will be masked if
        ``want_mask=True``.
    dtype      ?)r
   g      皙?gffffff?皙?皙?g333333?r   g?g      ?r   g?)r   r   r   r   皙?r                 r   g{Gz?g?g{Gz?mask)nparangefloat64meshgridasarray
zeros_likerangelenexp
logical_ormaarray)shape	want_masknynxxyxscaleyscaleampmidwidthzir   s                 5/usr/lib/python3/dist-packages/contourpy/util/data.pysimpler/      s    FB
		"BJJ'A
		"BJJ'A;;q!DAq#XF#XF **0
1C
**sCj3*sDkC:c{S
TCJJ01E
aA3s8_ c	SVBFFahQT2Q6!F(SAY:NQR9RRSV[\]V^`aVaabbbc }}hnq 3&!F(S.1)<s)BBcIhnq 4'1V8d?Q*>*EEL
 EEKKK%a7N    c                   | \  }}t        j                  |t         j                        }t        j                  |t         j                        }t        j                  ||      \  }}t         j                  j                  |      }|j                  |       }|dkD  rBt        |d      }|j                  |       |k  }	t         j                  j                  ||	      }|||fS )a  Return random test data..

    Args:
        shape (tuple(int, int)): 2D shape of data to return.
        seed (int, optional): Seed for random number generator, default 2187.
        mask_fraction (float, optional): Fraction of elements to mask, default 0.

    Return:
        Tuple of 3 arrays: ``x``, ``y``, ``z`` test data, ``z`` will be masked if
        ``mask_fraction`` is greater than zero.
    r   )sizer   gGz?r   )
r   r   r   r   randomdefault_rnguniformminr   r    )
r!   seedmask_fractionr#   r$   r%   r&   rngr,   r   s
             r.   r3   r3   3   s     FB
		"BJJ'A
		"BJJ'A;;q!DAq
))


%CAsM40{{{&6EEKKK%a7Nr0   )F)r!   tuple[int, int]r"   boolreturnVtuple[CoordinateArray, CoordinateArray, CoordinateArray | np.ma.MaskedArray[Any, Any]])i  r   )r!   r:   r7   intr8   floatr<   r=   )
__future__r   typingr   r   numpyr   contourpy._contourpyr   r/   r3    r0   r.   <module>rE      sc    " % 4 /4%%'+%[%R FI"%=B[r0   