1#
2#############################################################################
3
4[main]
5
6[main - data:]
7
8# method (for information only: the program scans the file name)
9method: VNROU
10
11[main - header:]
12
13/* prototypes */
14
15int unur_vnrou_set_pedantic( UNUR_PAR *par, int pedantic );
16
17\#define COMPARE_SAMPLE_SIZE   (10000)
18\#define VIOLATE_SAMPLE_SIZE   (20)
19
20/* Chi-square goodness-of-fit tests sometimes fail once due to numerical */
21/* errors. So we accept more such failure than for other methods.        */
22\#define CHI2_FAILURES_TOLERATED (5)
23
24/* we need marginal distributions for the chi2 tests */
25\#define unur_distr_multicauchy   unur_distr_multicauchy_w_marginals
26\#define unur_distr_multinormal   unur_distr_multinormal_w_marginals
27\#define unur_distr_multistudent  unur_distr_multistudent_w_marginals
28
29#############################################################################
30
31[new]
32
33[new - invalid NULL ptr:
34   distr = NULL; ]
35
36~( distr );
37        --> expected_NULL --> UNUR_ERR_NULL
38
39
40[new - invalid distribution type:
41   distr = unur_distr_discr_new(); ]
42
43~( distr );
44         --> expected_NULL --> UNUR_ERR_DISTR_INVALID
45
46
47#############################################################################
48
49[set]
50
51[set - invalid NULL ptr:
52   par = NULL; ]
53
54~_u( par, NULL, NULL );
55	--> expected_setfailed --> UNUR_ERR_NULL
56
57~_v( par, 1. );
58	--> expected_setfailed --> UNUR_ERR_NULL
59
60~_r( par, 1. );
61	--> expected_setfailed --> UNUR_ERR_NULL
62
63~_verify( par, 1);
64	--> expected_setfailed --> UNUR_ERR_NULL
65
66
67[set - invalid parameter object:
68   double fpar[2] = {0.,1.};
69   distr = unur_distr_normal(fpar,2);
70   par = unur_arou_new(distr); ]
71
72~_u( par, NULL, NULL );
73	--> expected_setfailed --> UNUR_ERR_PAR_INVALID
74
75~_v( par, 1. );
76	--> expected_setfailed --> UNUR_ERR_PAR_INVALID
77
78~_r( par, 1. );
79	--> expected_setfailed --> UNUR_ERR_PAR_INVALID
80
81~_verify( par, 1);
82	--> expected_setfailed --> UNUR_ERR_PAR_INVALID
83
84unur_par_free(par);
85
86[set - invalid parameters:
87   const int dim = 3;
88   double mean[] = {1.,2.,3.};
89   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
90   double umin[] = {1.,1.,1.};
91   double umax[] = {2.,1.,2.};
92   distr = unur_distr_multinormal( dim, mean, covar );
93   par = unur_vnrou_new(distr); ]
94
95~_u( par, NULL, NULL );
96	--> expected_setfailed --> UNUR_ERR_NULL
97
98~_u( par, umin, umax );
99	--> expected_setfailed --> UNUR_ERR_PAR_SET
100
101~_v( par, -1. );
102	--> expected_setfailed --> UNUR_ERR_PAR_SET
103
104~_v( par, 0. );
105	--> expected_setfailed --> UNUR_ERR_PAR_SET
106
107~_r( par, 0. );
108	--> none --> UNUR_ERR_PAR_SET
109
110unur_par_free(par);
111
112
113#############################################################################
114
115[get]
116
117[get - invalid NULL ptr:
118	gen = NULL; ]
119
120~_volumehat( gen );
121        --> expected_INFINITY --> UNUR_ERR_NULL
122
123[get - invalid generator object:
124   distr = unur_distr_normal(NULL,0);
125   par = unur_arou_new(distr);
126   gen = unur_init(par); <-- ! NULL ]
127
128~_volumehat( gen );
129        --> expected_INFINITY --> UNUR_ERR_GEN_INVALID
130
131#############################################################################
132
133[chg]
134
135[chg - invalid generator object:
136   double umin[] = {1.,1.,1.};
137   double umax[] = {2.,2.,2.};
138   distr = unur_distr_normal(NULL,0);
139   par = unur_arou_new(distr);
140   unur_set_debug(par,0);
141   gen = unur_init( par ); <-- ! NULL ]
142
143~_u( gen, umin, umax );
144	--> expected_setfailed --> UNUR_ERR_GEN_INVALID
145
146~_v( gen, 1. );
147	--> expected_setfailed --> UNUR_ERR_GEN_INVALID
148
149~_verify(gen,1);
150        --> expected_setfailed --> UNUR_ERR_GEN_INVALID
151
152[chg - invalid parameters:
153   const int dim = 3;
154   double mean[] = {1.,2.,3.};
155   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
156   double umin[] = {1.,1.,1.};
157   double umax[] = {2.,1.,2.};
158   distr = unur_distr_multinormal( dim, mean, covar );
159   par = unur_vnrou_new(distr);
160   gen = unur_init(par);  <-- ! NULL ]
161
162~_u( gen, umin, umax );
163	--> expected_setfailed --> UNUR_ERR_PAR_SET
164
165~_v( gen, -1. );
166	--> expected_setfailed --> UNUR_ERR_PAR_SET
167
168
169#############################################################################
170
171# [init]
172
173#############################################################################
174
175[reinit]
176
177[reinit - does not exist:
178   distr = unur_distr_multinormal(3,NULL,NULL);
179   par = unur_vnrou_new(distr);
180   gen = unur_init( par ); <-- ! NULL ]
181
182unur_reinit( gen );
183	--> expected_reinit
184
185#############################################################################
186
187[sample]
188
189[sample - compare:
190   const int dim = 3;
191   double mean[] = {1.,2.,3.};
192   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
193   distr = unur_distr_multinormal( dim, mean, covar );
194   par = unur_vnrou_new(distr);
195   gen = unur_init( par ); <-- ! NULL ]
196
197# default
198	-->compare_sequence_gen_start
199
200# default - verifying mode
201unur_free(gen);
202par = unur_vnrou_new(distr);
203unur_vnrou_set_verify(par,1);
204gen = unur_init( par );
205	-->compare_sequence_gen
206
207
208# r = 0.5
209unur_free(gen);
210par = unur_vnrou_new(distr);
211unur_vnrou_set_r(par,0.5);
212gen = unur_init( par );
213	-->compare_sequence_gen_start
214
215# r = 0.5 - verifying mode
216unur_free(gen);
217par = unur_vnrou_new(distr);
218unur_vnrou_set_r(par,0.5);
219unur_vnrou_set_verify(par,1);
220gen = unur_init( par );
221	-->compare_sequence_gen
222
223
224[sample - compare 1dim:
225   const int dim = 1;
226   double mean[] = {1.};
227   double covar[] = {2.};
228   distr = unur_distr_multinormal( dim, mean, covar );
229   par = unur_vnrou_new(distr);
230   gen = unur_init( par ); <-- ! NULL ]
231
232# default
233	-->compare_sequence_gen_start
234
235# default - verifying mode
236unur_free(gen);
237par = unur_vnrou_new(distr);
238unur_vnrou_set_verify(par,1);
239gen = unur_init( par );
240	-->compare_sequence_gen
241
242
243[sample - compare clone:
244   const int dim = 3;
245   double mean[] = {1.,2.,3.};
246   double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
247   UNUR_GEN *clone;
248   distr = unur_distr_multinormal( dim, mean, covar );
249   par = unur_vnrou_new(distr);
250   gen = unur_init( par ); <-- ! NULL ]
251
252/* normal distribution */
253	-->compare_sequence_gen_start
254
255/* clone */
256clone = unur_gen_clone(gen);
257unur_free(gen);
258gen = clone;
259	-->compare_sequence_gen
260
261#.....................................................................
262
263[sample - compare clone 1dim:
264   const int dim = 1;
265   double mean[] = {1.};
266   double covar[] = {2.};
267   UNUR_GEN *clone;
268   distr = unur_distr_multinormal( dim, mean, covar );
269   par = unur_vnrou_new(distr);
270   gen = unur_init( par ); <-- ! NULL ]
271
272/* normal distribution */
273	-->compare_sequence_gen_start
274
275/* clone */
276clone = unur_gen_clone(gen);
277unur_free(gen);
278gen = clone;
279	-->compare_sequence_gen
280
281#.....................................................................
282
283[sample - compare reinit:
284   distr = unur_distr_multinormal(3,NULL,NULL);
285   par = NULL;
286   gen = NULL; ]
287
288/* original generator object */
289par = unur_vnrou_new(distr);
290gen = unur_init(par);
291        -->compare_sequence_gen_start
292
293/* reinit */
294unur_reinit(gen);
295        -->compare_sequence_gen
296
297
298#############################################################################
299
300[validate]
301
302[validate - generators:]
303
304# default program
305par[0] = unur_vnrou_new(@distr@);
306
307# r = 0.5
308par[1] = unur_vnrou_new(@distr@);
309unur_vnrou_set_r(par,0.5);
310
311# r = 2
312par[2] = unur_vnrou_new(@distr@);
313unur_vnrou_set_r(par,2.);
314
315# default with bounding rectangle
316{ double umin[] = {-0.608928,-0.608928,-0.608928};
317double umax[] = { 0.608928, 0.608928, 0.608928};
318double vmax = 0.51;
319par[3] = unur_vnrou_new(@distr@);
320unur_vnrou_set_u(par,umin,umax);
321unur_vnrou_set_v(par,vmax); }
322
323
324# default with bounding rectangle
325{ double umin[] = {-0.608928,-0.608928,-0.608928};
326double umax[] = { 0.608928, 0.608928, 0.608928};
327double vmax = 0.70;
328par[4] = unur_vnrou_new(@distr@);
329unur_vnrou_set_u(par,umin,umax);
330unur_vnrou_set_v(par,vmax); }
331
332# default variant but reinitialized with changed distribution
333{ UNUR_DISTR *dg =NULL;
334double mean[]  = { -1., 2., -3. };
335double covar[] = { 2., 2., 0.9,   2., 4., 3.,   0.9, 3., 3. };
336par[5] = unur_vnrou_new(@distr@);
337dg = unur_get_distr(gen);
338unur_distr_cvec_set_mean(dg,mean);
339unur_distr_cvec_set_covar(dg,covar);
340unur_distr_cvec_upd_mode(dg);
341unur_distr_cvec_upd_pdfvol(dg);
342unur_reinit(gen); }
343
344
345[validate - distributions:]
346
347# standard multinormal distribution
348distr[0] = unur_distr_multinormal(3,NULL,NULL);
349
350
351# multinormal distribution, dim = 3
352double mean[]  = { 1., 2., 3. };
353double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
354distr[1] = unur_distr_multinormal(3,mean,covar);
355
356
357# random multinormal distribution
358\#define dim (2)
359int i;
360double mean[dim], covar[dim*dim];
361UNUR_DISTR *covar_distr;
362UNUR_GEN *covar_gen;
363UNUR_GEN *mean_gen;
364covar_distr = unur_distr_correlation(dim);
365covar_gen = unur_init(unur_mcorr_new(covar_distr));
366mean_gen = unur_str2gen("normal(5,1)");
367for (i=0; i<dim; i++)
368   mean[i] = unur_sample_cont(mean_gen);
369do {
370   unur_sample_matr(covar_gen,covar);
371   distr[2] = unur_distr_multinormal(dim,mean,covar);
372} while (distr[2]==NULL);
373unur_distr_free(covar_distr);
374unur_free(covar_gen);
375unur_free(mean_gen);
376\#undef dim
377
378
379# random multinormal distribution
380\#define dim (3)
381int i;
382double mean[dim], covar[dim*dim];
383UNUR_DISTR *covar_distr;
384UNUR_GEN *covar_gen;
385UNUR_GEN *mean_gen;
386covar_distr = unur_distr_correlation(dim);
387covar_gen = unur_init(unur_mcorr_new(covar_distr));
388mean_gen = unur_str2gen("normal(5,1)");
389for (i=0; i<dim; i++)
390   mean[i] = unur_sample_cont(mean_gen);
391do {
392   unur_sample_matr(covar_gen,covar);
393   distr[3] = unur_distr_multinormal(dim,mean,covar);
394} while (distr[3]==NULL);
395unur_distr_free(covar_distr);
396unur_free(covar_gen);
397unur_free(mean_gen);
398\#undef dim
399
400
401# multinormal distribution, dim = 3, shifted center
402double mean[]  = { -1., -2., -3. };
403double covar[] = { 2., 2., 1.,   2., 4., 3.,   1., 3., 3. };
404distr[4] = unur_distr_multinormal(3,mean,covar);
405unur_distr_cvec_set_center(distr[4],NULL);
406
407
408# standard "multinormal" distribution with dimension 1
409distr[5] = unur_distr_multinormal(1,NULL,NULL);
410
411
412# multinormal distribution, dim = 1, shifted center
413double mean[]  = { -1. };
414double covar[] = { 2. };
415distr[6] = unur_distr_multinormal(1,mean,covar);
416unur_distr_cvec_set_center(distr[6],NULL);
417
418
419# multinormal with AR(1) (rho=0.5, dim=2)
420distr[7] = unur_distr_multinormal_ar1(2,NULL,0.5);
421
422# multinormal with AR(1) (rho=0.5, dim=3)
423distr[8] = unur_distr_multinormal_ar1(3,NULL,0.5);
424
425# multinormal with AR(1) (rho=0.5, dim=4)
426distr[9] = unur_distr_multinormal_ar1(4,NULL,0.5);
427
428# multinormal with AR(1) (rho=0.5, dim=5)
429distr[10] = unur_distr_multinormal_ar1(5,NULL,0.5);
430
431# multicauchy with AR(1) (rho=0.2, dim=2)
432distr[11] = unur_distr_multicauchy_ar1(2,NULL,0.2);
433
434# multicauchy with AR(1) (rho=0.2, dim=3)
435distr[12] = unur_distr_multicauchy_ar1(3,NULL,0.2);
436
437# multicauchy with AR(1) (rho=0.2, dim=4)
438distr[13] = unur_distr_multicauchy_ar1(4,NULL,0.2);
439
440# multicauchy with AR(1) (rho=0.2, dim=5)
441distr[14] = unur_distr_multicauchy_ar1(5,NULL,0.2);
442
443# multistudent with AR(1) (rho=0.4, dim=3, nu=4)
444distr[15] = unur_distr_multistudent_ar1(3,4.,NULL,0.4);
445
446# multistudent with AR(1) (rho=0.4, dim=3, nu=5)
447distr[16] = unur_distr_multistudent_ar1(3,5.,NULL,0.4);
448
449# multistudent with AR(1) (rho=0.4, dim=3, nu=6)
450distr[17] = unur_distr_multistudent_ar1(3,6.,NULL,0.4);
451
452# multistudent with AR(1) (rho=0.4, dim=3, nu=7)
453distr[18] = unur_distr_multistudent_ar1(3,7.,NULL,0.4);
454
455# multinormal with constant rho (rho=0.5, dim=2)
456distr[19] = unur_distr_multinormal_constantrho(2,NULL,0.5);
457
458# multinormal with constant rho (rho=0.5, dim=3)
459distr[20] = unur_distr_multinormal_constantrho(3,NULL,0.5);
460
461# multinormal with constant rho (rho=0.5, dim=4)
462distr[21] = unur_distr_multinormal_constantrho(4,NULL,0.5);
463
464# multinormal with constant rho (rho=0.5, dim=5)
465distr[22] = unur_distr_multinormal_constantrho(5,NULL,0.5);
466
467# multicauchy with constant rho (rho=0.2, dim=2)
468distr[23] = unur_distr_multicauchy_constantrho(2,NULL,0.2);
469
470# multicauchy with constant rho (rho=0.2, dim=3)
471distr[24] = unur_distr_multicauchy_constantrho(3,NULL,0.2);
472
473# multicauchy with constant rho (rho=0.2, dim=4)
474distr[25] = unur_distr_multicauchy_constantrho(4,NULL,0.2);
475
476# multicauchy with constant rho (rho=0.2, dim=5)
477distr[26] = unur_distr_multicauchy_constantrho(5,NULL,0.2);
478
479# multistudent with constant rho (rho=0.4, dim=3, nu=4)
480distr[27] = unur_distr_multistudent_constantrho(3,4.,NULL,0.4);
481
482# multistudent with constant rho (rho=0.4, dim=3, nu=5)
483distr[28] = unur_distr_multistudent_constantrho(3,5.,NULL,0.4);
484
485# multistudent with constant rho (rho=0.4, dim=3, nu=6)
486distr[29] = unur_distr_multistudent_constantrho(3,6.,NULL,0.4);
487
488# multistudent with constant rho (rho=0.4, dim=3, nu=7)
489distr[30] = unur_distr_multistudent_constantrho(3,7.,NULL,0.4);
490
491
492# standard multinormal distribution with rectangular domain
493double ll[3] = {0.,0.,0.};
494double ru[3] = {UNUR_INFINITY,UNUR_INFINITY,UNUR_INFINITY};
495distr[31] = unur_distr_multinormal(3,NULL,NULL);
496unur_distr_cvec_set_domain_rect(distr[31],ll,ru);
497
498# standard multinormal distribution with rectangular domain
499double ll[3] = {0.,0.,0.};
500double ru[3] = {1.,UNUR_INFINITY,UNUR_INFINITY};
501distr[32] = unur_distr_multinormal(3,NULL,NULL);
502unur_distr_cvec_set_domain_rect(distr[32],ll,ru);
503
504# standard multinormal distribution with rectangular domain
505double ll[3] = {-1.,-1.,1.};
506double ru[3] = {1.,0.,2.};
507double center[3] = {0.,0.,1.};
508distr[33] = unur_distr_multinormal(3,NULL,NULL);
509unur_distr_cvec_set_domain_rect(distr[33],ll,ru);
510unur_distr_cvec_set_center(distr[33],center);
511unur_distr_cvec_set_mode(distr[33],center);
512
513# invalid: default center of distribution out of truncated domain
514double ll[3] = {-1.,-1.,1.};
515double ru[3] = {1.,0.,2.};
516distr[34] = unur_distr_multinormal(3,NULL,NULL);
517unur_distr_cvec_set_domain_rect(distr[34],ll,ru);
518
519# number of distributions: 35
520
521[validate - test chi2:]
522
523#  + ... pass test
524#  0 ... fail to initialize generator
525#  - ... fail test
526#  . ... do not run test
527#  # ... comment
528#
529# generators:
530#  [0] ... default variant
531#  [1] ... r = 0.5
532#  [2] ... r = 2
533#  [3] ... r = default, given rectangle
534#  [4] ... r = default, given rectangle
535#  [5] ... default variant but reinitialized with changed distribution
536#
537#gen	0  1  2  3  4  5	# distribution
538#---------------------------------------------
539  <0>	+  +  +  +  .  +	# standard multinormal (dim=3)
540  <1>	+  +  +  -  .  +	# multinormal (dim=3)
541x <2>	+  +  +  .  .  .	# random multinormal (dim=2)
542x <3>	+  +  +  .  .  +	# random multinormal (dim=3)
543  <4>	+  +  +  .  .  +	# multinormal (dim=3), shifted center
544  <5>	+  +  +  .  +  .	# standard multinormal (dim=1)
545  <6>	+  +  +  .  .  .	# multinormal (dim=1), shifted center
546  <7>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=2)
547  <8>	+  +  +  .  .  +	# multinormal with AR(1) (rho=0.5, dim=3)
548  <9>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=4)
549x<10>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=5)
550 <11>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=2)
551 <12>	+  .  +  .  .  +	# multicauchy with AR(1) (rho=0.2, dim=3)
552 <13>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=4)
553 <14>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=5)
554 <15>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=4)
555x<16>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=5)
556 <17>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=6)
557x<18>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=7)
558 <19>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=2)
559 <20>	+  +  +  .  .  +	# multinormal with constant rho (rho=0.5, dim=3)
560 <21>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=4)
561x<22>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=5)
562 <23>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=2)
563 <24>	+  .  +  .  .  +	# multicauchy with constant rho (rho=0.2, dim=3)
564 <25>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=4)
565 <26>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=5)
566 <27>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=4)
567x<28>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=5)
568x<29>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=6)
569 <30>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=7)
570 <31>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
571 <32>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
572 <33>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
573 <34>	0  0  0  .  .  .	# invalid: default center of distribution out of truncated domain
574
575
576[validate - verify hat:]
577
578#  + ... pass test
579#  ~ ... fail in at most 1% of samples
580#  0 ... fail to initialize generator
581#  - ... fail test
582#  . ... do not run test
583#  # ... comment
584#
585# generators:
586#  [0] ... default variant
587#  [1] ... r = 0.5
588#  [2] ... r = 2
589#  [3] ... r = default, given rectangle
590#  [4] ... r = default, given rectangle
591#  [5] ... default variant but reinitialized with changed distribution
592#
593#gen	0  1  2  3  4  5	# distribution
594#---------------------------------------------
595  <0>	+  +  +  +  .  +	# standard multinormal (dim=3)
596  <1>	+  +  +  -  .  +	# multinormal (dim=3)
597x <2>	+  +  +  .  .  .	# random multinormal (dim=2)
598x <3>	+  +  +  .  .  +	# random multinormal (dim=3)
599  <4>	+  +  +  .  .  +	# multinormal (dim=3), shifted center
600  <5>	+  +  +  .  +  .	# standard multinormal (dim=1)
601  <6>	+  +  +  .  .  .	# multinormal (dim=1), shifted center
602  <7>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=2)
603  <8>	+  +  +  .  .  +	# multinormal with AR(1) (rho=0.5, dim=3)
604  <9>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=4)
605x<10>	+  +  +  .  .  .	# multinormal with AR(1) (rho=0.5, dim=5)
606 <11>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=2)
607 <12>	+  .  +  .  .  +	# multicauchy with AR(1) (rho=0.2, dim=3)
608 <13>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=4)
609 <14>	+  .  +  .  .  .	# multicauchy with AR(1) (rho=0.2, dim=5)
610x<15>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=4)
611x<16>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=5)
612 <17>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=6)
613 <18>	+  +  +  .  .  +	# multistudent with AR(1) (rho=0.4, dim=3, nu=7)
614 <19>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=2)
615 <20>	+  +  +  .  .  +	# multinormal with constant rho (rho=0.5, dim=3)
616 <21>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=4)
617x<22>	+  +  +  .  .  .	# multinormal with constant rho (rho=0.5, dim=5)
618 <23>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=2)
619 <24>	+  .  +  .  .  +	# multicauchy with constant rho (rho=0.2, dim=3)
620 <25>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=4)
621 <26>	+  .  +  .  .  .	# multicauchy with constant rho (rho=0.2, dim=5)
622 <27>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=4)
623x<28>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=5)
624x<29>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=6)
625 <30>	+  +  +  .  .  +	# multistudent with constant rho (rho=0.4, dim=3, nu=7)
626 <31>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
627 <32>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
628 <33>	+  +  +  .  .  .	# standard multinormal distribution with rectangular domain
629 <34>	0  0  0  .  .  .	# invalid: default center of distribution out of truncated domain
630
631
632#############################################################################
633#############################################################################
634
635[verbatim]
636
637/* dummy function */
638int unur_vnrou_set_pedantic( UNUR_PAR *par ATTRIBUTE__UNUSED, int pedantic ATTRIBUTE__UNUSED)
639{ return 1; }
640
641#############################################################################
642