úÎW^Tq.      !"#$%&' ( ) * + , - None*2346<=FKMUse the ''minimal standard''h Lehmer generator to quickly generate some random numbers with reasonable statistical properties. By ''reasonable''‰ we mean good enough for games and test data, but not cryptography or anything where the quality of the randomness really matters. `By nature of the algorithm, the maximum value in the output is clipped to (valMin + 2^31 - 1)From ''4Random Number Generators: Good ones are hard to find''f Stephen K. Park and Keith W. Miller. Communications of the ACM, Oct 1988, Volume 31, Number 10.«Generate some randomish doubles with terrible statistical properties. This just takes randomish ints then scales them, so there's not much randomness in low-order bits.ªGenerate some randomish doubles with terrible statistical properties. This just takes randmish ints then scales them, so there's not much randomness in low-order bits.Shape of arrayMinumum value in output.Maximum value in output. Random seed. Array of randomish numbers.Length of vector.Minumum value in output.Maximum value in output. Random seed. Vector of randomish numbers.Shape of arrayMinumum value in output.Maximum value in output. Random seed. Array of randomish numbers.Length of vectorMinimum value in outputMaximum value in output Random seed.Vector of randomish doubles.None*2346<=FKMLCompute the root mean square of an RGB color. Result is in the range [0..1].LCompute the root mean square of an RGB color. Result is in the range [0..1].HConvert an RGB color to its luminance value. Result in the range [0..1].HConvert an RGB color to its luminance value. Result in the range [0..1].9Promote a value in the range [0..1] to a grey RGB8 color. 9Promote a value in the range [0..1] to a grey RGB8 color. uPromote a tuple of color components to a RGB8 color. Each of the source components should be in the range [0..1]. uPromote a tuple of color components to a RGB8 color. Each of the source components should be in the range [0..1].    None*2346<=FKLM &Take the row number of a rank-2 index. )Take the column number of a rank-2 index.$Matrix matrix multiply, in parallel.%Matrix matrix multiply, sequentially.#Transpose a 2D matrix, in parallel.$Transpose a 2D matrix, sequentially.3Get the trace of a (square) 2D matrix, in parallel.4Get the trace of a (square) 2D matrix, sequentially.    None*2346<=FKLM9A function that gets out of range elements from an image.uImage-kernel convolution, which takes a function specifying what value to return when the kernel doesn't apply.6Use the provided value for every out-of-range element.TIf the requested element is out of range use the closest one from the real image.lImage-kernel convolution, which takes a function specifying what value to use for out-of-range elements.The original get function.The shape of the image.'Index of element we were trying to get.DFunction to get border elements when the stencil does not apply."Stencil to use in the convolution. Input image.$How to handle out-of-range elements."Stencil to use in the convolution. Input image.None*2346<=FHKM_Standard Hot to Cold hypsometric color ramp. Color sequence is red, yellow, green, cyan, blue.Minimum value of range.Maximum value of range. Data value.None*2346<=FJKMComplex doubles.'Take the magnitude of a complex number.HTake the argument (phase) of a complex number, in the range [-pi .. pi].././None*2346<=FHJKM3Calculate roots of unity for the forward transform.3Calculate roots of unity for the inverse transform.%Length of lowest dimension of result.%Length of lowest dimension of result.None*2346<=FHJKM# Check if an 0 is a power of two.$KCompute the DFT of a 3d array. Array dimensions must be powers of two else 1.%ICompute the DFT of a matrix. Array dimensions must be powers of two else 1.&ICompute the DFT of a vector. Array dimensions must be powers of two else 1. !"2#$34%5&678 !"#$%&"! #$%& "! 2#$34%5&678 None*2346<=FKM'*Apply the centering transform to a vector.(*Apply the centering transform to a matrix.),Apply the centering transform to a 3d array.'()'()'()'() None*2346<=FHJKM*:Compute the DFT along the low order dimension of an array.+BCompute the inverse DFT along the low order dimension of an array.,ÿ Generic function for computation of forward or inverse DFT. This function is also useful if you transform many arrays with the same extent, and don't want to recompute the roots for each one. The extent of the given roots must match that of the input array, else 1.-kCompute a single value of the DFT. The extent of the given roots must match that of the input array, else 1.*+,Roots of unity. Input array.-Roots of unity. Input array.Index of the value we want.*+,-*+,-*+,-9    !"#$%&'()*+,-./01 2 3 4 5 6 7 89:;<=>?@ABCDEFGHrepa-algorithms-3.2.5.1$Data.Array.Repa.Algorithms.Randomish Data.Array.Repa.Algorithms.Pixel!Data.Array.Repa.Algorithms.Matrix#Data.Array.Repa.Algorithms.Convolve$Data.Array.Repa.Algorithms.ColorRamp"Data.Array.Repa.Algorithms.Complex$Data.Array.Repa.Algorithms.DFT.RootsData.Array.Repa.Algorithms.FFT%Data.Array.Repa.Algorithms.DFT.CenterData.Array.Repa.Algorithms.DFTrandomishIntArrayrandomishIntVectorrandomishDoubleArrayrandomishDoubleVectorfloatRmsOfRGB8doubleRmsOfRGB8floatLuminanceOfRGB8doubleLuminanceOfRGB8rgb8OfGreyFloatrgb8OfGreyDouble rgb8OfFloat rgb8OfDoublerowcolmmultPmmultS transpose2P transpose2Strace2Ptrace2SGetOut convolvePoutAsoutClamp convolveOutPrampColorHotToColdComplexmagargcalcRootsOfUnityPcalcInverseRootsOfUnityPModeInverseReverseForward isPowerOfTwofft3dPfft2dPfft1dPcenter1dcenter2dcenter3ddftPidftP dftWithRootsPdftWithRootsSingleS$fFractional(,)$fNum(,)ghc-prim GHC.TypesIntbaseGHC.Errerror signOfMode fftTrans3drotate3d fftTrans2d fftTrans1dffttwiddle