fix no_std
This commit is contained in:
parent
f6fa4ecbce
commit
35881a8122
@ -19,13 +19,13 @@ impl-cgmath = ["cgmath"]
|
|||||||
impl-glam = ["glam"]
|
impl-glam = ["glam"]
|
||||||
impl-nalgebra = ["nalgebra"]
|
impl-nalgebra = ["nalgebra"]
|
||||||
serialization = ["serde"]
|
serialization = ["serde"]
|
||||||
std = []
|
std = ["nalgebra/std"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
cgmath = { version = ">=0.17, <0.19", optional = true }
|
cgmath = { version = ">=0.17, <0.19", optional = true }
|
||||||
glam = { version = ">=0.10, <0.25", optional = true }
|
glam = { version = ">=0.10, <0.25", optional = true }
|
||||||
nalgebra = { version = ">=0.21, <0.33", optional = true }
|
nalgebra = { version = ">=0.21, <0.33", default-features = false, optional = true }
|
||||||
serde = { version = "1", features = ["derive"], optional = true }
|
serde = { version = "1", features = ["derive"], optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
float-cmp = ">=0.6, < 0.10"
|
float-cmp = ">=0.6, < 0.10"
|
||||||
|
@ -112,10 +112,15 @@ macro_rules! impl_Interpolate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std")]
|
||||||
fn cosine(t: $t, a: Self, b: Self) -> Self {
|
fn cosine(t: $t, a: Self, b: Self) -> Self {
|
||||||
let cos_nt = (1. - (t * $pi).cos()) * 0.5;
|
let cos_nt = (1. - (t * $pi).cos()) * 0.5;
|
||||||
<Self as $crate::interpolate::Interpolate<$t>>::lerp(cos_nt, a, b)
|
<Self as $crate::interpolate::Interpolate<$t>>::lerp(cos_nt, a, b)
|
||||||
}
|
}
|
||||||
|
#[cfg(not(feature = "std"))]
|
||||||
|
fn cosine(t: $t, a: Self, b: Self) -> Self {
|
||||||
|
unimplemented!();
|
||||||
|
}
|
||||||
|
|
||||||
fn lerp(t: $t, a: Self, b: Self) -> Self {
|
fn lerp(t: $t, a: Self, b: Self) -> Self {
|
||||||
a * (1. - t) + b * t
|
a * (1. - t) + b * t
|
||||||
@ -176,10 +181,15 @@ macro_rules! impl_InterpolateT {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std")]
|
||||||
fn cosine(t: $t, a: Self, b: Self) -> Self {
|
fn cosine(t: $t, a: Self, b: Self) -> Self {
|
||||||
let cos_nt = (1. - (t * $pi).cos()) * 0.5;
|
let cos_nt = (1. - (t * $pi).cos()) * 0.5;
|
||||||
<Self as $crate::interpolate::Interpolate<$t>>::lerp(cos_nt, a, b)
|
<Self as $crate::interpolate::Interpolate<$t>>::lerp(cos_nt, a, b)
|
||||||
}
|
}
|
||||||
|
#[cfg(not(feature = "std"))]
|
||||||
|
fn cosine(t: $t, a: Self, b: Self) -> Self {
|
||||||
|
unimplemented!()
|
||||||
|
}
|
||||||
|
|
||||||
fn lerp(t: $t, a: Self, b: Self) -> Self {
|
fn lerp(t: $t, a: Self, b: Self) -> Self {
|
||||||
let t = Self::from(t);
|
let t = Self::from(t);
|
||||||
@ -232,6 +242,6 @@ macro_rules! impl_InterpolateT {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
impl_Interpolate!(f32, f32, std::f32::consts::PI);
|
impl_Interpolate!(f32, f32, f32::consts::PI);
|
||||||
impl_Interpolate!(f64, f64, std::f64::consts::PI);
|
impl_Interpolate!(f64, f64, f64::consts::PI);
|
||||||
impl_InterpolateT!(f32, f64, std::f32::consts::PI);
|
impl_InterpolateT!(f32, f64, f32::consts::PI);
|
||||||
|
@ -1,18 +1,27 @@
|
|||||||
|
#[cfg(not(feature = "std"))]
|
||||||
|
use core::f32;
|
||||||
|
#[cfg(not(feature = "std"))]
|
||||||
|
use core::f64;
|
||||||
|
#[cfg(feature = "std")]
|
||||||
|
use std::f32;
|
||||||
|
#[cfg(feature = "std")]
|
||||||
|
use std::f64;
|
||||||
|
|
||||||
use crate::impl_Interpolate;
|
use crate::impl_Interpolate;
|
||||||
use nalgebra::{Quaternion, Vector1, Vector2, Vector3, Vector4, Vector5, Vector6};
|
use nalgebra::{Quaternion, Vector1, Vector2, Vector3, Vector4, Vector5, Vector6};
|
||||||
|
|
||||||
impl_Interpolate!(f32, Vector1<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Vector1<f32>, f32::consts::PI);
|
||||||
impl_Interpolate!(f32, Vector2<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Vector2<f32>, f32::consts::PI);
|
||||||
impl_Interpolate!(f32, Vector3<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Vector3<f32>, f32::consts::PI);
|
||||||
impl_Interpolate!(f32, Vector4<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Vector4<f32>, f32::consts::PI);
|
||||||
impl_Interpolate!(f32, Vector5<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Vector5<f32>, f32::consts::PI);
|
||||||
impl_Interpolate!(f32, Vector6<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Vector6<f32>, f32::consts::PI);
|
||||||
impl_Interpolate!(f32, Quaternion<f32>, std::f32::consts::PI);
|
impl_Interpolate!(f32, Quaternion<f32>, f32::consts::PI);
|
||||||
|
|
||||||
impl_Interpolate!(f64, Vector1<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Vector1<f64>, f64::consts::PI);
|
||||||
impl_Interpolate!(f64, Vector2<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Vector2<f64>, f64::consts::PI);
|
||||||
impl_Interpolate!(f64, Vector3<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Vector3<f64>, f64::consts::PI);
|
||||||
impl_Interpolate!(f64, Vector4<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Vector4<f64>, f64::consts::PI);
|
||||||
impl_Interpolate!(f64, Vector5<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Vector5<f64>, f64::consts::PI);
|
||||||
impl_Interpolate!(f64, Vector6<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Vector6<f64>, f64::consts::PI);
|
||||||
impl_Interpolate!(f64, Quaternion<f64>, std::f64::consts::PI);
|
impl_Interpolate!(f64, Quaternion<f64>, f64::consts::PI);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Spline curves and operations.
|
//! Spline curves and operations.
|
||||||
|
|
||||||
#[cfg(feature = "std")]
|
// #[cfg(feature = "std")]
|
||||||
use crate::interpolate::{Interpolate, Interpolator};
|
use crate::interpolate::{Interpolate, Interpolator};
|
||||||
use crate::interpolation::Interpolation;
|
use crate::interpolation::Interpolation;
|
||||||
use crate::key::Key;
|
use crate::key::Key;
|
||||||
|
Loading…
Reference in New Issue
Block a user