oxmpl_js/base/
real_vector_state.rs1use std::sync::Arc;
6
7use oxmpl::base::state::RealVectorState as OxmplRealVectorState;
8use wasm_bindgen::prelude::*;
9
10#[wasm_bindgen(js_name = RealVectorState)]
11pub struct JsRealVectorState {
12 #[wasm_bindgen(skip)]
13 pub inner: Arc<OxmplRealVectorState>,
14}
15
16#[wasm_bindgen(js_class = RealVectorState)]
17impl JsRealVectorState {
18 #[wasm_bindgen(constructor)]
19 pub fn new(values: Vec<f64>) -> Self {
20 let state = OxmplRealVectorState::new(values);
21 Self {
22 inner: Arc::new(state),
23 }
24 }
25
26 #[wasm_bindgen(getter)]
27 pub fn values(&self) -> Vec<f64> {
28 self.inner.values.clone()
29 }
30}