void time_stats2() { FILE *f = stdout; char *str = NULL; int size = 0; long sum; if (!CFG.time_launch) { if (CFG.debug) goto out; return; } printx("times in seconds:\n"); tm_sum = 0; print_tn(rios); print_tn(gcard); print_tn(playlog); print_tn(playstat); print_tn(load); sum = tm_sum; printx("sum: %.3f ", (float)sum/1000.0); printx("uncounted: %.3f\n", (float)((long)TIME_MS(run)-sum)/1000.0); print_t2("total launch", run); printx("size: %.2f MB\n", (float)TIME.size / 1024.0 / 1024.0); printx("speed: %.2f MB/s\n", (float)TIME.size / (float)TIME_MS(load) * 1000.0 / 1024.0 / 1024.0); out:; extern void Menu_PrintWait(); Menu_PrintWait(); }
void time_statsf(FILE *f, char *str, int size) { long sum; printx("times in seconds:\n"); tm_sum = 0; print_t_(intro); print_tn(wpad); print_t_(ios1); print_tn(ios2); print_t_(sd_init); print_tn(sd_mount); print_t_(usb_init); print_t3("mount", usb_mount, " "); print_t3("retry", usb_retry, "\n"); printx("open: %.3f ini: %.3f cap: %.3f\n", diff_fsec(TIME.usb_init1, TIME.usb_open), diff_fsec(TIME.usb_open, TIME.usb_cap), diff_fsec(TIME.usb_cap, TIME.usb_init2)); print_t3("cfg", cfg, " (config,settings,titles,theme)\n"); print_t3("misc", misc, " (lang,playstat,unifont)\n"); print_t_(wiitdb); printx("load: %.3f parse: %.3f\n", TIME_S(db_load), TIME_S(wiitdb)-TIME_S(db_load)); print_t_(gamelist); print_tn(mp3); print_t_(conbg); print_tn(guitheme); sum = tm_sum; printx("sum: %.3f ", (float)sum/1000.0); printx("uncounted: %.3f\n", (float)((long)TIME_MS(boot)-sum)/1000.0); print_t2("total startup", boot); }
TEST(var1_test, autocorr) { Eigen::VectorXd phi0(2), veps(2); Eigen::MatrixXd phi1(2,2); phi0 << 2, 3; phi1 << .80, 0, 0, .64; veps << 1.0, 0.25; alps::alea::util::var1_model<double> model(phi0, phi1, veps); std::cerr << "EXACT MEAN=" << model.mean().transpose() << "\n"; std::cerr << "EXACT TAU =" << model.ctau().diagonal().transpose() << "\n"; alps::alea::autocorr_acc<double> acc(2); fill(model, acc, 400000); alps::alea::autocorr_result<double> res = acc.finalize(); print_result(std::cerr, res); // perform T2 test alps::alea::t2_result t2 = alps::alea::test_mean(res, model.mean()); print_t2(std::cerr, t2); ASSERT_GE(t2.pvalue(), 0.01); }
TEST(var1_test, same) { Eigen::VectorXd phi0(2), veps_one(2), veps_two(2); Eigen::MatrixXd phi1(2,2); phi0 << 2, 3; phi1 << .90, 0, 0, .30; veps_one << 1.0, 0.25; veps_two << 2.0, 3.25; alps::alea::util::var1_model<double> model1(phi0, phi1, veps_one); alps::alea::util::var1_model<double> model2(phi0, phi1, veps_two); std::cerr << "EXACT MEAN=" << model1.mean().transpose() << "\n"; alps::alea::autocorr_acc<double> acc1(2), acc2(2); fill(model1, acc1, 400000); fill(model2, acc2, 400000); alps::alea::autocorr_result<double> res1 = acc1.finalize(); print_result(std::cerr, res1); alps::alea::autocorr_result<double> res2 = acc2.finalize(); print_result(std::cerr, res2); // perform T2 test manually alps::alea::var_result<double> diff = alps::alea::internal::pool_var(res1, res2); print_result(std::cerr, diff); alps::alea::t2_result t2 = alps::alea::t2_test(diff.mean(), diff.var(), diff.observations(), 1, 1e-10); print_t2(std::cerr, t2); ASSERT_GE(t2.pvalue(), 0.01); // Perform T2 test automatically t2 = alps::alea::test_mean(res1, res2); ASSERT_GE(t2.pvalue(), 0.01); }