The SPARK Atomic Class API
This document describes the preprocessor macro definitions, classes and functions that are used to implement the inverses in the user-defined atomic classes. The macros and functions are declared in the header file spark.h. After installation of the VisualSPARK release package, the header file spark.h can be found in the
inc/ subdirectory in the main SPARK directory.
The header file spark.h should be included in every file where user-defined atomic classes are implemented to ensure that the required declarations are provided correctly at compile-time.
More detailed information about how to write an atomic class can be found in:
Visit http://simulationresearch.lbl.gov/ to obtain the latest versions of these documents.
Macros to declare the callback prototypes:
- the SPARK Reference Manual
- the VisualSPARK Users Guide
- the VisualSPARK tutorial
Macros to declare each callback type:
Macros to manage private data associated with each object and/or inverse:
Macros to manage the argument variables passed to a callback:
Macros to manage the target variables returned from a callback:
Macros to send a problem request from an atomic class:
The following classes:
used to represent the problem variables in the SPARK solver have also been documented. They are defined in the header files variable.h and callback.h which can be found in the
Finally, the classes that implement the callbacks, inverses and objects are described: