cutcutcodec.core.compilation.sympy_to_torch.printer.c_piecewise¶
- cutcutcodec.core.compilation.sympy_to_torch.printer.c_piecewise(out: Symbol, indexing: defaultdict[Symbol, str], c_type: str, *parts: Atom) tuple[set[str], set[Symbol], list[str]][source]¶
C … if … else … operation.
Examples¶
>>> from sympy.abc import x >>> from sympy.functions.elementary.piecewise import Piecewise >>> 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, Piecewise((0, x < 0), (x, True)))], {}, {x})) >>> func(np.array([np.nan, -np.inf, -1.0, 0.0, 1.0, np.inf])) array([nan, 0., 0., 0., 1., inf]) >>>