Trait audio::Translate

source ·
pub trait Translate<T>: Sized {
    // Required method
    fn translate(value: T) -> Self;
}
Expand description

Trait used for translating one sample type to another.

This performs infallible translations where any loss in precision is expected and is not supported between types which cannot be universally translated in this manner such as translations from a higher to a lower precision format.

Examples

use audio::Translate;

assert_eq!(i16::translate(-1.0f32), i16::MIN);
assert_eq!(i16::translate(0.0f32), 0);

assert_eq!(u16::translate(-1.0f32), u16::MIN);
assert_eq!(u16::translate(0.0f32), 32768);

Required Methods§

source

fn translate(value: T) -> Self

Translate one kind of buffer to another.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Translate<f32> for f32

source§

fn translate(value: f32) -> f32

source§

impl Translate<f32> for f64

source§

fn translate(value: f32) -> f64

source§

impl Translate<f32> for i8

source§

fn translate(value: f32) -> i8

source§

impl Translate<f32> for i16

source§

fn translate(value: f32) -> i16

source§

impl Translate<f32> for i32

source§

fn translate(value: f32) -> i32

source§

impl Translate<f32> for i64

source§

fn translate(value: f32) -> i64

source§

impl Translate<f32> for u8

source§

fn translate(value: f32) -> u8

source§

impl Translate<f32> for u16

source§

fn translate(value: f32) -> u16

source§

impl Translate<f32> for u32

source§

fn translate(value: f32) -> u32

source§

impl Translate<f32> for u64

source§

fn translate(value: f32) -> u64

source§

impl Translate<f64> for f32

source§

fn translate(value: f64) -> f32

source§

impl Translate<f64> for f64

source§

fn translate(value: f64) -> f64

source§

impl Translate<f64> for i8

source§

fn translate(value: f64) -> i8

source§

impl Translate<f64> for i16

source§

fn translate(value: f64) -> i16

source§

impl Translate<f64> for i32

source§

fn translate(value: f64) -> i32

source§

impl Translate<f64> for i64

source§

fn translate(value: f64) -> i64

source§

impl Translate<f64> for u8

source§

fn translate(value: f64) -> u8

source§

impl Translate<f64> for u16

source§

fn translate(value: f64) -> u16

source§

impl Translate<f64> for u32

source§

fn translate(value: f64) -> u32

source§

impl Translate<f64> for u64

source§

fn translate(value: f64) -> u64

source§

impl Translate<i8> for f32

source§

fn translate(value: i8) -> f32

source§

impl Translate<i8> for f64

source§

fn translate(value: i8) -> f64

source§

impl Translate<i8> for i8

source§

fn translate(value: i8) -> i8

source§

impl Translate<i8> for i16

source§

fn translate(value: i8) -> i16

source§

impl Translate<i8> for i32

source§

fn translate(value: i8) -> i32

source§

impl Translate<i8> for i64

source§

fn translate(value: i8) -> i64

source§

impl Translate<i8> for u8

source§

fn translate(value: i8) -> u8

source§

impl Translate<i8> for u16

source§

fn translate(value: i8) -> u16

source§

impl Translate<i8> for u32

source§

fn translate(value: i8) -> u32

source§

impl Translate<i8> for u64

source§

fn translate(value: i8) -> u64

source§

impl Translate<i16> for f32

source§

fn translate(value: i16) -> f32

source§

impl Translate<i16> for f64

source§

fn translate(value: i16) -> f64

source§

impl Translate<i16> for i16

source§

fn translate(value: i16) -> i16

source§

impl Translate<i16> for i32

source§

fn translate(value: i16) -> i32

source§

impl Translate<i16> for i64

source§

fn translate(value: i16) -> i64

source§

impl Translate<i16> for u16

source§

fn translate(value: i16) -> u16

source§

impl Translate<i16> for u32

source§

fn translate(value: i16) -> u32

source§

impl Translate<i16> for u64

source§

fn translate(value: i16) -> u64

source§

impl Translate<i32> for f32

source§

fn translate(value: i32) -> f32

source§

impl Translate<i32> for f64

source§

fn translate(value: i32) -> f64

source§

impl Translate<i32> for i32

source§

fn translate(value: i32) -> i32

source§

impl Translate<i32> for i64

source§

fn translate(value: i32) -> i64

source§

impl Translate<i32> for u32

source§

fn translate(value: i32) -> u32

source§

impl Translate<i32> for u64

source§

fn translate(value: i32) -> u64

source§

impl Translate<i64> for f32

source§

fn translate(value: i64) -> f32

source§

impl Translate<i64> for f64

source§

fn translate(value: i64) -> f64

source§

impl Translate<i64> for i64

source§

fn translate(value: i64) -> i64

source§

impl Translate<i64> for u64

source§

fn translate(value: i64) -> u64

source§

impl Translate<u8> for f32

source§

fn translate(value: u8) -> f32

source§

impl Translate<u8> for f64

source§

fn translate(value: u8) -> f64

source§

impl Translate<u8> for i8

source§

fn translate(value: u8) -> i8

source§

impl Translate<u8> for i16

source§

fn translate(value: u8) -> i16

source§

impl Translate<u8> for i32

source§

fn translate(value: u8) -> i32

source§

impl Translate<u8> for i64

source§

fn translate(value: u8) -> i64

source§

impl Translate<u8> for u8

source§

fn translate(value: u8) -> u8

source§

impl Translate<u8> for u16

source§

fn translate(value: u8) -> u16

source§

impl Translate<u8> for u32

source§

fn translate(value: u8) -> u32

source§

impl Translate<u8> for u64

source§

fn translate(value: u8) -> u64

source§

impl Translate<u16> for f32

source§

fn translate(value: u16) -> f32

source§

impl Translate<u16> for f64

source§

fn translate(value: u16) -> f64

source§

impl Translate<u16> for i16

source§

fn translate(value: u16) -> i16

source§

impl Translate<u16> for i32

source§

fn translate(value: u16) -> i32

source§

impl Translate<u16> for i64

source§

fn translate(value: u16) -> i64

source§

impl Translate<u16> for u16

source§

fn translate(value: u16) -> u16

source§

impl Translate<u16> for u32

source§

fn translate(value: u16) -> u32

source§

impl Translate<u16> for u64

source§

fn translate(value: u16) -> u64

source§

impl Translate<u32> for f32

source§

fn translate(value: u32) -> f32

source§

impl Translate<u32> for f64

source§

fn translate(value: u32) -> f64

source§

impl Translate<u32> for i32

source§

fn translate(value: u32) -> i32

source§

impl Translate<u32> for i64

source§

fn translate(value: u32) -> i64

source§

impl Translate<u32> for u32

source§

fn translate(value: u32) -> u32

source§

impl Translate<u32> for u64

source§

fn translate(value: u32) -> u64

source§

impl Translate<u64> for f32

source§

fn translate(value: u64) -> f32

source§

impl Translate<u64> for f64

source§

fn translate(value: u64) -> f64

source§

impl Translate<u64> for i64

source§

fn translate(value: u64) -> i64

source§

impl Translate<u64> for u64

source§

fn translate(value: u64) -> u64

Implementors§