cutcutcodec.core.compilation.sympy_to_torch.printer_atom.c_mul

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

C * operation.

Examples

>>> from collections import defaultdict
>>> from sympy.abc import x, y, z
>>> from cutcutcodec.core.compilation.sympy_to_torch.printer import _print_atomic
>>> _print_atomic(2 * x, x, defaultdict(lambda: ""), "float")
(set(), set(), ['x *= 2.0f;'])
>>> _print_atomic(2 * x, y, defaultdict(lambda: ""), "float")
(set(), set(), ['y = 2.0f * x;'])
>>> _print_atomic(2 * x * y, z, defaultdict(lambda: ""), "float")
(set(), set(), ['z = 2.0f * x;', 'z *= y;'])
>>>