8      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> comupper inverse cdf lower inverse cdf  upper cdf  lower cdf pdf uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> comtrials, probabilities  &number type 1, number type 2, samples probability, n probability, successes probability, successes  probability  probability  probability mean 0draw a sample from a one parameter distribution distribution type  random seed  parameter result ;probability of a variate take a value outside the argument  density type distribution function type  parameter value result 0draw a sample from a two parameter distribution distribution type  random seed  parameter 1  parameter 2 result ;probability of a variate take a value outside the argument  density type distribution function type  parameter 1  parameter 2 value result 2draw a sample from a three parameter distribution distribution type  random seed  parameter 1  parameter 2  parameter 3 result ;probability of a variate take a value outside the argument  density type distribution function type  parameter 1  parameter 2  parameter 3 value result 2draw a sample from a three parameter distribution distribution type  random seed trials  parameters result ;probability of a variate take a value outside the argument  density type distribution function type  parameters values result      uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> com9@standard deviation, standard deviation, correlation coefficient  size, alpha  scale, exponent, skewness !"A, B #A, B $scale, exponent %exponent, scale &parameter a, parameter b ''degrees of freedom, degrees of freedom (offset, standard deviation ) lower, upper * par1, par2 +scale, exponent , lower limit, standard deviation -scale, exponent .limit, standard deviation /0scale 1degrees of freedom 2degrees of freedom 3standard deviation 4scale 5width 6mean 7standard deviation 89:1draw a sample from a zero parameter distribution distribution type  random seed result ;;probability of a variate take a value outside the argument  density type distribution function type value result <0draw a sample from a one parameter distribution distribution type  random seed  parameter result =;probability of a variate take a value outside the argument  density type distribution function type  parameter value result >0draw a sample from a two parameter distribution distribution type  random seed  parameter 1  parameter 2 result ?;probability of a variate take a value outside the argument  density type distribution function type  parameter 1  parameter 2 value result @2draw a sample from a three parameter distribution distribution type  random seed  parameter 1  parameter 2  parameter 3 result A;probability of a variate take a value outside the argument  density type distribution function type  parameter 1  parameter 2  parameter 3 value result B2draw a sample from a three parameter distribution distribution type  random seed  parameters result C;probability of a variate take a value outside the argument  density type distribution function type  parameters values result D,draw a sample from a bivariate distribution distribution type  random seed  parameter 1  parameter 2  parameter 3 result E;probability of a variate take a value outside the argument  density type distribution function type  parameter 1  parameter 2  parameter 3 value result FWreturns a normalised random direction vector from a multivariate gaussian distribution seed  vector size 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF289/76543210!.-,+*)('&%$#" :;<=>?@ABCDEF, ! .-,+*)('&%$#""#$%&'()*+,-./7654321001234567899:;<=>?@ABCDEFuses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> com<G"A canonical permutation structure number of bins HA permutation structure number of bins Igenerate a random permutation seed size J9returns the value of the i-th element of the permutation  !swaps the i-th and j-th elements K!swaps the i-th and j-th elements Lswaps pairs of elements M"get the length of the permutation N%checks that the permutation is valid  (reverse the elements of the permutation O(reverse the elements of the permutation P(computes the inverse of the permutation QMadvances the permutation to the next in lexicographic order, if there is one RSsteps the permutation back to the previous in lexicographic order, if there is one S"apply the permutation to a vector T*apply the inverse permutation to a vector U'multiply two permutations, P = PA * PB VFwrite a permutation in the native binary format (may not be portable) WEread a permutation in the native binary format, length must be known X,saves the permutation with the given format YXreads formatted data as written by fprintf, the number of bins must be known in advance Zcompute the canonical form [!convert from canonical to linear \a count of the inversions ]6a count of the cycles of a permutation in linear form ^9a count of the cycles of a permutation in canonical form GHIJKLMNOPQRSTUVWXYZ[\]^HGIJKLMNOPQRSTUVWXYZ[\]^GHIJKLMNOPQRSTUVWXYZ[\]^uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> coml    !"#$%&'()*+,-./012345678_;A histogram-derived cumulative distribution function (CDF) 9:;<`A histogram structure =>number of bins ?number of bins @ABCZcreate a histogram with n bins from ranges (x0->x1),(x1->x2),..,(xn->xn+1) and y0,..,yn+1 D:create a histogram with n bins and lower and upper limits number of bins  xmin, xmax  ymin, ymax aecreate a histogram with n bins from ranges (x0->x1),(x1->x2)..(xn->xn+1) and increment from a vector  the x ranges  the y ranges  the data result bVcreate a histogram with n bins and lower and upper limits and increment from a vector bins x lower and upper limits y lower and upper limits  the data result cextract the ranges and bins (ranges,bins) Ecreate a copy of a histogram djadd 1.0 to the correct bin for each element of the list, fails silently if the value is outside the range eqadd 1.0 to the correct bin for each element of the vector pair, fails silently if the value is outside the range fgFMadd 1.0 to the correct bin, fails silently if the value is outside the range Gqadd 1.0 to the correct bin for each element of the vector pair, fails silently if the value is outside the range Hkadd 1.0 to the correct bin for each element of the list, fails silently if the value is outside the range IXAdds the weight (third Double) to the bin appropriate for the value (first two Doubles) Jyadd the weight (third) to the correct bin for each vector pair element, fails silently if the value is outside the range K}add the weight (snd) to the correct bin for each (fst) element of the list, fails silently if the value is outside the range h%returns the contents of the i-th bin iJreturns the upper and lower limits in the first dimension of the i-th bin jKreturns the upper and lower limits in the second dimension of the i-th bin k5the maximum upper range limit in the first dimension l5the minimum lower range limit in the first dimension m)the number of binsin the first dimension n5the maximum upper range limit in the first dimension o5the minimum lower range limit in the first dimension p)the number of binsin the first dimension qreset all the bins to zero r(find the bin corresponding to the value s(the maximum value contained in the bins t2the index of the bin containing the maximum value u(the minimum value contained in the bins v2the index of the bin containing the minimum value wMthe mean of the values in the first dimension, accuracy limited by bin width xNthe mean of the values in the second dimension, accuracy limited by bin width y\the standard deviation of the values in thee first dimension, accuracy limited by bin width z\the standard deviation of the values in thee first dimension, accuracy limited by bin width {2the covariance of the first and second dimensions |5the sum of the values, accuracy limited by bin width }Rreturns True of all the individual bin ranges of the two histograms are identical ~Cadds the contents of the bins of the second histogram to the first Jsubtracts the contents of the bins of the second histogram from the first Imultiplies the contents of the bins of the second histogram by the first Fdivides the contents of the bins of the first histogram by the second 2multiplies the contents of the bins by a constant ,adds a constant to the contents of the bins Dwrite a histogram in the native binary format (may not be portable) Kread a histogram in the native binary format, number of bins must be known Jsaves the histogram with the given formats (%f,%e,%g) for ranges and bins  each line comprises: xrange[i] xrange[i+1] xrange[j] xrange[j+1] bin(i,j) Xreads formatted data as written by fprintf, the number of bins must be known in advance (create a histogram PDF from a histogram 2given a randomm from the uniform distribution [0,1]$, draw a random sample from the PDF +_`abcdefghijklmnopqrstuvwxyz{|}~+`abdefgchijknlompqrstuvwxyz{|}~_+_`abcdefghijklmnopqrstuvwxyz{|}~uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> com]LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr;A histogram-derived cumulative distribution function (CDF) stuvA histogram structure wxnumber of bins yz{|Icreate a histogram with n bins from ranges (x0->x1),(x1->x2)..(xn->xn+1) }:create a histogram with n bins and lower and upper limits ecreate a histogram with n bins from ranges (x0->x1),(x1->x2)..(xn->xn+1) and increment from a vector  the ranges  the data result Vcreate a histogram with n bins and lower and upper limits and increment from a vector bins lower and upper limits  the data result extract the ranges and bins (ranges,bins) ~create a copy of a histogram 9adds 1.0 to the correct bin for each element of the list ;adds 1.0 to the correct bin for each element of the vector 9adds the appropriate weight for each element of the list 9adds the appropriate weight for each element of the list Madd 1.0 to the correct bin, fails silently if the value is outside the range ladd 1.0 to the correct bin for each element of the vector, fails silently if the value is outside the range ladd 1.0 to the correct bin for each element of the vector, fails silently if the value is outside the range Tadds the weight (second Double) to the bin appropriate for the value (first Double) }add the weight (snd) to the correct bin for each (fst) element of the list, fails silently if the value is outside the range add the weight (second vector) to the correct bin for each element of the first vector, fails silently if the value is outside the range %returns the contents of the i-th bin 3returns the upper and lower limits of the i-th bin the maximum upper range limit the minimum lower range limit the number of bins reset all the bins to zero (find the bin corresponding to the value (the maximum value contained in the bins 2the index of the bin containing the maximum value (the minimum value contained in the bins 2the index of the bin containing the minimum value 6the mean of the values, accuracy limited by bin width Dthe standard deviation of the values, accuracy limited by bin width 5the sum of the values, accuracy limited by bin width Rreturns True of all the individual bin ranges of the two histograms are identical Cadds the contents of the bins of the second histogram to the first Jsubtracts the contents of the bins of the second histogram from the first Imultiplies the contents of the bins of the second histogram by the first Fdivides the contents of the bins of the first histogram by the second 2multiplies the contents of the bins by a constant ,adds a constant to the contents of the bins Dwrite a histogram in the native binary format (may not be portable) Kread a histogram in the native binary format, number of bins must be known Jsaves the histogram with the given formats (%f,%e,%g) for ranges and bins  each line comprises: range[i] range[i+1] bin[i] Xreads formatted data as written by fprintf, the number of bins must be known in advance (create a histogram PDF from a histogram 2given a randomm from the uniform distribution [0,1]$, draw a random sample from the PDF ###uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> comI%the mean of the elements of a vector the sample variance /the sample variance given the precomputed mean 0the population variance given the a priori mean the sample standard deviation 9the sample standard deviation given the precomputed mean :the population standard deviation given the a priori mean (the total sum of squares about the mean 4the total sum of squares about the precomputed mean %the absolute deviation from the mean 1the absolute deviation from the precomputed mean .the skewness of the data (asymmetry of tails) Kthe skewness of the data (asymmetry of tails) with precomputed mean and sd ?the kurtosis of the data (sharpness of peak relative to width) \the kurtosis of the data (sharpness of peak relative to width) with precomputed mean and sd &the lag-1 autocorrelation of the data 2the covariance of two datasets of the same length 2the covariance of two datasets of the same length ;the Pearson correlation of two datasets of the same length .the weighted mean of the elements of a vector weights dataset the weighted sample variance 8the weighted sample variance given the precomputed mean 9the weighted population variance given the a priori mean 'the weighted sample standard deviation Bthe weighted sample standard deviation given the precomputed mean Cthe weighted population standard deviation given the a priori mean 1the weighted total sum of squares about the mean =the weighted total sum of squares about the precomputed mean .the weighted absolute deviation from the mean :the weighted absolute deviation from the precomputed mean 7the weighted skewness of the data (asymmetry of tails) Tthe weighted skewness of the data (asymmetry of tails) with precomputed mean and sd Hthe weighted kurtosis of the data (sharpness of peak relative to width) ethe weighted kurtosis of the data (sharpness of peak relative to width) with precomputed mean and sd 6the median value of the dataset, which must be sorted 8the quantile value of the dataset, which must be sorted the desired quantile from [0..1]  the dataset $$$uses ffi provisional+haskell.vivian.mcphail <at> gmail <dot> com3sort the elements of a vector into ascending order       !"#$%&'()*+,-./0123456789:;<=>?@ !"#ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^_abcdeopqrsyz{|}~x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS TU#$V&(')+*nWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}hstatistics-0.1.0.2Numeric.GSL.Distribution.Common!Numeric.GSL.Distribution.Discrete#Numeric.GSL.Distribution.ContinuousNumeric.GSL.PermutationNumeric.GSL.Histogram2DNumeric.GSL.HistogramNumeric.GSL.StatisticsNumeric.GSL.SortDistFuncUppInvLowInvUpperLowerDensityMultiParamDist MultinomialThreeParamDistHyperGeometric TwoParamDistPascal NegBinomialBinomial OneParamDist Logarithmic Geometric BernoulliPoisson random_1p density_1p random_2p density_2p random_3p density_3p random_mp density_mp BivariateDist BiGaussian DirichletLevySkew GumbellIIGumbellIWeibullParetoBetaFDist LognormalUniformGammaLevy RayleighTailExpPower GaussianTailLogisticTDistChiSqRayleighCauchyLaplace ExponentialGaussian ZeroParamDistLandau random_0p density_0p random_biv density_bivspherical_vectorCanPerm Permutationrandom_permutegetswapswapListsizevalidreverseinversenextprevpermuteinverse_permutemulfwritePermutationfreadPermutationfprintfPermutationfscanfPermutation canonicallinear inversions cyclesLinearcyclesCanonicalHistogram2DPDF Histogram2D fromRanges fromLimitstoMatrixaddList addVectoraddListWeightedaddVectorWeightedgetBin getXRange getYRangegetXMaxgetXMingetXBinsgetYMaxgetYMingetYBinsresetfindmaxValmaxBinminValminBinxmeanymeanxstddevystddev covariancesum equalBinsaddsubtractmultiplydividescaleshiftfwriteHistogram2DfreadHistogram2DfprintfHistogram2DfscanfHistogram2DfromHistogram2Dsample HistogramPDF Histogram toVectorsgetRangegetMaxgetMingetBinsmeanstddevfwriteHistogramfreadHistogramfprintfHistogramfscanfHistogram fromHistogramvariance variance_m variance_pmstddev_m stddev_pm tot_sumsq tot_sumsq_mabsdevabsdev_mskew skew_m_sdkurtosis kurtosis_m_sdlag1auto covariance_m correlationmean_w variance_w variance_w_m variance_w_pmstddev_w stddev_w_m stddev_w_pm tot_sumsq_w tot_sumsq_w_mabsdev_w absdev_w_mskew_w skew_w_m_sd kurtosis_wkurtosis_w_m_sdmedianquantilesortdistribution_dist_multi_param!distribution_discrete_multi_paramdistribution_dist_three_param!distribution_discrete_three_paramdistribution_dist_two_paramdistribution_discrete_two_paramdistribution_dist_one_paramdistribution_discrete_one_paramdistribution_spherical_vectordistribution_dist_bivariatedistribution_random_bivariatedistribution_random_multi_paramdistribution_random_three_paramdistribution_random_two_paramdistribution_random_one_paramdistribution_dist_zero_paramdistribution_random_zero_parampermutation_canonical_cyclespermutation_linear_cyclespermutation_inversionspermutation_canonical_to_linearpermutation_linear_to_canonicalpermutation_fscanfpermutation_fprintfpermutation_freadpermutation_fwritepermutation_mulpermutation_permute_inversepermutation_permutepermutation_prevpermutation_nextpermutation_inversepermutation_reversepermutation_validpermutation_swappermutation_getpermutation_random_permutepermutation_clonepermutation_freepermutation_initpermutation_newCPcdimcanpermPpdimperm PermHandlePermnullPermutationclonePermutationswapIO reverseIOhistogram2d_pdf_samplehistogram2d_pdf_inithistogram2d_pdf_freehistogram2d_pdf_newhistogram2d_fscanfhistogram2d_fprintfhistogram2d_freadhistogram2d_fwritehistogram2d_shifthistogram2d_scalehistogram2d_divhistogram2d_mulhistogram2d_subhistogram2d_addhistogram2d_equal_binshistogram2d_sumhistogram2d_covhistogram2d_ysigmahistogram2d_xsigmahistogram2d_ymeanhistogram2d_xmeanhistogram2d_min_binhistogram2d_min_valhistogram2d_max_binhistogram2d_max_valhistogram2d_findhistogram2d_accumulate_matrixhistogram2d_increment_matrixhistogram2d_resethistogram2d_ynhistogram2d_yminhistogram2d_ymaxhistogram2d_xnhistogram2d_xminhistogram2d_xmaxhistogram2d_get_yrangehistogram2d_get_xrangehistogram2d_gethistogram2d_accumulatehistogram2d_incrementhistogram2d_clonehistogram_to_matrixhistogram2d_set_ranges_uniformhistogram2d_set_rangeshistogram2d_freehistogram2d_newpdf PDFHandlePDFHhxdimhydimhist Hist2DHandleHist2D fromRangesIO fromLimitsIOcloneHistogram2D incrementIOincrementVectorIOincrementListIO accumulateIOaccumulateVectorIOaccumulateListIOhistogram_pdf_samplehistogram_pdf_inithistogram_pdf_freehistogram_pdf_newhistogram_fscanfhistogram_fprintfhistogram_freadhistogram_fwritehistogram_shifthistogram_scale histogram_div histogram_mul histogram_sub histogram_addhistogram_equal_bins histogram_sumhistogram_sigmahistogram_meanhistogram_min_binhistogram_min_valhistogram_max_binhistogram_max_valhistogram_findhistogram_accumulate_vectorhistogram_increment_vectorhistogram_resethistogram_bins histogram_min histogram_maxhistogram_get_range histogram_gethistogram_accumulatehistogram_incrementhistogram_clonehistogram_to_vectorshistogram_set_ranges_uniformhistogram_set_rangeshistogram_free histogram_newhdim HistHandleHistcloneHistogramstatistics_quantilestatistics_medianstatistics_w_kurtosis_m_sdstatistics_w_kurtosisstatistics_w_skew_m_sdstatistics_w_skewstatistics_w_absdev_mstatistics_w_absdevstatistics_w_tot_sumsq_mstatistics_w_tot_sumsq statistics_w_stddev_with_fixed_mstatistics_w_stddev_mstatistics_w_stddevstatistics_w_var_with_fixed_mstatistics_w_variance_mstatistics_w_variancestatistics_w_meanstatistics_correlationstatistics_covariance_mstatistics_covariancestatistics_lag1autostatistics_kurtosis_m_sdstatistics_kurtosisstatistics_skew_m_sdstatistics_skewstatistics_absdev_mstatistics_absdevstatistics_tot_sumsq_mstatistics_tot_sumsqstatistics_stddev_with_fixed_mstatistics_stddev_mstatistics_stddevstatistics_var_with_fixed_mstatistics_variance_mstatistics_variancestatistics_meanPD sort_sort