123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465(*********************************************************************************)(* OCaml-R *)(* *)(* Copyright (C) 2008-2010 Institut National de Recherche en *)(* Informatique et en Automatique. All rights reserved. *)(* *)(* Copyright (C) 2009-2010 Guillaume Yziquel. All rights reserved. *)(* *)(* This program is free software; you can redistribute it and/or modify *)(* it under the terms of the GNU General Public License as *)(* published by the Free Software Foundation; either version 3 of the *)(* License, or any later version. *)(* *)(* This program is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU Library General Public License for more details. *)(* *)(* You should have received a copy of the GNU General Public *)(* License along with this program; if not, write to the Free Software *)(* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *)(* 02111-1307 USA *)(* *)(* Contact: Maxence.Guesdon@inria.fr *)(* guillaume.yziquel@citycable.ch *)(*********************************************************************************)(** Bindings to the Rmath library. *)externalpow:float->float->float="ml_R_pow"externalpow_di:float->int->float="ml_R_pow_di"externalnorm_rand:unit->float="ml_norm_rand"externalunif_rand:unit->float="ml_unif_rand"externalexp_rand:unit->float="ml_exp_rand"externalr_dnorm:x:float->mean:float->sd:float->log:bool->float="ml_dnorm";;letdnorm?(mean=0.0)?(sd=1.0)?(log=false)x=r_dnorm~x~mean~sd~log;;externalr_pnorm:q:float->mean:float->sd:float->lower_tail:bool->logp:bool->float="ml_pnorm";;letpnorm?(mean=0.0)?(sd=1.0)?(lower_tail=true)?(logp=false)q=r_pnorm~q~mean~sd~lower_tail~logpexternalr_qnorm:p:float->mean:float->sd:float->lower_tail:bool->logp:bool->float="ml_qnorm";;letqnorm?(mean=0.0)?(sd=1.0)?(lower_tail=true)?(logp=false)p=r_qnorm~p~mean~sd~lower_tail~logp;;externalr_rnorm:mean:float->sd:float->float="ml_rnorm";;letrnorm?(mean=0.0)?(sd=1.0)()=r_rnorm~mean~sd;;externalr_dunif:x:float->min:float->max:float->log:bool->float="ml_dunif";;letdunif?(min=0.0)?(max=1.0)?(log=false)x=r_dunif~x~min~max~log;;externalr_punif:q:float->min:float->max:float->lower_tail:bool->logp:bool->float="ml_punif";;letpunif?(min=0.0)?(max=1.0)?(lower_tail=true)?(logp=false)q=r_punif~q~min~max~lower_tail~logp;;externalr_qunif:p:float->min:float->max:float->lower_tail:bool->logp:bool->float="ml_qunif";;letqunif?(min=0.0)?(max=1.0)?(lower_tail=true)?(logp=false)p=r_qunif~p~min~max~lower_tail~logp;;externalr_runif:min:float->max:float->float="ml_runif";;letrunif?(min=0.0)?(max=1.0)()=r_runif~min~max;;externalr_dgamma:x:float->shape:float->scale:float->log:bool->float="ml_dgamma";;letdgamma?(scale=1.0)?(log=false)~shapex=r_dgamma~x~shape~scale~log;;externalr_pgamma:q:float->shape:float->scale:float->lower_tail:bool->logp:bool->float="ml_pgamma";;letpgamma?(scale=1.0)?(lower_tail=true)?(logp=false)~shapeq=r_pgamma~q~shape~scale~lower_tail~logp;;externalr_qgamma:p:float->shape:float->scale:float->lower_tail:bool->logp:bool->float="ml_qgamma";;letqgamma?(scale=1.0)?(lower_tail=true)?(logp=false)~shapep=r_qgamma~p~shape~scale~lower_tail~logp;;externalr_rgamma:shape:float->scale:float->float="ml_rgamma";;letrgamma?(scale=1.0)shape=r_rgamma~shape~scale;;(* external log1mpx : float -> float = "ml_log1mpx";;*)externallogspace_add:float->float->float="ml_logspace_add";;externallogspace_sub:float->float->float="ml_logspace_sub";;externalr_dbeta:x:float->shape1:float->shape2:float->log:bool->float="ml_dbeta";;externalr_dnbeta:x:float->shape1:float->shape2:float->ncp:float->log:bool->float="ml_dnbeta";;letdbeta?ncp?(log=false)~a~bx=matchncpwithNone->r_dbeta~x~shape1:a~shape2:b~log|Somencp->r_dnbeta~x~shape1:a~shape2:b~ncp~log;;externalr_pbeta:q:float->shape1:float->shape2:float->lower_tail:bool->logp:bool->float="ml_pbeta";;externalr_pnbeta:q:float->shape1:float->shape2:float->ncp:float->lower_tail:bool->logp:bool->float="ml_pnbeta_bc""ml_pnbeta";;letpbeta?ncp?(lower_tail=true)?(logp=false)~a~bq=matchncpwithNone->r_pbeta~q~shape1:a~shape2:b~lower_tail~logp|Somencp->r_pnbeta~q~shape1:a~shape2:b~ncp~lower_tail~logp;;externalr_qbeta:p:float->shape1:float->shape2:float->lower_tail:bool->logp:bool->float="ml_qbeta";;externalr_qnbeta:p:float->shape1:float->shape2:float->ncp:float->lower_tail:bool->logp:bool->float="ml_qnbeta_bc""ml_qnbeta";;letqbeta?ncp?(lower_tail=true)?(logp=false)~a~bp=matchncpwithNone->r_qbeta~p~shape1:a~shape2:b~lower_tail~logp|Somencp->r_qnbeta~p~shape1:a~shape2:b~ncp~lower_tail~logp;;externalr_rbeta:shape1:float->shape2:float->float="ml_rbeta";;letrbeta~a~b=r_rbeta~shape1:a~shape2:b;;externalr_dlnorm:x:float->meanlog:float->sdlog:float->log:bool->float="ml_dlnorm";;letdlnorm?(meanlog=0.0)?(sdlog=1.0)?(log=false)x=r_dlnorm~x~meanlog~sdlog~log;;externalr_plnorm:q:float->meanlog:float->sdlog:float->lower_tail:bool->logp:bool->float="ml_plnorm";;letplnorm?(meanlog=0.0)?(sdlog=1.0)?(lower_tail=true)?(logp=false)q=r_plnorm~q~meanlog~sdlog~lower_tail~logp;;externalr_qlnorm:p:float->meanlog:float->sdlog:float->lower_tail:bool->logp:bool->float="ml_qlnorm";;letqlnorm?(meanlog=0.0)?(sdlog=1.0)?(lower_tail=true)?(logp=false)p=r_qlnorm~p~meanlog~sdlog~lower_tail~logp;;externalr_rlnorm:meanlog:float->sdlog:float->float="ml_rlnorm";;letrlnorm?(meanlog=0.0)?(sdlog=1.0)()=r_rlnorm~meanlog~sdlog;;externalr_dchisq:x:float->df:float->log:bool->float="ml_dchisq";;externalr_dnchisq:x:float->df:float->ncp:float->log:bool->float="ml_dnchisq";;letdchisq?ncp?(log=false)~dfx=matchncpwithNone->r_dchisq~x~df~log|Somencp->r_dnchisq~x~df~ncp~log;;externalr_pchisq:q:float->df:float->lower_tail:bool->logp:bool->float="ml_pchisq";;externalr_pnchisq:q:float->df:float->ncp:float->lower_tail:bool->logp:bool->float="ml_pnchisq";;letpchisq?ncp?(lower_tail=true)?(logp=false)~dfq=matchncpwithNone->r_pchisq~q~df~lower_tail~logp|Somencp->r_pnchisq~q~df~ncp~lower_tail~logp;;externalr_qchisq:p:float->df:float->lower_tail:bool->logp:bool->float="ml_qchisq";;externalr_qnchisq:p:float->df:float->ncp:float->lower_tail:bool->logp:bool->float="ml_qnchisq";;letqchisq?ncp?(lower_tail=true)?(logp=false)~dfp=matchncpwithNone->r_qchisq~p~df~lower_tail~logp|Somencp->r_qnchisq~p~df~ncp~lower_tail~logp;;externalr_rchisq:df:float->float="ml_rchisq";;externalr_rnchisq:df:float->ncp:float->float="ml_rnchisq";;letrchisq?ncpdf=matchncpwithNone->r_rchisq~df|Somencp->r_rnchisq~df~ncp;;externalr_df:x:float->df1:float->df2:float->log:bool->float="ml_df";;externalr_dnf:x:float->df1:float->df2:float->ncp:float->log:bool->float="ml_dnf";;letdf?ncp?(log=false)~df1~df2x=matchncpwithNone->r_df~x~df1~df2~log|Somencp->r_dnf~x~df1~df2~ncp~log;;externalr_pf:q:float->df1:float->df2:float->lower_tail:bool->logp:bool->float="ml_pnf";;externalr_pnf:q:float->df1:float->df2:float->ncp:float->lower_tail:bool->logp:bool->float="ml_pnf_bc""ml_pnf";;letpf?ncp?(lower_tail=true)?(logp=false)~df1~df2q=matchncpwithNone->r_pf~q~df1~df2~lower_tail~logp|Somencp->r_pnf~q~df1~df2~ncp~lower_tail~logp;;externalr_qf:p:float->df1:float->df2:float->lower_tail:bool->logp:bool->float="ml_qf";;externalr_qnf:p:float->df1:float->df2:float->ncp:float->lower_tail:bool->logp:bool->float="ml_qnf_bc""ml_qnf";;letqf?ncp?(lower_tail=true)?(logp=false)~df1~df2p=matchncpwithNone->r_qf~p~df1~df2~lower_tail~logp|Somencp->r_qnf~p~df1~df2~ncp~lower_tail~logp;;externalrf:df1:float->df2:float->float="ml_rf";;externalr_dt:x:float->df:float->log:bool->float="ml_dt";;externalr_dnt:x:float->df:float->ncp:float->log:bool->float="ml_dnt";;letdt?ncp?(log=false)~dfx=matchncpwithNone->r_dt~x~df~log|Somencp->r_dnt~x~df~ncp~log;;externalr_pt:q:float->df:float->lower_tail:bool->logp:bool->float="ml_pt";;externalr_pnt:q:float->df:float->ncp:float->lower_tail:bool->logp:bool->float="ml_pnt";;letpt?ncp?(lower_tail=true)?(logp=false)~dfq=matchncpwithNone->r_pt~q~df~lower_tail~logp|Somencp->r_pnt~q~df~ncp~lower_tail~logp;;externalr_qt:p:float->df:float->lower_tail:bool->logp:bool->float="ml_qt";;externalr_qnt:p:float->df:float->ncp:float->lower_tail:bool->logp:bool->float="ml_qnt";;letqt?ncp?(lower_tail=true)?(logp=false)~dfp=matchncpwithNone->r_qt~p~df~lower_tail~logp|Somencp->r_qnt~p~df~ncp~lower_tail~logp;;externalrt:float->float="ml_rt";;externalr_dbinom:x:float->size:float->prob:float->log:bool->float="ml_dbinom";;letdbinom?(log=false)~size~probx=r_dbinom~x~size~prob~log;;externalr_pbinom:q:float->size:float->prob:float->lower_tail:bool->logp:bool->float="ml_pbinom";;letpbinom?(lower_tail=true)?(logp=false)~size~probq=r_pbinom~q~size~prob~lower_tail~logp;;externalr_qbinom:p:float->size:float->prob:float->lower_tail:bool->logp:bool->float="ml_qbinom";;letqbinom?(lower_tail=true)?(logp=false)~size~probp=r_qbinom~p~size~prob~lower_tail~logp;;externalrbinom:size:float->prob:float->float="ml_rbinom";;externalr_dcauchy:x:float->location:float->scale:float->log:bool->float="ml_dcauchy";;letdcauchy?(location=0.0)?(scale=1.0)?(log=false)x=r_dcauchy~x~location~scale~log;;externalr_pcauchy:q:float->location:float->scale:float->lower_tail:bool->logp:bool->float="ml_pcauchy";;letpcauchy?(location=0.0)?(scale=1.0)?(lower_tail=true)?(logp=false)q=r_pcauchy~q~location~scale~lower_tail~logpexternalr_qcauchy:p:float->location:float->scale:float->lower_tail:bool->logp:bool->float="ml_qcauchy";;letqcauchy?(location=0.0)?(scale=1.0)?(lower_tail=true)?(logp=false)p=r_qcauchy~p~location~scale~lower_tail~logp;;externalr_rcauchy:location:float->scale:float->float="ml_rcauchy";;letrcauchy?(location=0.0)?(scale=1.0)()=r_rcauchy~location~scale;;externalr_dexp:x:float->rate:float->log:bool->float="ml_dexp";;letdexp?(rate=1.0)?(log=false)x=r_dexp~x~rate~log;;externalr_pexp:q:float->rate:float->lower_tail:bool->logp:bool->float="ml_pexp";;letpexp?(rate=1.0)?(lower_tail=true)?(logp=false)q=r_pexp~q~rate~lower_tail~logpexternalr_qexp:p:float->rate:float->lower_tail:bool->logp:bool->float="ml_qexp";;letqexp?(rate=1.0)?(lower_tail=true)?(logp=false)p=r_qexp~p~rate~lower_tail~logp;;externalr_rexp:rate:float->float="ml_rexp";;letrexp?(rate=1.0)()=r_rexp~rate;;externalr_dgeom:x:float->prob:float->log:bool->float="ml_dgeom";;letdgeom?(log=false)~probx=r_dgeom~x~prob~log;;externalr_pgeom:q:float->prob:float->lower_tail:bool->logp:bool->float="ml_pgeom";;letpgeom?(lower_tail=true)?(logp=false)~probq=r_pgeom~q~prob~lower_tail~logp;;externalr_qgeom:p:float->prob:float->lower_tail:bool->logp:bool->float="ml_qgeom";;letqgeom?(lower_tail=true)?(logp=false)~probp=r_qgeom~p~prob~lower_tail~logp;;externalrgeom:float->float="ml_rgeom";;externalr_dhyper:x:float->m:float->n:float->k:float->log:bool->float="ml_dhyper";;letdhyper?(log=false)~m~n~kx=r_dhyper~x~m~n~k~log;;externalr_phyper:q:float->m:float->n:float->k:float->lower_tail:bool->logp:bool->float="ml_phyper_bc""ml_phyper";;letphyper?(lower_tail=true)?(logp=false)~m~n~kq=r_phyper~q~m~n~k~lower_tail~logp;;externalr_qhyper:p:float->m:float->n:float->k:float->lower_tail:bool->logp:bool->float="ml_qhyper_bc""ml_qhyper";;letqhyper?(lower_tail=true)?(logp=false)~m~n~kp=r_qhyper~p~m~n~k~lower_tail~logp;;externalrhyper:m:float->n:float->k:float->float="ml_rhyper";;externalr_dnbinom:x:float->size:float->prob:float->log:bool->float="ml_dnbinom";;letdnbinom?(log=false)~size~probx=r_dnbinom~x~size~prob~log;;externalr_pnbinom:q:float->size:float->prob:float->lower_tail:bool->logp:bool->float="ml_pnbinom";;letpnbinom?(lower_tail=true)?(logp=false)~size~probq=r_pnbinom~q~size~prob~lower_tail~logp;;externalr_qnbinom:p:float->size:float->prob:float->lower_tail:bool->logp:bool->float="ml_qnbinom";;letqnbinom?(lower_tail=true)?(logp=false)~size~probp=r_qnbinom~p~size~prob~lower_tail~logp;;externalrnbinom:size:float->prob:float->float="ml_rnbinom";;externalr_dpois:x:float->lambda:float->log:bool->float="ml_dpois";;letdpois?(log=false)~lambdax=r_dpois~x~lambda~log;;externalr_ppois:q:float->lambda:float->lower_tail:bool->logp:bool->float="ml_ppois";;letppois?(lower_tail=true)?(logp=false)~lambdaq=r_ppois~q~lambda~lower_tail~logpexternalr_qpois:p:float->lambda:float->lower_tail:bool->logp:bool->float="ml_qpois";;letqpois?(lower_tail=true)?(logp=false)~lambdap=r_qpois~p~lambda~lower_tail~logp;;externalr_rpois:lambda:float->float="ml_rpois";;letrpoislambda=r_rpois~lambda;;externalr_dweibull:x:float->shape:float->scale:float->log:bool->float="ml_dweibull";;letdweibull?(scale=1.0)?(log=false)~shapex=r_dweibull~x~shape~scale~log;;externalr_pweibull:q:float->shape:float->scale:float->lower_tail:bool->logp:bool->float="ml_pweibull";;letpweibull?(scale=1.0)?(lower_tail=true)?(logp=false)~shapeq=r_pweibull~q~shape~scale~lower_tail~logp;;externalr_qweibull:p:float->shape:float->scale:float->lower_tail:bool->logp:bool->float="ml_qweibull";;letqweibull?(scale=1.0)?(lower_tail=true)?(logp=false)~shapep=r_qweibull~p~shape~scale~lower_tail~logp;;externalr_rweibull:shape:float->scale:float->float="ml_rweibull";;letrweibull?(scale=1.0)shape=r_rweibull~shape~scale;;externalr_dlogis:x:float->location:float->scale:float->log:bool->float="ml_dlogis";;letdlogis?(location=0.0)?(scale=1.0)?(log=false)x=r_dlogis~x~location~scale~log;;externalr_plogis:q:float->location:float->scale:float->lower_tail:bool->logp:bool->float="ml_plogis";;letplogis?(location=0.0)?(scale=1.0)?(lower_tail=true)?(logp=false)q=r_plogis~q~location~scale~lower_tail~logpexternalr_qlogis:p:float->location:float->scale:float->lower_tail:bool->logp:bool->float="ml_qlogis";;letqlogis?(location=0.0)?(scale=1.0)?(lower_tail=true)?(logp=false)p=r_qlogis~p~location~scale~lower_tail~logp;;externalr_rlogis:location:float->scale:float->float="ml_rlogis";;letrlogis?(location=0.0)?(scale=1.0)()=r_rlogis~location~scale;;externalr_ptukey:q:float->nmeans:float->df:float->nranges:float->lower_tail:bool->logp:bool->float="ml_ptukey_bc""ml_ptukey";;letptukey?(nranges=1.0)?(lower_tail=true)?(logp=false)~nmeans~dfq=r_ptukey~q~nmeans~df~nranges~lower_tail~logp;;externalr_qtukey:p:float->nmeans:float->df:float->nranges:float->lower_tail:bool->logp:bool->float="ml_qtukey_bc""ml_qtukey";;letqtukey?(nranges=1.0)?(lower_tail=true)?(logp=false)~nmeans~dfp=r_qtukey~p~nmeans~df~nranges~lower_tail~logp;;externalr_dwilcox:x:float->m:float->n:float->log:bool->float="ml_dwilcox";;letdwilcox?(log=false)~m~nx=r_dwilcox~x~m~n~log;;externalr_pwilcox:q:float->m:float->n:float->lower_tail:bool->logp:bool->float="ml_pwilcox";;letpwilcox?(lower_tail=true)?(logp=false)~m~nq=r_pwilcox~q~m~n~lower_tail~logp;;externalr_qwilcox:p:float->m:float->n:float->lower_tail:bool->logp:bool->float="ml_qwilcox";;letqwilcox?(lower_tail=true)?(logp=false)~m~np=r_qwilcox~p~m~n~lower_tail~logp;;externalrwilcox:m:float->n:float->float="ml_rwilcox";;externalr_dsignrank:x:float->n:float->log:bool->float="ml_dsignrank";;letdsignrank?(log=false)~nx=r_dsignrank~x~n~log;;externalr_psignrank:q:float->n:float->lower_tail:bool->logp:bool->float="ml_psignrank";;letpsignrank?(lower_tail=true)?(logp=false)~nq=r_psignrank~q~n~lower_tail~logpexternalr_qsignrank:p:float->n:float->lower_tail:bool->logp:bool->float="ml_qsignrank";;letqsignrank?(lower_tail=true)?(logp=false)~np=r_qsignrank~p~n~lower_tail~logp;;externalr_rsignrank:n:float->float="ml_rsignrank";;letrsignrankn=r_rsignrank~n;;externalgammafn:float->float="ml_gammafn";;externallgammafn:float->float="ml_lgammafn";;(*void dpsifn(double, int, int, int, double*, int*, int* );*)externalpsigamma:x:float->deriv:float->float="ml_psigamma";;letpsigamma?(deriv=0.0)x=psigamma~x~deriv;;externaldigamma:float->float="ml_digamma";;externaltrigamma:float->float="ml_trigamma";;externalbeta:a:float->b:float->float="ml_beta";;externallbeta:a:float->b:float->float="ml_lbeta";;externalchoose:n:float->k:float->float="ml_choose";;externallchoose:n:float->k:float->float="ml_lchoose";;externalr_bessel_i:x:float->nu:float->expon_scaled:float->float="ml_bessel_i";;letbessel_i?(expon_scaled=true)~nux=letexpon_scaled=ifexpon_scaledthen1.0else0.0inr_bessel_i~x~nu~expon_scaled;;externalr_bessel_k:x:float->nu:float->expon_scaled:float->float="ml_bessel_k";;letbessel_k?(expon_scaled=true)~nux=letexpon_scaled=ifexpon_scaledthen1.0else0.0inr_bessel_k~x~nu~expon_scaled;;externalbessel_j:x:float->nu:float->float="ml_bessel_j";;externalbessel_y:x:float->nu:float->float="ml_bessel_y";;externalsign:float->float="ml_sign";;externalftrunc:float->float="ml_ftrunc";;externalr_round:x:float->digits:float->float="ml_fround";;letfround?(digits=0)x=r_round~x~digits:(floatdigits);;externalr_fsign:x:float->digits:float->float="ml_fsign";;letfsign?(digits=0)x=r_fsign~x~digits:(floatdigits);;externallog1pmx:float->float="ml_log1pmx";;externallgamma1p:float->float="ml_lgamma1p";;