cutcutcodec.core.compilation.sympy_to_torch.printer_atom.c_exp

cutcutcodec.core.compilation.sympy_to_torch.printer_atom.c_exp(out: Symbol, indexing: defaultdict[Symbol, str], c_type: str, arg: Atom) tuple[set[str], set[Symbol], list[str]][source]

C exp operation.

Examples

>>> from sympy.abc import x
>>> from sympy.functions.elementary.trigonometric import exp
>>> import numpy as np
>>> from cutcutcodec.core.compilation.sympy_to_torch.lambdify import _lambdify_c
>>> from cutcutcodec.core.compilation.sympy_to_torch.printer import _print_atomic, _printer
>>> func = _lambdify_c(_printer([(x, exp(x))], {}, {x}))
>>> func(np.array([np.nan]))
array([nan])
>>> func(np.array([-np.inf, -1.0, 0.0, 1.0, np.inf]))
array([0.        , 0.36787944, 1.        , 2.71828183,        inf])
>>> func(np.array([1+1j]))
array([1.46869394+2.28735529j])
>>>