2222#include < Rcpp.h>
2323using namespace Rcpp ;
2424
25+
26+ // ------------------- Normal Distribution
27+
2528// [[Rcpp::export]]
2629NumericVector runit_dnorm ( double x, double a, double b ){
2730 return NumericVector::create (R::dnorm (x, a, b, 0 ), R::dnorm (x, a, b, 1 ));
@@ -39,6 +42,13 @@ NumericVector runit_qnorm( double x, double a, double b ){
3942 R::qnorm (x, a, b, 0 , 0 ), R::qnorm (log (x), a, b, 0 , 1 ));
4043}
4144
45+ // [[Rcpp::export]]
46+ NumericVector runit_rnorm ( double a, double b ){
47+ return NumericVector::create (R::rnorm (a, b), R::rnorm (a, b));
48+ }
49+
50+ // ------------------- Uniform Distribution
51+
4252// [[Rcpp::export]]
4353NumericVector runit_dunif ( double x, double a, double b ){
4454 return NumericVector::create (R::dunif (x, a, b, 0 ), R::dunif (x, a, b, 1 ));
@@ -56,6 +66,14 @@ NumericVector runit_qunif( double x, double a, double b ){
5666 R::qunif (x, a, b, 0 , 0 ), R::qunif (log (x), a, b, 0 , 1 ));
5767}
5868
69+ // [[Rcpp::export]]
70+ NumericVector runit_runif ( double a, double b ){
71+ return NumericVector::create (R::runif (a, b), R::runif (a, b));
72+ }
73+
74+
75+ // ------------------- Gamma Distribution
76+
5977// [[Rcpp::export]]
6078NumericVector runit_dgamma ( double x, double a, double b ){
6179 return NumericVector::create (R::dgamma (x, a, b, 0 ), R::dgamma (x, a, b, 1 ));
@@ -73,6 +91,14 @@ NumericVector runit_qgamma( double x, double a, double b ){
7391 R::qgamma (x, a, b, 0 , 0 ), R::qgamma (log (x), a, b, 0 , 1 ));
7492}
7593
94+ // [[Rcpp::export]]
95+ NumericVector runit_rgamma ( double a, double b ){
96+ return NumericVector::create (R::rgamma (a, b), R::rgamma (a, b));
97+ }
98+
99+
100+ // ------------------- Beta Distribution
101+
76102// [[Rcpp::export]]
77103NumericVector runit_dbeta ( double x, double a, double b ){
78104 return NumericVector::create (R::dbeta (x, a, b, 0 ), R::dbeta (x, a, b, 1 ));
@@ -90,6 +116,14 @@ NumericVector runit_qbeta( double x, double a, double b ){
90116 R::qbeta (x, a, b, 0 , 0 ), R::qbeta (log (x), a, b, 0 , 1 ));
91117}
92118
119+ // [[Rcpp::export]]
120+ NumericVector runit_rbeta ( double a, double b ){
121+ return NumericVector::create (R::rbeta (a, b), R::rbeta (a, b));
122+ }
123+
124+
125+ // ------------------- Log Normal Distribution
126+
93127// [[Rcpp::export]]
94128NumericVector runit_dlnorm ( double x, double a, double b ){
95129 return NumericVector::create (R::dlnorm (x, a, b, 0 ), R::dlnorm (x, a, b, 1 ));
@@ -107,6 +141,13 @@ NumericVector runit_qlnorm( double x, double a, double b ){
107141 R::qlnorm (x, a, b, 0 , 0 ), R::qlnorm (log (x), a, b, 0 , 1 ));
108142}
109143
144+ // [[Rcpp::export]]
145+ NumericVector runit_rlnorm ( double a, double b ){
146+ return NumericVector::create (R::rlnorm (a, b), R::rlnorm (a, b));
147+ }
148+
149+ // ------------------- Chi-Squared Distribution
150+
110151// [[Rcpp::export]]
111152NumericVector runit_dchisq ( double x, double a ){
112153 return NumericVector::create (R::dchisq (x, a, 0 ), R::dchisq (x, a, 1 ));
@@ -124,6 +165,13 @@ NumericVector runit_qchisq( double x, double a ){
124165 R::qchisq (x, a, 0 , 0 ), R::qchisq (log (x), a, 0 , 1 ));
125166}
126167
168+ // [[Rcpp::export]]
169+ NumericVector runit_rchisq ( double a ){
170+ return NumericVector::create (R::rchisq (a), R::rchisq (a));
171+ }
172+
173+ // ------------------- Non-central Chi-Squared Distribution
174+
127175// [[Rcpp::export]]
128176NumericVector runit_dnchisq ( double x, double a, double b ){
129177 return NumericVector::create (R::dnchisq (x, a, b, 0 ), R::dnchisq (x, a, b, 1 ));
@@ -141,6 +189,8 @@ NumericVector runit_qnchisq( double x, double a, double b ){
141189 R::qnchisq (x, a, b, 0 , 0 ), R::qnchisq (log (x), a, b, 0 , 1 ));
142190}
143191
192+ // ------------------- F Distribution
193+
144194// [[Rcpp::export]]
145195NumericVector runit_df ( double x, double a, double b ){
146196 return NumericVector::create (R::df (x, a, b, 0 ), R::df (x, a, b, 1 ));
@@ -158,6 +208,13 @@ NumericVector runit_qf( double x, double a, double b ){
158208 R::qf (x, a, b, 0 , 0 ), R::qf (log (x), a, b, 0 , 1 ));
159209}
160210
211+ // [[Rcpp::export]]
212+ NumericVector runit_rf ( double a, double b ){
213+ return NumericVector::create (R::rf (a, b), R::rf (a, b));
214+ }
215+
216+ // ------------------- Student t Distribution
217+
161218// [[Rcpp::export]]
162219NumericVector runit_dt ( double x, double a ){
163220 return NumericVector::create (R::dt (x, a, 0 ), R::dt (x, a, 1 ));
@@ -175,6 +232,13 @@ NumericVector runit_qt( double x, double a ){
175232 R::qt (x, a, 0 , 0 ), R::qt (log (x), a, 0 , 1 ));
176233}
177234
235+ // [[Rcpp::export]]
236+ NumericVector runit_rt ( double a ){
237+ return NumericVector::create (R::rt (a), R::rt (a));
238+ }
239+
240+ // ------------------- Binomial Distribution
241+
178242// [[Rcpp::export]]
179243NumericVector runit_dbinom ( double x, double a, double b ){
180244 return NumericVector::create (R::dbinom (x, a, b, 0 ), R::dbinom (x, a, b, 1 ));
@@ -192,6 +256,13 @@ NumericVector runit_qbinom( double x, double a, double b ){
192256 R::qbinom (x, a, b, 0 , 0 ), R::qbinom (log (x), a, b, 0 , 1 ));
193257}
194258
259+ // [[Rcpp::export]]
260+ NumericVector runit_rbinom ( double a, double b ){
261+ return NumericVector::create (R::rbinom (a, b), R::rbinom (a, b));
262+ }
263+
264+ // ------------------- Cauchy Distribution
265+
195266// [[Rcpp::export]]
196267NumericVector runit_dcauchy ( double x, double a, double b ){
197268 return NumericVector::create (R::dcauchy (x, a, b, 0 ), R::dcauchy (x, a, b, 1 ));
@@ -209,6 +280,13 @@ NumericVector runit_qcauchy( double x, double a, double b ){
209280 R::qcauchy (x, a, b, 0 , 0 ), R::qcauchy (log (x), a, b, 0 , 1 ));
210281}
211282
283+ // [[Rcpp::export]]
284+ NumericVector runit_rcauchy ( double a, double b ){
285+ return NumericVector::create (R::rcauchy (a, b), R::rcauchy (a, b));
286+ }
287+
288+ // ------------------- Exponential Distribution
289+
212290// [[Rcpp::export]]
213291NumericVector runit_dexp ( double x, double a ){
214292 return NumericVector::create (R::dexp (x, a, 0 ), R::dexp (x, a, 1 ));
@@ -226,6 +304,13 @@ NumericVector runit_qexp( double x, double a ){
226304 R::qexp (x, a, 0 , 0 ), R::qexp (log (x), a, 0 , 1 ));
227305}
228306
307+ // [[Rcpp::export]]
308+ NumericVector runit_rexp ( double a ){
309+ return NumericVector::create (R::rexp (a), R::rexp (a));
310+ }
311+
312+ // ------------------- Geometric Distribution
313+
229314// [[Rcpp::export]]
230315NumericVector runit_dgeom ( double x, double a ){
231316 return NumericVector::create (R::dgeom (x, a, 0 ), R::dgeom (x, a, 1 ));
@@ -243,6 +328,13 @@ NumericVector runit_qgeom( double x, double a ){
243328 R::qgeom (x, a, 0 , 0 ), R::qgeom (log (x), a, 0 , 1 ));
244329}
245330
331+ // [[Rcpp::export]]
332+ NumericVector runit_rgeom ( double a ){
333+ return NumericVector::create (R::rgeom (a), R::rgeom (a));
334+ }
335+
336+ // ------------------- Hypergeometric Distribution
337+
246338// [[Rcpp::export]]
247339NumericVector runit_dhyper ( double x, double a, double b, double c ){
248340 return NumericVector::create (R::dhyper (x, a, b, c, 0 ), R::dhyper (x, a, b, c, 1 ));
@@ -260,6 +352,13 @@ NumericVector runit_qhyper( double x, double a, double b, double c ){
260352 R::qhyper (x, a, b, c, 0 , 0 ), R::qhyper (log (x), a, b, c, 0 , 1 ));
261353}
262354
355+ // [[Rcpp::export]]
356+ NumericVector runit_rhyper ( double a, double b, double c ){
357+ return NumericVector::create (R::rhyper (a, b, c), R::rhyper (a, b, c));
358+ }
359+
360+ // ------------------- Negative Binomial Distribution
361+
263362// [[Rcpp::export]]
264363NumericVector runit_dnbinom ( double x, double a, double b ){
265364 return NumericVector::create (R::dnbinom (x, a, b, 0 ), R::dnbinom (x, a, b, 1 ));
@@ -277,6 +376,13 @@ NumericVector runit_qnbinom( double x, double a, double b ){
277376 R::qnbinom (x, a, b, 0 , 0 ), R::qnbinom (log (x), a, b, 0 , 1 ));
278377}
279378
379+ // [[Rcpp::export]]
380+ NumericVector runit_rnbinom ( double a, double b){
381+ return NumericVector::create (R::rnbinom (a, b), R::rnbinom (a, b));
382+ }
383+
384+ // ------------------- Poisson Distribution
385+
280386// [[Rcpp::export]]
281387NumericVector runit_dpois ( double x, double a ){
282388 return NumericVector::create (R::dpois (x, a, 0 ), R::dpois (x, a, 1 ));
@@ -294,6 +400,13 @@ NumericVector runit_qpois( double x, double a ){
294400 R::qpois (x, a, 0 , 0 ), R::qpois (log (x), a, 0 , 1 ));
295401}
296402
403+ // [[Rcpp::export]]
404+ NumericVector runit_rpois ( double a ){
405+ return NumericVector::create (R::rpois (a), R::rpois (a));
406+ }
407+
408+ // ------------------- Weibull Distribution
409+
297410// [[Rcpp::export]]
298411NumericVector runit_dweibull ( double x, double a, double b ){
299412 return NumericVector::create (R::dweibull (x, a, b, 0 ), R::dweibull (x, a, b, 1 ));
@@ -311,6 +424,13 @@ NumericVector runit_qweibull( double x, double a, double b ){
311424 R::qweibull (x, a, b, 0 , 0 ), R::qweibull (log (x), a, b, 0 , 1 ));
312425}
313426
427+ // [[Rcpp::export]]
428+ NumericVector runit_rweibull ( double a, double b ){
429+ return NumericVector::create (R::rweibull (a, b), R::rweibull (a, b));
430+ }
431+
432+ // ------------------- Logistic Distribution
433+
314434// [[Rcpp::export]]
315435NumericVector runit_dlogis ( double x, double a, double b ){
316436 return NumericVector::create (R::dlogis (x, a, b, 0 ), R::dlogis (x, a, b, 1 ));
@@ -328,6 +448,13 @@ NumericVector runit_qlogis( double x, double a, double b ){
328448 R::qlogis (x, a, b, 0 , 0 ), R::qlogis (log (x), a, b, 0 , 1 ));
329449}
330450
451+ // [[Rcpp::export]]
452+ NumericVector runit_rlogis ( double a, double b ){
453+ return NumericVector::create (R::rlogis (a, b), R::rlogis (a, b));
454+ }
455+
456+ // ------------------- Non-central Beta Distribution
457+
331458// [[Rcpp::export]]
332459NumericVector runit_dnbeta ( double x, double a, double b, double c ){
333460 return NumericVector::create (R::dnbeta (x, a, b, c, 0 ), R::dnbeta (x, a, b, c, 1 ));
@@ -345,6 +472,8 @@ NumericVector runit_qnbeta( double x, double a, double b, double c ){
345472 R::qnbeta (x, a, b, c, 0 , 0 ), R::qnbeta (log (x), a, b, c, 0 , 1 ));
346473}
347474
475+ // ------------------- Non-central F Distribution
476+
348477// [[Rcpp::export]]
349478NumericVector runit_dnf ( double x, double a, double b, double c ){
350479 return NumericVector::create (R::dnf (x, a, b, c, 0 ), R::dnf (x, a, b, c, 1 ));
@@ -362,6 +491,8 @@ NumericVector runit_qnf( double x, double a, double b, double c ){
362491 R::qnf (x, a, b, c, 0 , 0 ), R::qnf (log (x), a, b, c, 0 , 1 ));
363492}
364493
494+ // ------------------- Non-central Student t Distribution
495+
365496// [[Rcpp::export]]
366497NumericVector runit_dnt ( double x, double a, double b ){
367498 return NumericVector::create (R::dnt (x, a, b, 0 ), R::dnt (x, a, b, 1 ));
@@ -379,6 +510,8 @@ NumericVector runit_qnt( double x, double a, double b ){
379510 R::qnt (x, a, b, 0 , 0 ), R::qnt (log (x), a, b, 0 , 1 ));
380511}
381512
513+ // ------------------- Wilcoxon Rank Sum Statistic Distribution
514+
382515// [[Rcpp::export]]
383516NumericVector runit_dwilcox ( double x, double a, double b ){
384517 return NumericVector::create (R::dwilcox (x, a, b, 0 ), R::dwilcox (x, a, b, 1 ));
@@ -396,3 +529,7 @@ NumericVector runit_qwilcox( double x, double a, double b ){
396529 R::qwilcox (x, a, b, 0 , 0 ), R::qwilcox (log (x), a, b, 0 , 1 ));
397530}
398531
532+ // [[Rcpp::export]]
533+ NumericVector runit_rwilcox ( double a, double b ){
534+ return NumericVector::create (R::rwilcox (a, b), R::rwilcox (a, b));
535+ }
0 commit comments