generate_python_variadic_binding!() { /* proc-macro */ }Expand description
Generate Python (PyO3) binding for a variadic mathematical function
§Arguments
name- The function name (e.g.,add)
§Examples
ⓘ
generate_python_variadic_binding!(add);Generates:
ⓘ
#[pyfunction]
#[pyo3(signature = (*args))]
pub fn add(args: &Bound<'_, PyTuple>) -> PyResult<PyExpression> {
let mut exprs = Vec::new();
for arg in args {
exprs.push(sympify_python(&arg)?);
}
Ok(PyExpression {
inner: Expression::function("add", exprs),
})
}