void streamRtsFile(xmlTextReaderPtr reader) { if (reader == NULL) { fprintf(stderr, "Unable to access the file.\n"); exit(EXIT_FAILURE); } int ret; if (verbose) { printf("=== Analyzing ===\n"); } ret = xmlTextReaderRead(reader); while (ret == 1 && cont > 0) { processNode(reader); ret = xmlTextReaderRead(reader); } if (ret != 0 && cont > 0) { printf("Failed to parse.\n"); return; } printf("=== FU result ===\n"); double mean = gsl_stats_mean(fuArray, 1, limit); printf("Mean:\t\t%.5f (%.3f)\n", mean, mean * 100.0); double variance = gsl_stats_variance_m(fuArray, 1, limit, mean); printf("Variance:\t%.5f\n", variance); double stddev = gsl_stats_sd_m(fuArray, 1, limit, mean); printf("Std. Dev:\t%.5f\n", stddev); double max = gsl_stats_max(fuArray, 1, limit); printf("Max:\t\t%.5f (%.3f)\n", max, max * 100.0); double min = gsl_stats_min(fuArray, 1, limit); printf("Min:\t\t%.5f (%.3f)\n", min, min * 100.0); printf("Total RTS:\t%d\n", rtsNr); printf("Valid RTS:\t%d\n", validFuCnt); printf("Invalid RTS:\t%d\n", invalidFuCnt); }
CAMLprim value ml_gsl_stats_variance(value ow, value omean, value data) { size_t len = Double_array_length(data); double result; if(ow == Val_none) if(omean == Val_none) result = gsl_stats_variance(Double_array_val(data), 1, len); else result = gsl_stats_variance_m(Double_array_val(data), 1, len, Double_val(Unoption(omean))); else { value w = Unoption(ow); check_array_size(data, w); if(omean == Val_none) result = gsl_stats_wvariance(Double_array_val(w), 1, Double_array_val(data), 1, len); else result = gsl_stats_wvariance_m(Double_array_val(w), 1, Double_array_val(data), 1, len, Double_val(Unoption(omean))); } return copy_double(result); }