/* Copyright (c) 1997-2024 Miller Puckette. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ /* performance routines for cos~, osc~, and vcf~. These are broken out in this file so that they can be included twice with different hard-coded vector sizes. (This gives a modest improvement in execution time. In the 1990s it was considered extremely important to have the very fastest oscillator you could make. I'm not sure how deeply important this is today, but am doing it rather than have to reconsider my programming habits :) N.B. this could also be some ugly macro in d_osc.c itself with every line terminated in a backslash; I think this is slightly less odious than that would have been. The macros COSPERF, etc. should expand to the name of the routine, and COSTABLESIZE and COSTABLENAME should be set variously to the standard table size and to OLDTABSIZE, and corresponding table pointers, as appropriate. */ static t_int *COSPERF(t_int *w) { … } static t_int *OSCPERF(t_int *w) { … } static t_int *SIGVCFPERF(t_int *w) { … }