@@ -83,6 +83,10 @@ static Janet janet_fft(int32_t argc, Janet* argv);
8383static Janet janet_ffts (int32_t argc , Janet * argv );
8484static Janet janet_vqt (int32_t argc , Janet * argv );
8585static Janet janet_vqts (int32_t argc , Janet * argv );
86+ static Janet janet_fftr (int32_t argc , Janet * argv );
87+ static Janet janet_fftrs (int32_t argc , Janet * argv );
88+ static Janet janet_vqtr (int32_t argc , Janet * argv );
89+ static Janet janet_vqtrs (int32_t argc , Janet * argv );
8690
8791static void closeJanet (tic_mem * tic );
8892static bool initJanet (tic_mem * tic , const char * code );
@@ -150,6 +154,10 @@ static const JanetReg janet_c_functions[] =
150154 {"ffts" , janet_ffts , NULL },
151155 {"vqt" , janet_vqt , NULL },
152156 {"vqts" , janet_vqts , NULL },
157+ {"fftr" , janet_fftr , NULL },
158+ {"fftrs" , janet_fftrs , NULL },
159+ {"vqtr" , janet_vqtr , NULL },
160+ {"vqtrs" , janet_vqtrs , NULL },
153161 {NULL , NULL , NULL }
154162};
155163
@@ -1108,6 +1116,48 @@ static Janet janet_vqts(int32_t argc, Janet* argv)
11081116 return janet_wrap_number (core -> api .vqts (tic , bin ));
11091117}
11101118
1119+ static Janet janet_fftr (int32_t argc , Janet * argv )
1120+ {
1121+ janet_arity (argc , 1 , 2 );
1122+
1123+ s32 start_freq = janet_getinteger (argv , 0 );
1124+ s32 end_freq = argc >= 2 ? janet_getinteger (argv , 1 ) : -1 ;
1125+
1126+ tic_core * core = getJanetMachine (); tic_mem * tic = (tic_mem * )core ;
1127+ return janet_wrap_number (core -> api .fftr (tic , start_freq , end_freq ));
1128+ }
1129+
1130+ static Janet janet_fftrs (int32_t argc , Janet * argv )
1131+ {
1132+ janet_arity (argc , 1 , 2 );
1133+
1134+ s32 start_freq = janet_getinteger (argv , 0 );
1135+ s32 end_freq = argc >= 2 ? janet_getinteger (argv , 1 ) : -1 ;
1136+
1137+ tic_core * core = getJanetMachine (); tic_mem * tic = (tic_mem * )core ;
1138+ return janet_wrap_number (core -> api .fftrs (tic , start_freq , end_freq ));
1139+ }
1140+
1141+ static Janet janet_vqtr (int32_t argc , Janet * argv )
1142+ {
1143+ janet_fixarity (argc , 1 );
1144+
1145+ s32 bin = janet_getinteger (argv , 0 );
1146+
1147+ tic_core * core = getJanetMachine (); tic_mem * tic = (tic_mem * )core ;
1148+ return janet_wrap_number (core -> api .vqtr (tic , bin ));
1149+ }
1150+
1151+ static Janet janet_vqtrs (int32_t argc , Janet * argv )
1152+ {
1153+ janet_fixarity (argc , 1 );
1154+
1155+ s32 bin = janet_getinteger (argv , 0 );
1156+
1157+ tic_core * core = getJanetMachine (); tic_mem * tic = (tic_mem * )core ;
1158+ return janet_wrap_number (core -> api .vqtrs (tic , bin ));
1159+ }
1160+
11111161/* ***************** */
11121162static void reportError (tic_core * core , Janet result )
11131163{
0 commit comments