macro_rules! sample_rate {
($rate:expr) => { ... };
}Expand description
Creates a NonZeroU32 sample rate from a compile-time constant.
This macro provides zero-cost construction of sample rates with compile-time validation that the value is non-zero.
§Examples
use audio_samples::sample_rate;
// Common sample rates - validated at compile time
let cd_rate = sample_rate!(44100);
let dvd_rate = sample_rate!(48000);
let high_res = sample_rate!(96000);
// Use directly in AudioSamples constructors
use audio_samples::AudioSamples;
use ndarray::array;
let audio = AudioSamples::new_mono(array![1.0f32, 2.0, 3.0], sample_rate!(44100));§Compile-time Safety
The macro will cause a compile error if passed zero:
ⓘ
use audio_samples::sample_rate;
let invalid = sample_rate!(0); // Compile error!