📄 sine.alg
字号:
(SINE-ALG(NAME "sine")(ARGUMENTS ("time_type" "t0") ("double" "hz") ("rate_type" "sr") ("time_type" "d"))(STATE ("long" "phase" "0") ("long" "ph_incr" "round(((hz * SINE_TABLE_LEN) * (1 << SINE_TABLE_SHIFT) / sr))"))(TERMINATE (AFTER "d"))(INNER-LOOP "output = sine_table[phase >> SINE_TABLE_SHIFT]; phase += ph_incr; phase &= SINE_TABLE_MASK;")(MAINTAIN ("phase" "susp->phase = (susp->phase + susp->ph_incr * togo) & SINE_TABLE_MASK"))(CONSTANT "ph_incr")(SAMPLE-RATE "sr")(SUPPORT-HEADER "#define SINE_TABLE_LEN 2048#define SINE_TABLE_MASK 0x7FFFFFFF#define SINE_TABLE_SHIFT 20void sine_init();extern sample_type sine_table[];")(SUPPORT-FUNCTIONS "sample_type sine_table[SINE_TABLE_LEN + 1];void sine_init(){ int i; for (i = 0; i <= SINE_TABLE_LEN; i++) sine_table[i] = (sample_type) (sin((PI * 2 * i) / SINE_TABLE_LEN));}"))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -