Trait sampara::sample::conv::ConvertFrom[][src]

pub trait ConvertFrom<S> where
    S: Sample
{ fn convert_from(s: S) -> Self; }

Sample types that can be converted from another Sample type.

Required methods

fn convert_from(s: S) -> Self[src]

Convert Self from another Sample type. This is analogous to std::convert::From, but is intended for preserving the same represented amplitude between sample types.

use sampara::{Sample, ConvertFrom};

fn main() {
    let s: i8 = ConvertFrom::convert_from(0.0f32);
    assert_eq!(s, 0);

    let s: u8 = ConvertFrom::convert_from(0.0f32);
    assert_eq!(s, 128);

    let s: f32 = ConvertFrom::convert_from(255u8);
    assert_eq!(s, 0.9921875);
}
Loading content...

Implementations on Foreign Types

impl ConvertFrom<i16> for i8[src]

impl ConvertFrom<i32> for i8[src]

impl ConvertFrom<i64> for i8[src]

impl ConvertFrom<u8> for i8[src]

impl ConvertFrom<u16> for i8[src]

impl ConvertFrom<u32> for i8[src]

impl ConvertFrom<u64> for i8[src]

impl ConvertFrom<f32> for i8[src]

impl ConvertFrom<f64> for i8[src]

impl ConvertFrom<i8> for i16[src]

impl ConvertFrom<i32> for i16[src]

impl ConvertFrom<i64> for i16[src]

impl ConvertFrom<u8> for i16[src]

impl ConvertFrom<u16> for i16[src]

impl ConvertFrom<u32> for i16[src]

impl ConvertFrom<u64> for i16[src]

impl ConvertFrom<f32> for i16[src]

impl ConvertFrom<f64> for i16[src]

impl ConvertFrom<i8> for i32[src]

impl ConvertFrom<i16> for i32[src]

impl ConvertFrom<i64> for i32[src]

impl ConvertFrom<u8> for i32[src]

impl ConvertFrom<u16> for i32[src]

impl ConvertFrom<u32> for i32[src]

impl ConvertFrom<u64> for i32[src]

impl ConvertFrom<f32> for i32[src]

impl ConvertFrom<f64> for i32[src]

impl ConvertFrom<i8> for i64[src]

impl ConvertFrom<i16> for i64[src]

impl ConvertFrom<i32> for i64[src]

impl ConvertFrom<u8> for i64[src]

impl ConvertFrom<u16> for i64[src]

impl ConvertFrom<u32> for i64[src]

impl ConvertFrom<u64> for i64[src]

impl ConvertFrom<f32> for i64[src]

impl ConvertFrom<f64> for i64[src]

impl ConvertFrom<i8> for u8[src]

impl ConvertFrom<i16> for u8[src]

impl ConvertFrom<i32> for u8[src]

impl ConvertFrom<i64> for u8[src]

impl ConvertFrom<u16> for u8[src]

impl ConvertFrom<u32> for u8[src]

impl ConvertFrom<u64> for u8[src]

impl ConvertFrom<f32> for u8[src]

impl ConvertFrom<f64> for u8[src]

impl ConvertFrom<i8> for u16[src]

impl ConvertFrom<i16> for u16[src]

impl ConvertFrom<i32> for u16[src]

impl ConvertFrom<i64> for u16[src]

impl ConvertFrom<u8> for u16[src]

impl ConvertFrom<u32> for u16[src]

impl ConvertFrom<u64> for u16[src]

impl ConvertFrom<f32> for u16[src]

impl ConvertFrom<f64> for u16[src]

impl ConvertFrom<i8> for u32[src]

impl ConvertFrom<i16> for u32[src]

impl ConvertFrom<i32> for u32[src]

impl ConvertFrom<i64> for u32[src]

impl ConvertFrom<u8> for u32[src]

impl ConvertFrom<u16> for u32[src]

impl ConvertFrom<u64> for u32[src]

impl ConvertFrom<f32> for u32[src]

impl ConvertFrom<f64> for u32[src]

impl ConvertFrom<i8> for u64[src]

impl ConvertFrom<i16> for u64[src]

impl ConvertFrom<i32> for u64[src]

impl ConvertFrom<i64> for u64[src]

impl ConvertFrom<u8> for u64[src]

impl ConvertFrom<u16> for u64[src]

impl ConvertFrom<u32> for u64[src]

impl ConvertFrom<f32> for u64[src]

impl ConvertFrom<f64> for u64[src]

impl ConvertFrom<i8> for f32[src]

impl ConvertFrom<i16> for f32[src]

impl ConvertFrom<i32> for f32[src]

impl ConvertFrom<i64> for f32[src]

impl ConvertFrom<u8> for f32[src]

impl ConvertFrom<u16> for f32[src]

impl ConvertFrom<u32> for f32[src]

impl ConvertFrom<u64> for f32[src]

impl ConvertFrom<f64> for f32[src]

impl ConvertFrom<i8> for f64[src]

impl ConvertFrom<i16> for f64[src]

impl ConvertFrom<i32> for f64[src]

impl ConvertFrom<i64> for f64[src]

impl ConvertFrom<u8> for f64[src]

impl ConvertFrom<u16> for f64[src]

impl ConvertFrom<u32> for f64[src]

impl ConvertFrom<u64> for f64[src]

impl ConvertFrom<f32> for f64[src]

Loading content...

Implementors

impl<S> ConvertFrom<S> for S where
    S: Sample
[src]

Loading content...