int main(int argc, char *argv[]) { (void) argc; (void) argv; int n = 10; pthread_t threads[n]; work_t work_items[n]; QImage image; QString orig("../../inf8601-scratchpad/res/bsod.png"); QString modz(orig + ".modz.png"); if (!image.load(orig)) { qDebug() << "error loading image"; return -1; } image = image.convertToFormat(QImage::Format_RGB32); for (int i = 0; i < n; i++) { work_items[i].n = n; work_items[i].rank = i; work_items[i].image = ℑ pthread_create(&threads[i], NULL, effect, &work_items[i]); } for (int i = 0; i < n; i++) { pthread_join(threads[i], NULL); } image.save(modz); return 0; }
/// Testbench int sc_main(int argc, char *argv[]) { GS_INIT_STANDARD_GREENCONTROL; { gs::report::msg_configuration cnf; cnf.msgconfig_name = "report_message_file1.txt"; cnf.msgconfig_starttime_en = true; cnf.msgconfig_starttime = sc_core::sc_time(13, sc_core::SC_NS); cnf.msgconfig_endtime = sc_core::sc_time(23, sc_core::SC_NS); cnf.msgconfig_dbglvl = gs::report::dbg_msg_L9; cnf.msgconfig_printfile = true; cnf.msgconfig_module_id.push_back("ModuleA"); // ModuleA cnf.msgconfig_module_id.push_back(""); // top-level gs::report::MessageStreamer::apply_configuration(cnf); } { gs::report::msg_configuration cnf; cnf.msgconfig_name = "stdout"; cnf.msgconfig_dbglvl = gs::report::dbg_msg_L6; gs::report::MessageStreamer::apply_configuration(cnf); } { // system message output with new cnf object gs::report::msg_configuration cnf; cnf.msgconfig_name = "SC_REPORT_INFO"; cnf.msgconfig_info_en = true; gs::report::MessageStreamer::apply_configuration(cnf); } ModuleA moda("ModuleA"); ModuleA modz("ModuleZ"); sc_core::sc_start(); return EXIT_SUCCESS; }
void trym() { double tx,ty; for(int i=0;i<n;i++) { tx=zx; ty=zy; step(); if(modz()>2) { ism=0; iter=i; return; } if(tx==zx && ty==zy) break; } ism=1; }