MCPcopy Create free account
hub / github.com/PerroEngine/Perro / fast_sine

Function fast_sine

perro_source/audio_stack/perro_pawdio/src/midi.rs:549–561  ·  view source on GitHub ↗
(phase: f32)

Source from the content-addressed store, hash-verified

547 self.release_gain -= RELEASE_STEP;
548 }
549 if self.release_gain <= 0.0 {
550 return None;
551 }
552
553 let raw = match self.wave {
554 WaveKind::Sine => fast_sine(sine, self.phase),
555 WaveKind::Square => {
556 if self.phase < std::f32::consts::PI {
557 1.0
558 } else {
559 -1.0
560 }
561 }
562 WaveKind::Saw => (self.phase / TAU) * 2.0 - 1.0,
563 WaveKind::Triangle => {
564 let t = self.phase / TAU;

Callers 1

next_sampleMethod · 0.85

Calls 1

sinMethod · 0.80

Tested by

no test coverage detected