| Quintiq file version 2.0 | 
| #parent: #root | 
| Method TestScriptComputeMeanVarianceUsingQuantileBySampling ( | 
|   ProbabilityDistribution distr, | 
|   String node_r, | 
|   String period_r, | 
|   String functionname | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     timestart := OS::PrecisionCounter() | 
|      | 
|     nrsamples := 100;  | 
|      | 
|     xsum_Q := 0.0;  | 
|     xsqrsum_Q := 0.0;  | 
|     for ( i := 1; i <= nrsamples; i++ )  | 
|     { | 
|       u := Real::Random( 0.0, 1.0);  | 
|      | 
|       fromquant := distr.Quantile( u );  | 
|       xsum_Q := xsum_Q + fromquant;  | 
|       xsqrsum_Q := xsqrsum_Q + (fromquant * fromquant );  | 
|     } | 
|      | 
|     timeend := OS::PrecisionCounter();  | 
|     timeusedsec := (timeend - timestart) / OS::PrecisionCounterFrequency()  | 
|     info( 'time used to compute from samples = ', timeusedsec, 's' );  | 
|     sample_mean_Q := xsum_Q / nrsamples | 
|     sample_sqr_mean_Q := xsqrsum_Q / nrsamples;  | 
|     info( 'Q sample mean', sample_mean_Q );  | 
|     info( 'Q sample ^2 mean',  sample_sqr_mean_Q);  | 
|     info( 'Q sample variance ', sample_sqr_mean_Q - (sample_mean_Q*sample_mean_Q) ); | 
|   *] | 
| } |