|
| yacts () |
| Initializes YACTS.
|
|
bool | init (std::istream &script) |
| Load YACTS script.
|
|
| ~yacts () |
| Frees YACTS memory.
|
|
virtual void | libInit () |
| Initializes YACTS library functions and makes them avaliable to J.
|
|
bool | setOut (std::string newOut) |
| Sets the name of output variable.
|
|
int | REPL () |
| Enters read(stdin)-eval-print(stdout) loop until the end of stdin.
|
|
std::string | getTrajectoryFilenameBase (std::string prefix) |
| Computes trajectory filename base, using hash of "important" parts of yacts script.
|
|
bool | initTrajectory (std::string prefix) |
| Initializes ODE solver and the state either from the start of the problem or from the last saved trajectory frame.
|
|
int | size () |
| Returns the number of computed frames in the current trajectory file.
|
|
bool | setFrame (int iframe) |
| Sets specified frame as "current", loads it.
|
|
bool | hasNextFrameStored () |
| Returns true if the next frame is already in the trajectory file and does not have to be (and will not be) calculated.
|
|
bool | nextFrame () |
| Advances to the next trajectory frame by computing it (if necessary) and saving (if computed).
|
|
std::string | process () |
| Computes and returns the "OUT" variable, corresponding to the current frame.
|
|
| jplus () |
| initialize J+ engine with no script
|
|
bool | init (std::istream &script) |
| Load and pre-parse J+ script.
|
|
| ~jplus () |
| Free allocated memory.
|
|
bool | set (std::string name, jarray data) |
| Set value of the specified variable inside J+ environment, mark all dependent variables "dirty".
|
|
jarray | get (std::string name) |
| Perform all the necessary calculations to computate the specified variable, return its value in an array.
|
|
std::vector< std::string > | getProgram (std::set< std::string > vars) |
| Pull minimal set of J sentences for computing a given set of variables, assuming everything is "dirty".
|
|
std::vector< std::string > | getProgram () |
| Pull all the sentences in J+ script.
|
|
| jengine () |
| Initializes J engine.
|
|
| ~jengine () |
| Frees J engine memory.
|
|
bool | doJ (const std::string s) |
| Executes J sentence.
|
|
const jarray | get (const std::string name) |
| Retrieves a named array from J.
|
|
bool | set (const std::string name, jarray &value) |
| Assigns J name to the specified array.
|
|
int | getError () |
| J error code for the last unsuccessful operation.
|
|
bool | ok () |
| Conveniently check that there was no error.
|
|
bool | defVerb (std::string name, monad mf, dyad df, int mr=RMAX, int lr=RMAX, int rr=RMAX) |
| Defines J verb, calling one (or both) of specified C++ functions.
|
|
bool | defAdverb (std::string name, amonad mf, adyad df) |
| defines J adverb, calling one (or both) of specified C++ functions.
|
|
bool | defScript (std::string name, int type, std::string code, int mr=jengine::RMAX, int lr=jengine::RMAX, int rr=jengine::RMAX) |
| Defines a J script, given by a (possibly multi-line) string.
|
|
bool | isBuiltin (std::string name) const |
| Checks if given name was defined via defScript.
|
|
std::set< std::string > | getBuiltins () const |
| Returns set of all names defined via defScript.
|
|
jarray::I | PROLOG () |
| Returns the top of J garbage collection stack.
|
|
jarray::I | EPILOG (jarray::I oldtop) |
| Frees all memory, allocated since ttop was recorded.
|
|
void * | EPILOG (jarray::I oldtop, void *hdr) |
| Frees all memory, allocated since ttop was recorded.
|
|
|
typedef jarray(* | monad) (jarray y) |
| Pointer to function, implementing monadic variant of a verb.
|
|
typedef jarray(* | dyad) (jarray x, jarray y) |
| Pointer to function, implementing dyadic variant of a verb.
|
|
typedef jarray(* | amonad) (monad um, dyad ud, jarray y) |
| Pointer to function, implementing monadic variant of an adverb.
|
|
typedef jarray(* | adyad) (monad um, dyad ud, jarray x, jarray y) |
| Pointer to function, implementing dyadic variant of an adverb.
|
|
static void | initJlibrary (std::ostream &) |
| Loads and links J dynamic library, must be called once before this class is instantiated.
|
|
static const int | RMAX =10000 |
| Constant to denote the infinite rank.
|
|
void * | GA (const jarray::I t, const jarray::I n, const jarray::I r, const jarray::I *s) |
| Allocates J array.
|
|
void | FR (void *hdr) |
| Frees J array memory.
|
|
std::streampos | header_size () |
| header size on disk
|
|
std::streampos | frame_size () |
| frame size on disk
|
|
void | setHeader (int id, int neq) |
| patch the header with new data
|
|
| trjfile () |
| Instantiates unopened trajectory file.
|
|
bool | open (std::string path, bool create=true) |
| Opens/creates trajectory and positions it before the last frame, or right after the header if trajectory was empty.
|
|
bool | close () |
| Closes the trajectory.
|
|
bool | good () |
| Checks that trajectory file is opened and properly positioned.
|
|
bool | saveFrame (const int neq, const double &T, const double *data) |
| Saves frame to the file at the current pos, appends if necessary.
|
|
bool | hasNextFrame () |
| Checks if the file has next frame stored.
|
|
int | getNEQ () |
| Get number of equations.
|
|
bool | loadFrame (double &T, double *data) |
| Load frame.
|
|
int | size () |
| Get number of frames in the file.
|
|
bool | toFrame (int frame) |
| Position the file before the specified frame.
|
|
int | neq |
| Number of equations in the system solved (frame size).
|
|
std::fstream | trj |
| Opened stream to the underlying file.
|
|
YACTS – yet another continuous time simulator.
It uses J+ to specify a system of ODEs and Sundials library to solve them.