void h_ode_init() { h_ode_set_h0(BI_REAL(1.0e-2)); h_ode_set_rtoler(BI_REAL(1.0e-7)); h_ode_set_atoler(BI_REAL(1.0e-7)); h_ode_set_uround(BI_REAL(1.0e-16)); h_ode_set_safe(BI_REAL(0.9)); h_ode_set_facl(BI_REAL(0.2)); h_ode_set_facr(BI_REAL(10.0)); h_ode_set_beta(BI_REAL(0.04)); h_ode_set_nsteps(1000); }
inline void bi_ode_set(const real h0, const real atoler, const real rtoler) { if (h_h0 != h0) { h_ode_set_h0(h0); #ifdef __CUDACC__ ode_set_h0(h0); #endif } if (h_atoler != atoler) { h_ode_set_atoler(atoler); #ifdef __CUDACC__ ode_set_atoler(atoler); #endif } if (h_rtoler != rtoler) { h_ode_set_rtoler(rtoler); #ifdef __CUDACC__ ode_set_rtoler(rtoler); #endif } }