#[cfg(feature = "half")]
use half::{bf16, f16};
#[cfg(feature = "twofloat")]
use twofloat::TwoFloat as tf128;
use crate::number::real::float::{
macros::{from_primitive, try_from_primitive},
*,
};
#[cfg(feature = "half")]
from_primitive![float_f for:BrainFloat+16, from:bf+16];
#[cfg(feature = "half")]
from_primitive![float_f for:Float+16, from:f+16];
from_primitive![float_f for:Float+32, from:f+32];
#[cfg(feature = "half")]
from_primitive![float_half for:Float+32, from:bf+16];
#[cfg(feature = "half")]
from_primitive![float_half for:Float+32, from:f+16];
from_primitive![float_f for:Float+64, from:f+32,64];
#[cfg(feature = "half")]
from_primitive![float_half for:Float+64, from:bf+16];
#[cfg(feature = "half")]
from_primitive![float_half for:Float+64, from:f+16];
#[cfg(feature = "twofloat")]
from_primitive![float_f for:TwoFloat+128, from:tf+128];
#[cfg(feature = "twofloat")]
from_primitive![float_tf for:TwoFloat+128, from:f+32,64];
#[cfg(all(feature = "twofloat", feature = "half"))]
from_primitive![float_tf_half for:TwoFloat+128, from:bf+16];
#[cfg(all(feature = "twofloat", feature = "half"))]
from_primitive![float_tf_half for:TwoFloat+128, from:f+16];
#[cfg(feature = "half")]
try_from_primitive![float_half_ne for:BrainFloat+bf+16, from:f+16];
#[cfg(feature = "half")]
try_from_primitive![float_half_ne for:Float+f+16, from:bf+16];
#[cfg(feature = "half")]
try_from_primitive![float_half for:BrainFloat+bf+16, from:f+32,64];
#[cfg(feature = "half")]
try_from_primitive![float_half for:Float+f+16, from:f+32,64];
try_from_primitive![float_f for:Float+32, from:f+64];