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) -> Self

source§

impl Translate<f32> for f64

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for i8

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for i16

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for i32

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for i64

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for u8

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for u16

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for u32

source§

fn translate(value: f32) -> Self

source§

impl Translate<f32> for u64

source§

fn translate(value: f32) -> Self

source§

impl Translate<f64> for f32

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for f64

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for i8

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for i16

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for i32

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for i64

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for u8

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for u16

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for u32

source§

fn translate(value: f64) -> Self

source§

impl Translate<f64> for u64

source§

fn translate(value: f64) -> Self

source§

impl Translate<i8> for f32

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for f64

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for i8

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for i16

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for i32

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for i64

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for u8

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for u16

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for u32

source§

fn translate(value: i8) -> Self

source§

impl Translate<i8> for u64

source§

fn translate(value: i8) -> Self

source§

impl Translate<i16> for f32

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for f64

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for i16

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for i32

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for i64

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for u16

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for u32

source§

fn translate(value: i16) -> Self

source§

impl Translate<i16> for u64

source§

fn translate(value: i16) -> Self

source§

impl Translate<i32> for f32

source§

fn translate(value: i32) -> Self

source§

impl Translate<i32> for f64

source§

fn translate(value: i32) -> Self

source§

impl Translate<i32> for i32

source§

fn translate(value: i32) -> Self

source§

impl Translate<i32> for i64

source§

fn translate(value: i32) -> Self

source§

impl Translate<i32> for u32

source§

fn translate(value: i32) -> Self

source§

impl Translate<i32> for u64

source§

fn translate(value: i32) -> Self

source§

impl Translate<i64> for f32

source§

fn translate(value: i64) -> Self

source§

impl Translate<i64> for f64

source§

fn translate(value: i64) -> Self

source§

impl Translate<i64> for i64

source§

fn translate(value: i64) -> Self

source§

impl Translate<i64> for u64

source§

fn translate(value: i64) -> Self

source§

impl Translate<u8> for f32

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for f64

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for i8

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for i16

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for i32

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for i64

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for u8

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for u16

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for u32

source§

fn translate(value: u8) -> Self

source§

impl Translate<u8> for u64

source§

fn translate(value: u8) -> Self

source§

impl Translate<u16> for f32

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for f64

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for i16

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for i32

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for i64

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for u16

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for u32

source§

fn translate(value: u16) -> Self

source§

impl Translate<u16> for u64

source§

fn translate(value: u16) -> Self

source§

impl Translate<u32> for f32

source§

fn translate(value: u32) -> Self

source§

impl Translate<u32> for f64

source§

fn translate(value: u32) -> Self

source§

impl Translate<u32> for i32

source§

fn translate(value: u32) -> Self

source§

impl Translate<u32> for i64

source§

fn translate(value: u32) -> Self

source§

impl Translate<u32> for u32

source§

fn translate(value: u32) -> Self

source§

impl Translate<u32> for u64

source§

fn translate(value: u32) -> Self

source§

impl Translate<u64> for f32

source§

fn translate(value: u64) -> Self

source§

impl Translate<u64> for f64

source§

fn translate(value: u64) -> Self

source§

impl Translate<u64> for i64

source§

fn translate(value: u64) -> Self

source§

impl Translate<u64> for u64

source§

fn translate(value: u64) -> Self

Implementors§