#############################################################################

[main]

[main - data:]

# method (for information only: the program scans the file name)
method: VNROU

[main - header:]

/* prototypes */

int unur_vnrou_set_pedantic( UNUR_PAR *par, int pedantic );

\#define COMPARE_SAMPLE_SIZE   (10000)
\#define VIOLATE_SAMPLE_SIZE   (20)

/* Chi-square goodness-of-fit tests sometimes fail once due to numerical */
/* errors. So we accept more such failure than for other methods.        */
\#define CHI2_FAILURES_TOLERATED (5)

/* we need marginal distributions for the chi2 tests */
\#define unur_distr_multicauchy   unur_distr_multicauchy_w_marginals
\#define unur_distr_multinormal   unur_distr_multinormal_w_marginals
\#define unur_distr_multistudent  unur_distr_multistudent_w_marginals

#############################################################################

[new]

[new - invalid NULL ptr: 
   distr = NULL; ]

~( distr );
        --> expected_NULL --> UNUR_ERR_NULL


[new - invalid distribution type:
   distr = unur_distr_discr_new(); ]

~( distr );
         --> expected_NULL --> UNUR_ERR_DISTR_INVALID


#############################################################################

[set]

[set - invalid NULL ptr: 
   par = NULL; ]

~_u( par, NULL, NULL );
	--> expected_setfailed --> UNUR_ERR_NULL

~_v( par, 1. );
	--> expected_setfailed --> UNUR_ERR_NULL

~_r( par, 1. );
	--> expected_setfailed --> UNUR_ERR_NULL

~_verify( par, 1);
	--> expected_setfailed --> UNUR_ERR_NULL


[set - invalid parameter object:
   double fpar[2] = {0.,1.};
   distr = unur_distr_normal(fpar,2);
   par = unur_arou_new(distr); ]

~_u( par, NULL, NULL );
	--> expected_setfailed --> UNUR_ERR_PAR_INVALID

~_v( par, 1. );
	--> expected_setfailed --> UNUR_ERR_PAR_INVALID

~_r( par, 1. );
	--> expected_setfailed --> UNUR_ERR_PAR_INVALID

~_verify( par, 1);
	--> expected_setfailed --> UNUR_ERR_PAR_INVALID

unur_par_free(par);

[set - invalid parameters:
   const int dim = 3;
   double mean[] = {1.,2.,3.};
   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
   double umin[] = {1.,1.,1.};
   double umax[] = {2.,1.,2.};
   distr = unur_distr_multinormal( dim, mean, covar );
   par = unur_vnrou_new(distr); ]

~_u( par, NULL, NULL );
	--> expected_setfailed --> UNUR_ERR_NULL

~_u( par, umin, umax );
	--> expected_setfailed --> UNUR_ERR_PAR_SET

~_v( par, -1. );
	--> expected_setfailed --> UNUR_ERR_PAR_SET

~_v( par, 0. );
	--> expected_setfailed --> UNUR_ERR_PAR_SET

~_r( par, 0. );
	--> none --> UNUR_ERR_PAR_SET

unur_par_free(par);


#############################################################################

[get]

[get - invalid NULL ptr:
	gen = NULL; ]

~_volumehat( gen );
        --> expected_INFINITY --> UNUR_ERR_NULL

[get - invalid generator object:
   distr = unur_distr_normal(NULL,0);
   par = unur_arou_new(distr);
   gen = unur_init(par); <-- ! NULL ]

~_volumehat( gen );
        --> expected_INFINITY --> UNUR_ERR_GEN_INVALID

#############################################################################

[chg]

[chg - invalid generator object:
   double umin[] = {1.,1.,1.};
   double umax[] = {2.,2.,2.};
   distr = unur_distr_normal(NULL,0);
   par = unur_arou_new(distr);
   unur_set_debug(par,0);
   gen = unur_init( par ); <-- ! NULL ]

~_u( gen, umin, umax );
	--> expected_setfailed --> UNUR_ERR_GEN_INVALID

~_v( gen, 1. );
	--> expected_setfailed --> UNUR_ERR_GEN_INVALID

~_verify(gen,1);
        --> expected_setfailed --> UNUR_ERR_GEN_INVALID

[chg - invalid parameters:
   const int dim = 3;
   double mean[] = {1.,2.,3.};
   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
   double umin[] = {1.,1.,1.};
   double umax[] = {2.,1.,2.};
   distr = unur_distr_multinormal( dim, mean, covar );
   par = unur_vnrou_new(distr);
   gen = unur_init(par);  <-- ! NULL ]

~_u( gen, umin, umax );
	--> expected_setfailed --> UNUR_ERR_PAR_SET

~_v( gen, -1. );
	--> expected_setfailed --> UNUR_ERR_PAR_SET


#############################################################################

# [init]

#############################################################################

[reinit]

[reinit - does not exist:
   distr = unur_distr_multinormal(3,NULL,NULL);
   par = unur_vnrou_new(distr);
   gen = unur_init( par ); <-- ! NULL ]

unur_reinit( gen );
	--> expected_reinit

#############################################################################

[sample]

[sample - compare:
   const int dim = 3;
   double mean[] = {1.,2.,3.};
   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
   distr = unur_distr_multinormal( dim, mean, covar );
   par = unur_vnrou_new(distr);
   gen = unur_init( par ); <-- ! NULL ]

# default
	-->compare_sequence_gen_start

# default - verifying mode
unur_free(gen);
par = unur_vnrou_new(distr);
unur_vnrou_set_verify(par,1);
gen = unur_init( par );
	-->compare_sequence_gen


# r = 0.5
unur_free(gen);
par = unur_vnrou_new(distr);
unur_vnrou_set_r(par,0.5);
gen = unur_init( par );
	-->compare_sequence_gen_start

# r = 0.5 - verifying mode
unur_free(gen);
par = unur_vnrou_new(distr);
unur_vnrou_set_r(par,0.5);
unur_vnrou_set_verify(par,1);
gen = unur_init( par );
	-->compare_sequence_gen


[sample - compare 1dim:
   const int dim = 1;
   double mean[] = {1.};
   double covar[] = {2.};
   distr = unur_distr_multinormal( dim, mean, covar );
   par = unur_vnrou_new(distr);
   gen = unur_init( par ); <-- ! NULL ]

# default
	-->compare_sequence_gen_start

# default - verifying mode
unur_free(gen);
par = unur_vnrou_new(distr);
unur_vnrou_set_verify(par,1);
gen = unur_init( par );
	-->compare_sequence_gen


[sample - compare clone:
   const int dim = 3;
   double mean[] = {1.,2.,3.};
   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
   UNUR_GEN *clone;
   distr = unur_distr_multinormal( dim, mean, covar );
   par = unur_vnrou_new(distr);
   gen = unur_init( par ); <-- ! NULL ]

/* normal distribution */
	-->compare_sequence_gen_start

/* clone */
clone = unur_gen_clone(gen);
unur_free(gen);
gen = clone;
	-->compare_sequence_gen

#.....................................................................

[sample - compare clone 1dim:
   const int dim = 1;
   double mean[] = {1.};
   double covar[] = {2.};
   UNUR_GEN *clone;
   distr = unur_distr_multinormal( dim, mean, covar );
   par = unur_vnrou_new(distr);
   gen = unur_init( par ); <-- ! NULL ]

/* normal distribution */
	-->compare_sequence_gen_start

/* clone */
clone = unur_gen_clone(gen);
unur_free(gen);
gen = clone;
	-->compare_sequence_gen

#.....................................................................

[sample - compare reinit:
   distr = unur_distr_multinormal(3,NULL,NULL);
   par = NULL;
   gen = NULL; ]

/* original generator object */
par = unur_vnrou_new(distr);
gen = unur_init(par);
        -->compare_sequence_gen_start

/* reinit */
unur_reinit(gen);
        -->compare_sequence_gen


#############################################################################

[validate]

[validate - generators:]

# default program
par[0] = unur_vnrou_new(@distr@);

# r = 0.5
par[1] = unur_vnrou_new(@distr@);
unur_vnrou_set_r(par,0.5);

# r = 2
par[2] = unur_vnrou_new(@distr@);
unur_vnrou_set_r(par,2.);

# default with bounding rectangle
{ double umin[] = {-0.608928,-0.608928,-0.608928};
double umax[] = { 0.608928, 0.608928, 0.608928};
double vmax = 0.51;
par[3] = unur_vnrou_new(@distr@);
unur_vnrou_set_u(par,umin,umax);
unur_vnrou_set_v(par,vmax); }


# default with bounding rectangle
{ double umin[] = {-0.608928,-0.608928,-0.608928};
double umax[] = { 0.608928, 0.608928, 0.608928};
double vmax = 0.70;
par[4] = unur_vnrou_new(@distr@);
unur_vnrou_set_u(par,umin,umax);
unur_vnrou_set_v(par,vmax); }

# default variant but reinitialized with changed distribution
{ UNUR_DISTR *dg =NULL;
double mean[]  = { -1., 2., -3. };
double covar[] = { 2., 2., 0.9,   2., 4., 3.,   0.9, 3., 3. };
par[5] = unur_vnrou_new(@distr@);
dg = unur_get_distr(gen);
unur_distr_cvec_set_mean(dg,mean);
unur_distr_cvec_set_covar(dg,covar);
unur_distr_cvec_upd_mode(dg);
unur_distr_cvec_upd_pdfvol(dg);
unur_reinit(gen); }


[validate - distributions:]

# standard multinormal distribution
distr[0] = unur_distr_multinormal(3,NULL,NULL);


# multinormal distribution, dim = 3 
double mean[]  = { 1., 2., 3. };
double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
distr[1] = unur_distr_multinormal(3,mean,covar);


# random multinormal distribution
\#define dim (2)
int i;
double mean[dim], covar[dim*dim];
UNUR_DISTR *covar_distr;
UNUR_GEN *covar_gen;
UNUR_GEN *mean_gen;
covar_distr = unur_distr_correlation(dim);
covar_gen = unur_init(unur_mcorr_new(covar_distr));
mean_gen = unur_str2gen("normal(5,1)");
for (i=0; i<dim; i++) 
   mean[i] = unur_sample_cont(mean_gen);
do { 
   unur_sample_matr(covar_gen,covar);
   distr[2] = unur_distr_multinormal(dim,mean,covar); 
} while (distr[2]==NULL);
unur_distr_free(covar_distr);
unur_free(covar_gen);
unur_free(mean_gen); 
\#undef dim


# random multinormal distribution
\#define dim (3)
int i;
double mean[dim], covar[dim*dim];
UNUR_DISTR *covar_distr;
UNUR_GEN *covar_gen;
UNUR_GEN *mean_gen;
covar_distr = unur_distr_correlation(dim);
covar_gen = unur_init(unur_mcorr_new(covar_distr));
mean_gen = unur_str2gen("normal(5,1)");
for (i=0; i<dim; i++) 
   mean[i] = unur_sample_cont(mean_gen);
do { 
   unur_sample_matr(covar_gen,covar);
   distr[3] = unur_distr_multinormal(dim,mean,covar); 
} while (distr[3]==NULL);
unur_distr_free(covar_distr);
unur_free(covar_gen);
unur_free(mean_gen); 
\#undef dim


# multinormal distribution, dim = 3, shifted center 
double mean[]  = { -1., -2., -3. };
double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
distr[4] = unur_distr_multinormal(3,mean,covar);
unur_distr_cvec_set_center(distr[4],NULL);


# standard "multinormal" distribution with dimension 1
distr[5] = unur_distr_multinormal(1,NULL,NULL);


# multinormal distribution, dim = 1, shifted center 
double mean[]  = { -1. };
double covar[] = { 2. };
distr[6] = unur_distr_multinormal(1,mean,covar);
unur_distr_cvec_set_center(distr[6],NULL);


# multinormal with AR(1) (rho=0.5, dim=2) 
distr[7] = unur_distr_multinormal_ar1(2,NULL,0.5);

# multinormal with AR(1) (rho=0.5, dim=3) 
distr[8] = unur_distr_multinormal_ar1(3,NULL,0.5);

# multinormal with AR(1) (rho=0.5, dim=4) 
distr[9] = unur_distr_multinormal_ar1(4,NULL,0.5);

# multinormal with AR(1) (rho=0.5, dim=5) 
distr[10] = unur_distr_multinormal_ar1(5,NULL,0.5);

# multicauchy with AR(1) (rho=0.2, dim=2) 
distr[11] = unur_distr_multicauchy_ar1(2,NULL,0.2);

# multicauchy with AR(1) (rho=0.2, dim=3) 
distr[12] = unur_distr_multicauchy_ar1(3,NULL,0.2);

# multicauchy with AR(1) (rho=0.2, dim=4) 
distr[13] = unur_distr_multicauchy_ar1(4,NULL,0.2);

# multicauchy with AR(1) (rho=0.2, dim=5) 
distr[14] = unur_distr_multicauchy_ar1(5,NULL,0.2);

# multistudent with AR(1) (rho=0.4, dim=3, nu=4) 
distr[15] = unur_distr_multistudent_ar1(3,4.,NULL,0.4);

# multistudent with AR(1) (rho=0.4, dim=3, nu=5) 
distr[16] = unur_distr_multistudent_ar1(3,5.,NULL,0.4);

# multistudent with AR(1) (rho=0.4, dim=3, nu=6) 
distr[17] = unur_distr_multistudent_ar1(3,6.,NULL,0.4);

# multistudent with AR(1) (rho=0.4, dim=3, nu=7) 
distr[18] = unur_distr_multistudent_ar1(3,7.,NULL,0.4);

# multinormal with constant rho (rho=0.5, dim=2) 
distr[19] = unur_distr_multinormal_constantrho(2,NULL,0.5);

# multinormal with constant rho (rho=0.5, dim=3) 
distr[20] = unur_distr_multinormal_constantrho(3,NULL,0.5);

# multinormal with constant rho (rho=0.5, dim=4) 
distr[21] = unur_distr_multinormal_constantrho(4,NULL,0.5);

# multinormal with constant rho (rho=0.5, dim=5) 
distr[22] = unur_distr_multinormal_constantrho(5,NULL,0.5);

# multicauchy with constant rho (rho=0.2, dim=2) 
distr[23] = unur_distr_multicauchy_constantrho(2,NULL,0.2);

# multicauchy with constant rho (rho=0.2, dim=3) 
distr[24] = unur_distr_multicauchy_constantrho(3,NULL,0.2);

# multicauchy with constant rho (rho=0.2, dim=4) 
distr[25] = unur_distr_multicauchy_constantrho(4,NULL,0.2);

# multicauchy with constant rho (rho=0.2, dim=5) 
distr[26] = unur_distr_multicauchy_constantrho(5,NULL,0.2);

# multistudent with constant rho (rho=0.4, dim=3, nu=4) 
distr[27] = unur_distr_multistudent_constantrho(3,4.,NULL,0.4);

# multistudent with constant rho (rho=0.4, dim=3, nu=5) 
distr[28] = unur_distr_multistudent_constantrho(3,5.,NULL,0.4);

# multistudent with constant rho (rho=0.4, dim=3, nu=6) 
distr[29] = unur_distr_multistudent_constantrho(3,6.,NULL,0.4);

# multistudent with constant rho (rho=0.4, dim=3, nu=7) 
distr[30] = unur_distr_multistudent_constantrho(3,7.,NULL,0.4);


# standard multinormal distribution with rectangular domain
double ll[3] = {0.,0.,0.};
double ru[3] = {UNUR_INFINITY,UNUR_INFINITY,UNUR_INFINITY};
distr[31] = unur_distr_multinormal(3,NULL,NULL);
unur_distr_cvec_set_domain_rect(distr[31],ll,ru);

# standard multinormal distribution with rectangular domain
double ll[3] = {0.,0.,0.};
double ru[3] = {1.,UNUR_INFINITY,UNUR_INFINITY};
distr[32] = unur_distr_multinormal(3,NULL,NULL);
unur_distr_cvec_set_domain_rect(distr[32],ll,ru);

# standard multinormal distribution with rectangular domain
double ll[3] = {-1.,-1.,1.};
double ru[3] = {1.,0.,2.};
double center[3] = {0.,0.,1.};
distr[33] = unur_distr_multinormal(3,NULL,NULL);
unur_distr_cvec_set_domain_rect(distr[33],ll,ru);
unur_distr_cvec_set_center(distr[33],center);
unur_distr_cvec_set_mode(distr[33],center);

# invalid: default center of distribution out of truncated domain
double ll[3] = {-1.,-1.,1.};
double ru[3] = {1.,0.,2.};
distr[34] = unur_distr_multinormal(3,NULL,NULL);
unur_distr_cvec_set_domain_rect(distr[34],ll,ru);

# number of distributions: 35

[validate - test chi2:]

#  + ... pass test
#  0 ... fail to initialize generator
#  - ... fail test
#  . ... do not run test
#  # ... comment
#
# generators:
#  [0] ... default variant
#  [1] ... r = 0.5
#  [2] ... r = 2
#  [3] ... r = default, given rectangle
#  [4] ... r = default, given rectangle
#  [5] ... default variant but reinitialized with changed distribution
#
#gen	0  1  2  3  4  5	# distribution
#---------------------------------------------
  <0>	+  +  +  +  .  +	# standard multinormal (dim=3)
  <1>	+  +  +  -  .  +	# multinormal (dim=3)
x <2>	+  +  +  .  .  .	# random multinormal (dim=2)
x <3>	+  +  +  .  .  +	# random multinormal (dim=3)
  <4>	+  +  +  .  .  +	# multinormal (dim=3), shifted center
  <5>	+  +  +  .  +  .	# standard multinormal (dim=1)
  <6>	+  +  +  .  .  .	# multinormal (dim=1), shifted center
  <7>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=2)
  <8>	+  +  +  .  .  +	# multinormal with AR(1) (rho=0.5, dim=3)
  <9>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=4)
x<10>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=5)
 <11>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=2)
 <12>	+  .  +  .  .  +	# multicauchy with AR(1) (rho=0.2, dim=3)
 <13>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=4)
 <14>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=5)
 <15>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=4)
x<16>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=5)
 <17>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=6)
x<18>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=7)
 <19>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=2)
 <20>	+  +  +  .  .  +	# multinormal with constant rho (rho=0.5, dim=3)
 <21>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=4)
x<22>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=5)
 <23>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=2)
 <24>	+  .  +  .  .  +	# multicauchy with constant rho (rho=0.2, dim=3)
 <25>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=4)
 <26>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=5)
 <27>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=4)
x<28>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=5)
x<29>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=6)
 <30>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=7)
 <31>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
 <32>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
 <33>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
 <34>	0  0  0  .  .  .	# invalid: default center of distribution out of truncated domain


[validate - verify hat:]

#  + ... pass test
#  ~ ... fail in at most 1% of samples
#  0 ... fail to initialize generator
#  - ... fail test
#  . ... do not run test
#  # ... comment
#
# generators:
#  [0] ... default variant
#  [1] ... r = 0.5
#  [2] ... r = 2
#  [3] ... r = default, given rectangle
#  [4] ... r = default, given rectangle
#  [5] ... default variant but reinitialized with changed distribution
#
#gen	0  1  2  3  4  5	# distribution
#---------------------------------------------
  <0>	+  +  +  +  .  +	# standard multinormal (dim=3)
  <1>	+  +  +  -  .  +	# multinormal (dim=3)
x <2>	+  +  +  .  .  .	# random multinormal (dim=2)
x <3>	+  +  +  .  .  +	# random multinormal (dim=3)
  <4>	+  +  +  .  .  +	# multinormal (dim=3), shifted center
  <5>	+  +  +  .  +  .	# standard multinormal (dim=1)
  <6>	+  +  +  .  .  .	# multinormal (dim=1), shifted center
  <7>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=2)
  <8>	+  +  +  .  .  +	# multinormal with AR(1) (rho=0.5, dim=3)
  <9>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=4)
x<10>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=5)
 <11>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=2)
 <12>	+  .  +  .  .  +	# multicauchy with AR(1) (rho=0.2, dim=3)
 <13>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=4)
 <14>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=5)
x<15>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=4)
x<16>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=5)
 <17>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=6)
 <18>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=7)
 <19>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=2)
 <20>	+  +  +  .  .  +	# multinormal with constant rho (rho=0.5, dim=3)
 <21>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=4)
x<22>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=5)
 <23>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=2)
 <24>	+  .  +  .  .  +	# multicauchy with constant rho (rho=0.2, dim=3)
 <25>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=4)
 <26>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=5)
 <27>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=4)
x<28>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=5)
x<29>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=6)
 <30>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=7)
 <31>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
 <32>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
 <33>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
 <34>	0  0  0  .  .  .	# invalid: default center of distribution out of truncated domain


#############################################################################
#############################################################################

[verbatim]

/* dummy function */
int unur_vnrou_set_pedantic( UNUR_PAR *par ATTRIBUTE__UNUSED, int pedantic ATTRIBUTE__UNUSED)
{ return 1; }

#############################################################################
