Skip to content

Commit

Permalink
chore(rust): Replace num with num-traits + a few minor maintenanc…
Browse files Browse the repository at this point in the history
…e fixes (#7201)
  • Loading branch information
aldanor committed Feb 26, 2023
1 parent d49356b commit 06cac04
Show file tree
Hide file tree
Showing 59 changed files with 182 additions and 241 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Expand Up @@ -25,7 +25,7 @@ version = "0.27.2"
[workspace.dependencies]
rayon = "1.6"
thiserror = "^1"
num = "0.4"
num-traits = "0.2"
ahash = "0.8"
xxhash-rust = { version = "0.8.6", features = ["xxh3"] }
# todo! remove
Expand Down
4 changes: 2 additions & 2 deletions examples/read_csv/src/main.rs
Expand Up @@ -5,7 +5,7 @@ fn main() -> PolarsResult<()> {
let file = std::fs::File::open("/home/ritchie46/Downloads/tpch/tables_scale_100/lineitem.tbl")
.unwrap();
let file = Box::new(file) as Box<dyn MmapBytesReader>;
let df = CsvReader::new(file)
let _df = CsvReader::new(file)
.with_delimiter(b'|')
.has_header(false)
.with_chunk_size(10)
Expand All @@ -16,7 +16,7 @@ fn main() -> PolarsResult<()> {
Ok(())
}

fn write_other_formats(df: &mut DataFrame) -> PolarsResult<()> {
fn _write_other_formats(df: &mut DataFrame) -> PolarsResult<()> {
let parquet_out = "../datasets/foods1.parquet";
if std::fs::metadata(&parquet_out).is_err() {
let f = std::fs::File::create(&parquet_out).unwrap();
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/Cargo.toml
Expand Up @@ -13,7 +13,7 @@ arrow.workspace = true
chrono = { version = "0.4", default-features = false, features = ["std"], optional = true }
chrono-tz = { version = "0.8", optional = true }
hashbrown.workspace = true
num.workspace = true
num-traits.workspace = true
polars-error = { version = "0.27.2", path = "../polars-error" }
serde = { version = "1", features = ["derive"], optional = true }
thiserror.workspace = true
Expand Down
4 changes: 3 additions & 1 deletion polars/polars-arrow/src/floats/ord.rs
@@ -1,5 +1,7 @@
use std::cmp::Ordering;

use num_traits::ToPrimitive;

use crate::data_types::IsFloat;
use crate::kernels::rolling::compare_fn_nan_max;

Expand Down Expand Up @@ -33,7 +35,7 @@ impl<T: IsFloat + PartialEq> PartialEq for OrdFloat<T> {

impl<T: PartialEq + IsFloat> Eq for OrdFloat<T> {}

impl<T: num::ToPrimitive> num::ToPrimitive for OrdFloat<T> {
impl<T: ToPrimitive> ToPrimitive for OrdFloat<T> {
fn to_isize(&self) -> Option<isize> {
self.0.to_isize()
}
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/index.rs
Expand Up @@ -2,7 +2,7 @@
use arrow::array::UInt32Array;
#[cfg(feature = "bigidx")]
use arrow::array::UInt64Array;
use num::{NumCast, Signed, Zero};
use num_traits::{NumCast, Signed, Zero};

pub trait IndexToUsize {
/// Translate the negative index to an offset.
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/ewm/average.rs
Expand Up @@ -2,7 +2,7 @@ use std::ops::{AddAssign, MulAssign};

use arrow::array::PrimitiveArray;
use arrow::types::NativeType;
use num::Float;
use num_traits::Float;

use crate::trusted_len::TrustedLen;
use crate::utils::CustomIterTools;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/ewm/variance.rs
Expand Up @@ -2,7 +2,7 @@ use std::ops::{AddAssign, DivAssign, MulAssign};

use arrow::array::PrimitiveArray;
use arrow::types::NativeType;
use num::Float;
use num_traits::Float;

use crate::trusted_len::TrustedLen;
use crate::utils::CustomIterTools;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/float.rs
@@ -1,7 +1,7 @@
use arrow::array::{BooleanArray, PrimitiveArray};
use arrow::bitmap::Bitmap;
use arrow::types::NativeType;
use num::Float;
use num_traits::Float;

use crate::array::default_arrays::FromData;
use crate::prelude::*;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/rolling/mod.rs
Expand Up @@ -8,7 +8,7 @@ use std::ops::{Add, AddAssign, Div, Mul, Sub, SubAssign};
use arrow::array::PrimitiveArray;
use arrow::bitmap::{Bitmap, MutableBitmap};
use arrow::types::NativeType;
use num::{Bounded, Float, NumCast, One, ToPrimitive, Zero};
use num_traits::{Bounded, Float, NumCast, One, ToPrimitive, Zero};
use window::*;

use crate::data_types::IsFloat;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/rolling/no_nulls/mod.rs
Expand Up @@ -11,7 +11,7 @@ use arrow::datatypes::DataType;
use arrow::types::NativeType;
pub use mean::*;
pub use min_max::*;
use num::{Float, NumCast};
use num_traits::{Float, NumCast};
pub use quantile::*;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
Expand Down
18 changes: 10 additions & 8 deletions polars/polars-arrow/src/kernels/rolling/no_nulls/quantile.rs
@@ -1,5 +1,7 @@
use std::fmt::Debug;

use num_traits::ToPrimitive;

use super::*;
use crate::index::IdxSize;
use crate::trusted_len::TrustedLen;
Expand All @@ -16,8 +18,8 @@ where
T: std::iter::Sum<T>
+ NativeType
+ Copy
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Add<Output = T>
+ Sub<Output = T>
Expand Down Expand Up @@ -58,8 +60,8 @@ pub(crate) fn compute_quantile2<T>(
where
T: std::iter::Sum<T>
+ Copy
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Add<Output = T>
+ Sub<Output = T>
Expand Down Expand Up @@ -126,8 +128,8 @@ pub fn rolling_median<T>(
where
T: NativeType
+ std::iter::Sum<T>
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Add<Output = T>
+ Sub<Output = T>
Expand Down Expand Up @@ -159,8 +161,8 @@ pub fn rolling_quantile<T>(
where
T: NativeType
+ std::iter::Sum<T>
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Add<Output = T>
+ Sub<Output = T>
Expand Down
@@ -1,5 +1,5 @@
use no_nulls::{rolling_apply_agg_window, RollingAggWindowNoNulls};
use num::pow::Pow;
use num_traits::pow::Pow;

use super::mean::MeanWindow;
use super::*;
Expand Down
16 changes: 8 additions & 8 deletions polars/polars-arrow/src/kernels/rolling/nulls/quantile.rs
Expand Up @@ -16,8 +16,8 @@ where
T: std::iter::Sum<T>
+ NativeType
+ Copy
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Add<Output = T>
+ Sub<Output = T>
Expand Down Expand Up @@ -148,8 +148,8 @@ where
+ std::iter::Sum<T>
+ Zero
+ AddAssign
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Default
+ Add<Output = T>
Expand Down Expand Up @@ -213,8 +213,8 @@ where
+ Zero
+ AddAssign
+ Copy
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Default
+ Add<Output = T>
Expand Down Expand Up @@ -249,8 +249,8 @@ where
+ Zero
+ AddAssign
+ Copy
+ std::cmp::PartialOrd
+ num::ToPrimitive
+ PartialOrd
+ ToPrimitive
+ NumCast
+ Default
+ Add<Output = T>
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/rolling/nulls/variance.rs
@@ -1,7 +1,7 @@
use mean::MeanWindow;
use nulls;
use nulls::{rolling_apply_agg_window, RollingAggWindowNulls};
use num::pow::Pow;
use num_traits::pow::Pow;

use super::*;

Expand Down
2 changes: 1 addition & 1 deletion polars/polars-arrow/src/kernels/take_agg.rs
@@ -1,7 +1,7 @@
//! kernels that combine take and aggregations.
use arrow::array::{PrimitiveArray, Utf8Array};
use arrow::types::NativeType;
use num::{NumCast, ToPrimitive};
use num_traits::{NumCast, ToPrimitive};

use crate::array::PolarsArray;
use crate::index::IdxSize;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/Cargo.toml
Expand Up @@ -161,7 +161,7 @@ comfy-table = { version = "6.1.4", optional = true, default_features = false }
hashbrown.workspace = true
indexmap = { version = "1", features = ["std"] }
ndarray = { version = "0.15", optional = true, default_features = false }
num.workspace = true
num-traits.workspace = true
object_store = { version = "0.5.3", default-features = false, optional = true }
once_cell.workspace = true
polars-arrow = { version = "0.27.2", path = "../polars-arrow", features = ["compute"] }
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/arithmetic.rs
Expand Up @@ -8,7 +8,7 @@ use arrow::compute::arithmetics::basic;
use arrow::compute::arithmetics::decimal;
use arrow::compute::arity_assign;
use arrow::types::NativeType;
use num::{Num, NumCast, ToPrimitive};
use num_traits::{Num, NumCast, ToPrimitive};

use crate::prelude::*;
use crate::series::IsSorted;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/comparison.rs
Expand Up @@ -6,7 +6,7 @@ use arrow::compute::comparison;
#[cfg(feature = "dtype-binary")]
use arrow::scalar::BinaryScalar;
use arrow::scalar::{PrimitiveScalar, Scalar, Utf8Scalar};
use num::{NumCast, ToPrimitive};
use num_traits::{NumCast, ToPrimitive};
use polars_arrow::prelude::FromData;

use crate::prelude::*;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/float.rs
@@ -1,4 +1,4 @@
use num::Float;
use num_traits::Float;
use polars_arrow::kernels::float::*;
use polars_arrow::kernels::set::set_at_nulls;

Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/abs.rs
@@ -1,4 +1,4 @@
use num::Signed;
use num_traits::Signed;

use crate::prelude::*;

Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/aggregate/mod.rs
Expand Up @@ -8,7 +8,7 @@ use std::ops::Add;
use arrow::compute;
use arrow::types::simd::Simd;
use arrow::types::NativeType;
use num::{Float, ToPrimitive};
use num_traits::{Float, ToPrimitive};
use polars_arrow::kernels::rolling::{compare_fn_nan_max, compare_fn_nan_min};
pub use quantile::*;
pub use var::*;
Expand Down
3 changes: 1 addition & 2 deletions polars/polars-core/src/chunked_array/ops/any_value.rs
@@ -1,7 +1,5 @@
use std::convert::TryFrom;

#[cfg(feature = "dtype-categorical")]
use polars_arrow::is_valid::IsValid;
#[cfg(feature = "dtype-categorical")]
use polars_utils::sync::SyncPtr;

Expand Down Expand Up @@ -130,6 +128,7 @@ impl<'a> AnyValue<'a> {
// so we set the array pointer with values of the dictionary array.
#[cfg(feature = "dtype-categorical")]
{
use polars_arrow::is_valid::{IsValid as _};
if let Some(arr) = arr.as_any().downcast_ref::<DictionaryArray<u32>>() {
let keys = arr.keys();
let values = arr.values();
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/cum_agg.rs
@@ -1,7 +1,7 @@
use std::iter::FromIterator;
use std::ops::{Add, AddAssign, Mul};

use num::Bounded;
use num_traits::Bounded;

use crate::prelude::*;
use crate::utils::CustomIterTools;
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/fill_null.rs
Expand Up @@ -2,7 +2,7 @@ use std::ops::Add;

use arrow::compute;
use arrow::types::simd::Simd;
use num::{Bounded, NumCast, One, Zero};
use num_traits::{Bounded, NumCast, One, Zero};
use polars_arrow::kernels::set::set_at_nulls;
use polars_arrow::trusted_len::FromIteratorReversed;
use polars_arrow::utils::{CustomIterTools, FromTrustedLenIterator};
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/peaks.rs
@@ -1,4 +1,4 @@
use num::Zero;
use num_traits::Zero;

use crate::prelude::*;

Expand Down
5 changes: 3 additions & 2 deletions polars/polars-core/src/chunked_array/ops/rolling_window.rs
Expand Up @@ -28,7 +28,8 @@ mod inner_mod {

use arrow::array::{Array, PrimitiveArray};
use arrow::bitmap::MutableBitmap;
use num::{Float, Zero};
use num_traits::pow::Pow;
use num_traits::{Float, Zero};
use polars_arrow::bit_util::unset_bit_raw;
use polars_arrow::data_types::IsFloat;
use polars_arrow::trusted_len::PushUnchecked;
Expand Down Expand Up @@ -182,7 +183,7 @@ mod inner_mod {
where
ChunkedArray<T>: IntoSeries,
T: PolarsFloatType,
T::Native: Float + IsFloat + SubAssign + num::pow::Pow<T::Native, Output = T::Native>,
T::Native: Float + IsFloat + SubAssign + Pow<T::Native, Output = T::Native>,
{
/// Apply a rolling custom function. This is pretty slow because of dynamic dispatch.
pub fn rolling_apply_float<F>(&self, window_size: usize, mut f: F) -> PolarsResult<Self>
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/shift.rs
@@ -1,4 +1,4 @@
use num::{abs, clamp};
use num_traits::{abs, clamp};

use crate::prelude::*;

Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/ops/sort/mod.rs
Expand Up @@ -11,7 +11,7 @@ use std::iter::FromIterator;
pub(crate) use arg_sort_multiple::argsort_multiple_row_fmt;
use arrow::bitmap::MutableBitmap;
use arrow::buffer::Buffer;
use num::Float;
use num_traits::Float;
use polars_arrow::array::default_arrays::FromDataUtf8;
use polars_arrow::kernels::rolling::compare_fn_nan_max;
use polars_arrow::prelude::{FromData, ValueSize};
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/chunked_array/random.rs
@@ -1,4 +1,4 @@
use num::{Float, NumCast};
use num_traits::{Float, NumCast};
use rand::distributions::Bernoulli;
use rand::prelude::*;
use rand_distr::{Distribution, Normal, Standard, StandardNormal, Uniform};
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/datatypes/mod.rs
Expand Up @@ -30,7 +30,7 @@ use arrow::types::simd::Simd;
use arrow::types::NativeType;
pub use dtype::*;
pub use field::*;
use num::{Bounded, FromPrimitive, Num, NumCast, Zero};
use num_traits::{Bounded, FromPrimitive, Num, NumCast, Zero};
use polars_arrow::data_types::IsFloat;
#[cfg(feature = "serde")]
use serde::de::{EnumAccess, Error, Unexpected, VariantAccess, Visitor};
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/export.rs
Expand Up @@ -4,7 +4,7 @@ pub use arrow;
#[cfg(feature = "temporal")]
pub use chrono;
#[cfg(feature = "private")]
pub use num;
pub use num_traits as num;
#[cfg(feature = "private")]
pub use once_cell;
#[cfg(feature = "private")]
Expand Down
2 changes: 1 addition & 1 deletion polars/polars-core/src/fmt.rs
Expand Up @@ -20,7 +20,7 @@ use comfy_table::modifiers::*;
use comfy_table::presets::*;
#[cfg(any(feature = "fmt", feature = "fmt_no_tty"))]
use comfy_table::*;
use num::{Num, NumCast};
use num_traits::{Num, NumCast};

use crate::config::*;
use crate::prelude::*;
Expand Down

0 comments on commit 06cac04

Please sign in to comment.