# generators package

## `GSL_generator` module

GSLCodeGenerators for code that uses the ODE solver provided by the GNU Scientific Library (GSL)

Exported members: `GSLCPPCodeGenerator`, `GSLCodeGenerator`, `GSLCythonCodeGenerator`

Classes

`GSLCPPCodeGenerator`(variables, ...[, ...]) |

`GSLCodeGenerator`(variables, ...[, ...]) | GSL code generator.

`GSLCythonCodeGenerator`(variables, ...[, ...]) |

Functions

`valid_gsl_dir`(val) | Validate given string to be path containing required GSL files.

## `base` module

Base class for generating code in different programming languages, gives the methods which should be overridden to implement a new language.

Exported members: `CodeGenerator`

Classes

`CodeGenerator`(variables, variable_indices, ...) | Base class for all languages.

## `cpp_generator` module

Exported members: `CPPCodeGenerator`, `c_data_type`

Classes

`CPPCodeGenerator`(*args, **kwds) | C++ language

Functions

`c_data_type`(dtype) | Gives the C language specifier for numpy data types.

## `cython_generator` module

Exported members: `CythonCodeGenerator`

Classes

`CythonCodeGenerator`(*args, **kwds) | Cython code generator

`CythonNodeRenderer`([auto_vectorise]) |

Functions

`get_cpp_dtype`(obj) |

`get_numpy_dtype`(obj) |

## `numpy_generator` module

Exported members: `NumpyCodeGenerator`

Classes

`NumpyCodeGenerator`(variables, ...[, ...]) | Numpy language

`VectorisationError` |

Functions

`ceil_func`(value) |

`clip_func`(array, a_min, a_max) |

`floor_func`(value) |

`int_func`(value) |

`poisson_func`(lam, vectorisation_idx) |

`rand_func`(vectorisation_idx) |

`randn_func`(vectorisation_idx) |