Source code for CyRK
# Find Version Number
import importlib.metadata
__version__ = importlib.metadata.version("CyRK")
version = __version__
# Import python solver
from CyRK.cy.common import CyrkErrorCodes, MAX_SIZE
from CyRK.cy.cysolver_api import WrapCySolverResult, ODEMethod
from CyRK.cy.pysolver import pysolve_ivp, PySolver
from CyRK.cy.pyhelpers import get_error_message, find_ode_method_int
# Import numba solver
from .nb.nbrk import nbsolve_ivp
from .nb.numba_solver import nbsolve2_ivp, cyjit, nb_diffeq_addr, NbCySolverResult, njit_test_nbsolve_ivp, test_nbsolve_ivp
# Import helper functions
from .helper import nb2cy, cy2nb
# Import test functions
from ._test import test_nbrk, test_cysolver, test_pysolver, test_nbsolver
# Helper function that provides directories to CyRK c++ headers
[docs]
def get_include():
import os
import CyRK
cyrk_dir = os.path.dirname(CyRK.__file__)
cyrk_dirs = list()
cyrk_dirs.append(
os.path.join(cyrk_dir, 'array') # Array headers
)
cyrk_dirs.append(
os.path.join(cyrk_dir, 'optimize') # Array headers
)
cyrk_dirs.append(
os.path.join(cyrk_dir, 'cy') # CySolver headers
)
cyrk_dirs.append(
os.path.join(cyrk_dir, 'nb') # Array headers
)
return cyrk_dirs