use pyo3::prelude::*;
use std::sync::Arc;
use oxmpl::base::state::RealVectorState as OxmplRealVectorState;
#[pyclass(name = "RealVectorState", unsendable)]
#[derive(Clone)]
pub struct PyRealVectorState(pub Arc<OxmplRealVectorState>);
#[pymethods]
impl PyRealVectorState {
#[new]
fn new(values: Vec<f64>) -> Self {
let state = OxmplRealVectorState::new(values);
Self(Arc::new(state))
}
#[getter]
fn get_values(&self) -> Vec<f64> {
self.0.values.clone()
}
fn __repr__(&self) -> String {
format!("<RealVectorState values={:?}>", self.0.values)
}
}