Skip to content

Commit

Permalink
fix compile
Browse files Browse the repository at this point in the history
  • Loading branch information
kylebarron committed Dec 17, 2024
1 parent a657ba0 commit 12b6ed0
Show file tree
Hide file tree
Showing 10 changed files with 31 additions and 36 deletions.
2 changes: 1 addition & 1 deletion js/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion js/src/algorithm/geo/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ pub mod euclidean_length;
pub mod geodesic_area;
pub mod geodesic_length;
pub mod haversine_length;
pub mod rotate;
// pub mod rotate;
pub mod scale;
pub mod simplify;
pub mod simplify_vw;
Expand Down
2 changes: 1 addition & 1 deletion js/src/algorithm/geo/simplify.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ macro_rules! impl_simplify {
#[wasm_bindgen]
pub fn simplify(&self, epsilon: f64) -> Self {
use geoarrow::algorithm::geo::Simplify;
Simplify::simplify(&self.0, &epsilon).into()
Simplify::simplify(&self.0, &epsilon.into()).into()
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion js/src/algorithm/geo/simplify_vw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ macro_rules! impl_simplify_vw {
#[wasm_bindgen(js_name = simplifyVw)]
pub fn simplify_vw(&self, epsilon: f64) -> Self {
use geoarrow::algorithm::geo::SimplifyVw;
SimplifyVw::simplify_vw(&self.0, &epsilon).into()
SimplifyVw::simplify_vw(&self.0, &epsilon.into()).into()
}
}
};
Expand Down
25 changes: 4 additions & 21 deletions rust/geoarrow/src/algorithm/broadcasting/primitive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,20 @@ use arrow_buffer::ArrowNativeType;
/// [`IntoIterator`] is implemented for this, where it will iterate over the `Array` variant
/// normally but will iterate over the `Scalar` variant forever.
#[derive(Debug, Clone)]
pub enum BroadcastablePrimitive<'a, T>
pub enum BroadcastablePrimitive<T>
where
T: ArrowPrimitiveType,
{
Scalar(T::Native),
Array(&'a PrimitiveArray<T>),
Array(PrimitiveArray<T>),
}

pub enum BroadcastIter<'a, T: ArrowPrimitiveType> {
Scalar(T::Native),
Array(ArrayIter<&'a PrimitiveArray<T>>),
}

impl<'a, T> IntoIterator for BroadcastablePrimitive<'a, T>
where
T: ArrowPrimitiveType,
{
type Item = Option<T::Native>;
type IntoIter = BroadcastIter<'a, T>;

fn into_iter(self) -> Self::IntoIter {
match self {
BroadcastablePrimitive::Array(arr) => BroadcastIter::Array(arr.iter()),
BroadcastablePrimitive::Scalar(val) => BroadcastIter::Scalar(val),
}
}
}

impl<'a, T> IntoIterator for &'a BroadcastablePrimitive<'a, T>
impl<'a, T> IntoIterator for &'a BroadcastablePrimitive<T>
where
T: ArrowPrimitiveType,
{
Expand Down Expand Up @@ -66,9 +51,7 @@ where
}
}

impl<T: ArrowNativeType, P: ArrowPrimitiveType<Native = T>> From<T>
for BroadcastablePrimitive<'_, P>
{
impl<T: ArrowNativeType, P: ArrowPrimitiveType<Native = T>> From<T> for BroadcastablePrimitive<P> {
fn from(value: T) -> Self {
BroadcastablePrimitive::Scalar(value)
}
Expand Down
2 changes: 1 addition & 1 deletion rust/geoarrow/src/algorithm/geo/simplify.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ pub trait Simplify {
/// ];
/// let line_string_array: LineStringArray = (vec![line_string].as_slice(), Dimension::XY).into();
///
/// let simplified_array = line_string_array.simplify(&1.0);
/// let simplified_array = line_string_array.simplify(&1.0.into());
///
/// let expected = line_string![
/// (x: 0.0, y: 0.0),
Expand Down
2 changes: 1 addition & 1 deletion rust/geoarrow/src/algorithm/geo/simplify_vw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ pub trait SimplifyVw {
/// ];
/// let line_string_array: LineStringArray = (vec![line_string].as_slice(), Dimension::XY).into();
///
/// let simplified_array = line_string_array.simplify_vw(&30.0);
/// let simplified_array = line_string_array.simplify_vw(&30.0.into());
///
/// let expected = line_string![
/// (x: 5.0, y: 2.0),
Expand Down
10 changes: 7 additions & 3 deletions rust/geodatafusion/src/udf/native/processing/simplify.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,13 @@ fn simplify_impl(args: &[ColumnarValue]) -> GeoDataFusionResult<ColumnarValue> {
let epsilon = epsilon.as_primitive::<Float64Type>().value(0);
native_array.as_ref().simplify(&epsilon.into())?
}
ColumnarValue::Array(epsilon) => native_array
.as_ref()
.simplify(&BroadcastablePrimitive::Array(epsilon.as_primitive()))?,
ColumnarValue::Array(epsilon) => {
native_array
.as_ref()
.simplify(&BroadcastablePrimitive::Array(
epsilon.as_primitive().clone(),
))?
}
};
Ok(output.to_array_ref().into())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,13 @@ fn simplify_impl(args: &[ColumnarValue]) -> GeoDataFusionResult<ColumnarValue> {
.as_ref()
.simplify_vw_preserve(&epsilon.into())?
}
ColumnarValue::Array(epsilon) => native_array
.as_ref()
.simplify_vw_preserve(&BroadcastablePrimitive::Array(epsilon.as_primitive()))?,
ColumnarValue::Array(epsilon) => {
native_array
.as_ref()
.simplify_vw_preserve(&BroadcastablePrimitive::Array(
epsilon.as_primitive().clone(),
))?
}
};
Ok(output.to_array_ref().into())
}
10 changes: 7 additions & 3 deletions rust/geodatafusion/src/udf/native/processing/simplify_vw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,13 @@ fn simplify_impl(args: &[ColumnarValue]) -> GeoDataFusionResult<ColumnarValue> {
let epsilon = epsilon.as_primitive::<Float64Type>().value(0);
native_array.as_ref().simplify_vw(&epsilon.into())?
}
ColumnarValue::Array(epsilon) => native_array
.as_ref()
.simplify_vw(&BroadcastablePrimitive::Array(epsilon.as_primitive()))?,
ColumnarValue::Array(epsilon) => {
native_array
.as_ref()
.simplify_vw(&BroadcastablePrimitive::Array(
epsilon.as_primitive().clone(),
))?
}
};
Ok(output.to_array_ref().into())
}
Expand Down

0 comments on commit 12b6ed0

Please sign in to comment.