use crate::python::array::PyArray;
use pyo3::exceptions::PyValueError;
use pyo3::prelude::*;
#[pyfunction]
fn minimize(
_fun: PyObject,
_x0: &PyArray,
_method: Option<String>,
_tol: Option<f64>,
) -> PyResult<PyObject> {
Err(PyValueError::new_err(
"minimize function not yet implemented - see NumRS2 Rust API for optimization",
))
}
#[pyfunction]
fn root_scalar(_fun: PyObject, _bracket: (f64, f64), _method: Option<String>) -> PyResult<f64> {
Err(PyValueError::new_err(
"root_scalar function not yet implemented - see NumRS2 Rust API for root finding",
))
}
pub fn register(m: &Bound<'_, PyModule>) -> PyResult<()> {
let optimize_module = PyModule::new(m.py(), "optimize")?;
optimize_module.add_function(wrap_pyfunction!(minimize, m)?)?;
optimize_module.add_function(wrap_pyfunction!(root_scalar, m)?)?;
m.add_submodule(&optimize_module)?;
Ok(())
}