Introduce support for Infinities and Transcendentals. Document supported SymPy features.
This MR introduces parsing and code generation for pi, e, and positive/negative infinity. Furthermore, the documentation on constants and functions in the backend, as well as supported SymPy features is extended.
Infinities and Transcendentals
- Introduce
PsConstantFunctionsubclass ofPsFunctionto represent typed special constants (pi, e, infinities) - Add freeze support for
sp.pi,sp.eandsp.oo - Extend typifier; treat
PsConstantFunctionlikePsConstants in contextual typing - Extend vectorizer; broadcast
PsConstantFunctions - Add support for emitting special constants to CPU/x86 and CUDA/HIP targets
Documentation
- Explain design and interactions of
PsConstant,PsFunctionandPsLiteralin the backend guide - Add a list of supported SymPy features to the API docs
Edited by Frederik Hennig