diff options
Diffstat (limited to 'tran/quantize.alg')
-rw-r--r-- | tran/quantize.alg | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tran/quantize.alg b/tran/quantize.alg new file mode 100644 index 0000000..fc268bd --- /dev/null +++ b/tran/quantize.alg @@ -0,0 +1,11 @@ +(QUANTIZE-ALG + (NAME "quantize") + (ARGUMENTS ("sound_type" "s1") ("long" "steps")) + (INTERNAL-SCALING s1) + (START (MIN s1)) + (STATE ("double" "factor" "s1->scale * steps; scale_factor = (sample_type) (1.0 / steps);")) + (INNER-LOOP "register long xx = (long) (s1 * factor); output = (float) xx;") + (TERMINATE (MIN s1)) + (CONSTANT "factor") + (LOGICAL-STOP (MIN s1)) +) |