/***** Runtime options *****/ //! Set verbose mode void @PREFIX@SetVerbose (@PREFIX@World_t *wrld, bool mode); //! Get verbose mode bool @PREFIX@GetVerbose (@PREFIX@World_t *wrld); /***** World query operations *****/ //! Return the total number of strands (active+stable) in the world uint32_t @PREFIX@NumStrands (@PREFIX@World_t *wrld); //! Return the total number of active strands uint32_t @PREFIX@NumActive (@PREFIX@World_t *wrld); //! Return the total number of stable strands uint32_t @PREFIX@NumStable (@PREFIX@World_t *wrld); //! Return the strand descriptor /* FIXME: does not support multiple strand types! */ Strand_t *@PREFIX@StrandInfo (@PREFIX@World_t *wrld); /***** Program running operations *****/ //! Create and allocate the program's world @PREFIX@World_t *@PREFIX@Init (); //! Initiaize the globals and create the initial set of strands //! \param wrld the world-state of the Diderot program //! \return true if there are any errors bool @PREFIX@Initially (@PREFIX@World_t *wrld); //! Run the Diderot program //! \param wrld the world-state of the Diderot program //! \param maxNSteps the limit on the number of super steps; 0 means unlimited //! \return the number of steps taken. uint32_t @PREFIX@Run (@PREFIX@World_t *wrld, uint32_t maxNSteps); //! shutdown and deallocate the world void @PREFIX@Shutdown (@PREFIX@World_t *wrld);