use num::Float as NumFloat;
use std::fmt::Debug;
pub trait Float: NumFloat + Debug {}
impl<T> Float for T where T: NumFloat + Debug {}
pub use num::{One, Zero};
cfg_if::cfg_if! {
if #[cfg(feature="f64_default")] {
pub type ScalarFloat = f64;
} else {
pub type ScalarFloat = f32;
}
}
cfg_if::cfg_if! {
if #[cfg(feature="autodiff")] {
pub type DefaultFloat = crate::autodiff::Var;
} else {
pub type DefaultFloat = ScalarFloat;
}
}