Trait asprim::AsPrim
[−]
[src]
pub trait AsPrim: 'static + Copy { fn as_usize(self) -> usize; fn as_isize(self) -> isize; fn as_u64(self) -> u64; fn as_i64(self) -> i64; fn as_u32(self) -> u32; fn as_i32(self) -> i32; fn as_u16(self) -> u16; fn as_i16(self) -> i16; fn as_u8(self) -> u8; fn as_i8(self) -> i8; fn as_f32(self) -> f32; fn as_f64(self) -> f64; fn cast_from<T: AsPrim>(_: T) -> Self; fn as_<T: AsPrim>(self) -> T { ... } }
Cast to a primitive numeric type using as
.
AsPrim
converts any primitive numeric type to any other,
using the regular cast operator as
.
use asprim::AsPrim; // Compute the mean value using f64 then cast back fn mean<P>(data: &[P]) -> P where P: AsPrim { let mut sum = 0.; for elt in data { sum += elt.as_f64(); } sum /= data.len() as f64; sum.as_() } fn pi<P: AsPrim>() -> P { 3.1415926535897932384626433.as_() }
Required Methods
fn as_usize(self) -> usize
fn as_isize(self) -> isize
fn as_u64(self) -> u64
fn as_i64(self) -> i64
fn as_u32(self) -> u32
fn as_i32(self) -> i32
fn as_u16(self) -> u16
fn as_i16(self) -> i16
fn as_u8(self) -> u8
fn as_i8(self) -> i8
fn as_f32(self) -> f32
fn as_f64(self) -> f64
fn cast_from<T: AsPrim>(_: T) -> Self
Provided Methods
Implementors
impl AsPrim for u8
impl AsPrim for i8
impl AsPrim for u16
impl AsPrim for i16
impl AsPrim for u32
impl AsPrim for i32
impl AsPrim for u64
impl AsPrim for i64
impl AsPrim for usize
impl AsPrim for isize
impl AsPrim for f32
impl AsPrim for f64