cutcutcodec.core.compilation.sympy_to_torch.printer_atom.c_cos

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

C cos operation.

Examples

>>> from sympy.abc import x
>>> from sympy.functions.elementary.trigonometric import cos
>>> 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, cos(x))], {}, {x}))
>>> func(np.array([np.nan]))
array([nan])
>>> func(np.array([0., 0.78539816, 2.35619449, 3.14159265, 3.92699082, 5.49778714, 6.28318531]))
array([ 1.        ,  0.70710678, -0.70710678, -1.        , -0.70710678,
        0.70710678,  1.        ])
>>> func(np.array([1+1j]))
array([0.83373003-0.98889771j])
>>>