Skip to content

Commit ed9f4e1

Browse files
author
Ian
committed
Added Simba trait | version bump
1 parent 04dd08e commit ed9f4e1

File tree

4 files changed

+82
-2
lines changed

4 files changed

+82
-2
lines changed

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"rust-analyzer.cargo.features": [
3+
"simd"
4+
]
5+
}

Cargo.lock

Lines changed: 64 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
[package]
22
name = "single-utilities"
3-
version = "0.6.0"
3+
version = "0.7.0"
44
edition = "2024"
55
description = "This crate provdes types, traits and utility functions to the single-rust ecosystem that can be universally used. You can also use it within your own ecosystem 👀"
66
homepage = "https://singlerust.com"
77
authors = ["Ian F. Diks"]
88
repository = "https://github.com/SingleRust/single-utilities"
99
license-file = "LICENSE.md"
1010

11+
[features]
12+
simd = ["dep:simba"]
13+
14+
1115
[dependencies]
1216
num-traits = "0.2.19"
17+
simba = {version = "0.9.0", optional = true}

src/traits/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use std::fmt::Debug;
22
use std::iter::Sum;
33
use num_traits::{Bounded, FromPrimitive, NumCast, One, ToPrimitive, Zero};
4+
#[cfg(feature="simd")]
5+
use simba::{scalar::RealField, simd::SimdRealField};
46
use std::ops::{Add, AddAssign, MulAssign, SubAssign};
57
use num_traits::float::FloatCore;
68

@@ -26,6 +28,11 @@ pub trait FloatOpsTS: FloatOps + Sync + Send {}
2628

2729
impl<T: FloatOps + Send + Sync> FloatOpsTS for T {}
2830

31+
#[cfg(feature="simd")]
32+
pub trait FloatOpsTSSimba: FloatOpsTS + SimdRealField + RealField {}
33+
34+
impl<T: FloatOpsTS + SimdRealField + RealField> FloatOpsTSSimba for T {}
35+
2936
// Define a type alias for our numeric constraints
3037
pub trait NumericNormalize:
3138
num_traits::Float + std::ops::AddAssign + std::iter::Sum + num_traits::NumCast

0 commit comments

Comments
 (0)