Skip to main content

exact_poly/wasm/
optimization.rs

1use wasm_bindgen::prelude::*;
2
3use super::helpers::*;
4
5#[wasm_bindgen(skip_typescript)]
6pub fn optimize_partition(parts_flat: JsValue) -> Result<JsValue, JsValue> {
7    let parts = parse_flat_parts(parts_flat)?;
8    let optimized = crate::hertel_mehlhorn::optimize_partition(&parts);
9    serialize(&flatten_parts(&optimized))
10}
11
12#[wasm_bindgen(skip_typescript)]
13pub fn merge_convex_pair(a_flat: &[i64], b_flat: &[i64]) -> Result<JsValue, JsValue> {
14    let a = parse_flat_ring(a_flat)?;
15    let b = parse_flat_ring(b_flat)?;
16    let result = crate::hertel_mehlhorn::merge_convex_pair(&a, &b);
17    serialize(&result.map(|r| flatten_ring(&r)))
18}