// Allocate the program's world // @PREFIX@World_t *@PREFIX@New () { @PREFIX@World_t *wrld = NEW(@PREFIX@World_t); if (wrld == 0) return 0; wrld->name = ProgramName; wrld->errors = biffMsgNew("DIDEROT"); if (wrld->errors == 0) { FREE (wrld); return 0; } wrld->verboseFlg = false; wrld->nStrandTys = 1; /* FIXME */ wrld->strandDesc = &Strand_@STRAND@; #ifndef DIDEROT_NO_GLOBALS wrld->globals = NEW(@PREFIX@Globals_t); if (wrld->globals == 0) { biffMsgNix (wrld->errors); FREE (wrld); return 0; } #endif #ifdef DIDEROT_TARGET_PARALLEL wrld->sched = NEW(Diderot_Sched_t); if (wrld->sched == 0) { biffMsgNix (wrld->errors); FREE(wrld->globals); FREE(wrld); return 0; } #endif return wrld; } // Initialize the program's world // bool @PREFIX@Init (@PREFIX@World_t *wrld) { #ifdef DIDEROT_TARGET_PARALLEL if (Diderot_GetNumCPUs(&(wrld->sched->cpuInfo)) || (pthread_mutex_init (&(wrld->sched->lock), 0) != 0) || (pthread_cond_init (&(wrld->sched->barrier), 0) != 0) || (pthread_cond_init (&(wrld->sched->runWait), 0) != 0)) { biffMsgAdd (wrld->errors, "unable to initialize scheduler structures"); return true; } wrld->sched->numWorkers = wrld->sched->cpuInfo.numHWCores; wrld->sched->numActive = 0; #else /* DIDEROT_TARGET_C */ wrld->numActive = 0; #endif #if !defined(DIDEROT_STANDALONE_EXEC) && !defined(DIDEROT_NO_INPUTS) // initialize the defined flags for the input globals @PREFIX@InitDefined (wrld); #endif return false; }
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: the defined flags for the input globals @PREFIX@InitDefined (wrld); #endif return false; }