Go to the documentation of this file.
33 #define pred_CL _pred_[0]
34 #define pred_V _pred_[1]
35 #define pred_VC _pred_[1]
36 #define pred_V2 _pred_[1]
37 #define pred_KA _pred_[2]
38 #define pred_Q _pred_[3]
39 #define pred_V3 _pred_[4]
40 #define pred_VP _pred_[4]
45 #define __ADVAN1_TRANS2__ pred_CL = CL; pred_V = V;
46 #define __ADVAN2_TRANS2__ pred_CL = CL; pred_V = V; pred_KA = KA;
47 #define __ADVAN3_TRANS4__ pred_CL = CL; pred_V2 = V1; pred_Q = Q; pred_V3 = V2;
48 #define __ADVAN4_TRANS4__ pred_CL = CL; pred_V2 = V2; pred_Q = Q; pred_V3 = V3; pred_KA = KA;
49 #define __ADVAN1_TRANS11__ pred_CL = CLi; pred_V = Vi;
50 #define __ADVAN2_TRANS11__ pred_CL = CLi; pred_V = Vi; pred_KA = KAi;
51 #define __ADVAN3_TRANS11__ pred_CL = CLi; pred_V2 = V1i; pred_Q = Qi; pred_V3 = V2i;
52 #define __ADVAN4_TRANS11__ pred_CL = CLi; pred_V2 = V2i; pred_Q = Qi; pred_V3 = V3i; pred_KA = KAi;
55 #define __BEGIN_pred__ extern "C" {void __ODEFUN___(MRGSOLVE_PRED_SIGNATURE) {
60 #define __BEGIN_config__ extern "C" { void __CONFIGFUN___(MRGSOLVE_CONFIG_SIGNATURE) {
61 #define __END_config__ __DONE__
62 #define __BEGIN_ode__ extern "C" { void __ODEFUN___(MRGSOLVE_ODE_SIGNATURE) {
63 #define __END_ode__ __DONE__
64 #define __BEGIN_main__ extern "C" { void __INITFUN___(MRGSOLVE_INIT_SIGNATURE) {
65 #define __END_main__ __DONE__
66 #define __BEGIN_table__ extern "C" { void __TABLECODE___(MRGSOLVE_TABLE_SIGNATURE) {
67 #define __END_table__ __DONE__
72 #define NEWIND self.newind
74 #define TIME self.time
76 #define SOLVERTIME _ODETIME_[0]
78 #define EVID self.evid
86 #define SS_ADVANCE _ss_flag_
92 #define _F(a) _F_[a-1]
93 #define _R(a) _R_[a-1]
94 #define _D(a) _D_[a-1]
95 #define _ALAG(a) _ALAG_[a-1]
101 #define ETA(a) self.ETA.at(a-1)
102 #define EPS(a) self.EPS.at(a-1)
103 #define _xETA(a) self.ETA[a-1]
104 #define _xEPS(a) self.EPS[a-1]
107 #define _NEQ (_A_0_.size())
110 #define _MRGX_GET(a,b) b = mrgx::get<a>(self,#b);
111 #define _MRGX_GET_LOCAL(a,b) a b = mrgx::get<a>(self,#b);
112 #define _MRGX_MT_FUN(a) Rcpp::Function a = mrgx::mt_fun();
116 #define SYSTEMSTOPADVANCING() (self.SYSTEMOFF=1);
117 #define STOPADVANCING() SYSTEMSTOPADVANCING() // Not sure why this is here
118 #define CFONSTOP() (self.CFONSTOP = true); // Carry forward on stop
119 #define SYSTEMNOTADVANCING (self.SYSTEMOFF)
120 #define SOLVINGPROBLEM (self.solving)
121 #define _SETINIT if(self.newind <=1) // Convenience
122 #define _STOP_ID() (self.SYSTEMOFF=2);
123 #define _STOP_ID_CF() (self.SYSTEMOFF=1);
124 #define _STOP_ERROR() (self.SYSTEMOFF=9);
127 #define DXDTZERO() for(int _i_ = 0; _i_ < _nEQ; ++_i_) _DADT_[_i_] = 0;