2499
2514
#define S(x) sizeof(x)
2501
static OENTRY localops[] = {
2502
{ "vtablei", S(MTABLEI), 1, "", "iiiim", (SUBR)mtable_i, NULL },
2503
{ "vtablek", S(MTABLE), 3, "", "kkkiz", (SUBR)mtable_set, (SUBR)mtable_k, NULL },
2504
{ "vtablea", S(MTABLE), 5, "", "akkiy", (SUBR)mtable_set, NULL, (SUBR)mtable_a },
2505
{ "vtablewi", S(MTABLEIW), 1, "", "iiim", (SUBR)mtablew_i, NULL },
2506
{ "vtablewk", S(MTABLEW), 3, "", "kkiz", (SUBR)mtablew_set, (SUBR)mtablew_k, NULL },
2507
{ "vtablewa", S(MTABLEW), 5, "", "akiy", (SUBR)mtablew_set, NULL, (SUBR)mtablew_a },
2508
{ "vtabi", S(MTABI), 1, "", "iim", (SUBR)mtab_i, NULL },
2509
{ "vtabk", S(MTAB), 3, "", "kiz", (SUBR)mtab_set, (SUBR)mtab_k, NULL },
2510
{ "vtaba", S(MTAB), 5, "", "aiy", (SUBR)mtab_set, NULL, (SUBR)mtab_a },
2511
{ "vtabwi", S(MTABIW), 1, "", "iim", (SUBR)mtabw_i, NULL },
2512
{ "vtabwk", S(MTABW), 3, "", "kiz", (SUBR)mtabw_set, (SUBR)mtabw_k, NULL },
2513
{ "vtabwa", S(MTABW), 5, "", "aiy", (SUBR)mtabw_set, NULL, (SUBR)mtabw_a },
2516
OENTRY vectorial_localops[] = {
2517
{ "vtablei", S(MTABLEI), TR|1, "", "iiiim", (SUBR)mtable_i, NULL },
2518
{ "vtablek", S(MTABLE), TR|3, "", "kkkiz", (SUBR)mtable_set, (SUBR)mtable_k, NULL },
2519
{ "vtablea", S(MTABLE), TR|5, "", "akkiy", (SUBR)mtable_set, NULL, (SUBR)mtable_a },
2520
{ "vtablewi", S(MTABLEIW), TB|1, "", "iiim", (SUBR)mtablew_i, NULL },
2521
{ "vtablewk", S(MTABLEW), TB|3, "", "kkiz", (SUBR)mtablew_set, (SUBR)mtablew_k, NULL },
2522
{ "vtablewa", S(MTABLEW), TB|5, "", "akiy", (SUBR)mtablew_set, NULL, (SUBR)mtablew_a },
2523
{ "vtabi", S(MTABI), TR|1, "", "iim", (SUBR)mtab_i, NULL },
2524
{ "vtabk", S(MTAB), TR|3, "", "kiz", (SUBR)mtab_set, (SUBR)mtab_k, NULL },
2525
{ "vtaba", S(MTAB), TR|5, "", "aiy", (SUBR)mtab_set, NULL, (SUBR)mtab_a },
2526
{ "vtabwi", S(MTABIW), TB|1, "", "iim", (SUBR)mtabw_i, NULL },
2527
{ "vtabwk", S(MTABW), TB|3, "", "kiz", (SUBR)mtabw_set, (SUBR)mtabw_k, NULL },
2528
{ "vtabwa", S(MTABW), TB|5, "", "aiy", (SUBR)mtabw_set, NULL, (SUBR)mtabw_a },
2515
{ "vadd", S(VECTOROP), 3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vaddk },
2516
{ "vadd_i", S(VECTOROPI), 1, "", "iiio", (SUBR) vadd_i, NULL, NULL },
2517
{ "vmult", S(VECTOROP), 3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vmultk},
2518
{ "vmult_i", S(VECTOROPI), 1, "", "iiio", (SUBR) vmult_i, NULL, NULL },
2519
{ "vpow", S(VECTOROP), 3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vpowk },
2520
{ "vpow_i", S(VECTOROPI), 1, "", "iiio", (SUBR) vpow_i, NULL, NULL },
2521
{ "vexp", S(VECTOROP), 3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vexpk },
2522
{ "vexp_i", S(VECTOROPI), 1, "", "iiio", (SUBR) vexp_i, NULL, NULL },
2523
{ "vaddv", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vaddvk },
2524
{ "vaddv_i", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vaddv_i, NULL, NULL },
2525
{ "vsubv", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vsubvk },
2526
{ "vsubv_i", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vsubv_i, NULL, NULL },
2527
{ "vmultv", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vmultvk},
2528
{ "vmultv_i", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vmultv_i, NULL, NULL },
2529
{ "vdivv", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vdivvk },
2530
{ "vdivv_i", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vdivv_i, NULL, NULL },
2531
{ "vpowv", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vpowvk },
2532
{ "vpowv_i", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vpowv_i, NULL, NULL },
2533
{ "vexpv", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vexpvk },
2534
{ "vexpv_i", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vexpv_i, NULL, NULL },
2535
{ "vcopy", S(VECTORSOP), 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vcopy },
2536
{ "vcopy_i", S(VECTORSOP), 1, "", "iiioo", (SUBR) vcopy_i, NULL, NULL },
2537
{ "vmap", S(VECTORSOPI), 1, "", "iiioo", (SUBR)vmap_i, NULL, NULL },
2538
{ "vlimit", S(VLIMIT), 3, "", "ikki",(SUBR)vlimit_set, (SUBR)vlimit },
2539
{ "vwrap", S(VLIMIT), 3, "", "ikki",(SUBR)vlimit_set, (SUBR) vwrap },
2530
{ "vadd", S(VECTOROP), TB|3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vaddk },
2531
{ "vadd_i", S(VECTOROPI), TB|1, "", "iiio", (SUBR) vadd_i, NULL, NULL },
2532
{ "vmult", S(VECTOROP), TB|3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vmultk},
2533
{ "vmult_i", S(VECTOROPI), TB|1, "", "iiio", (SUBR) vmult_i, NULL, NULL },
2534
{ "vpow", S(VECTOROP), TB|3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vpowk },
2535
{ "vpow_i", S(VECTOROPI), TB|1, "", "iiio", (SUBR) vpow_i, NULL, NULL },
2536
{ "vexp", S(VECTOROP), TB|3, "", "ikkOO", (SUBR)vectorOp_set, (SUBR) vexpk },
2537
{ "vexp_i", S(VECTOROPI), TB|1, "", "iiio", (SUBR) vexp_i, NULL, NULL },
2538
{ "vaddv", S(VECTORSOP), TB|3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vaddvk },
2539
{ "vaddv_i", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vaddv_i, NULL, NULL },
2540
{ "vsubv", S(VECTORSOP), TB|3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vsubvk },
2541
{ "vsubv_i", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vsubv_i, NULL, NULL },
2542
{ "vmultv", S(VECTORSOP), TB|3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vmultvk},
2543
{ "vmultv_i", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vmultv_i, NULL, NULL },
2544
{ "vdivv", S(VECTORSOP), TB| 3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vdivvk },
2545
{ "vdivv_i", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vdivv_i, NULL, NULL },
2546
{ "vpowv", S(VECTORSOP), TB|3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vpowvk },
2547
{ "vpowv_i", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vpowv_i, NULL, NULL },
2548
{ "vexpv", S(VECTORSOP), TB|3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vexpvk },
2549
{ "vexpv_i", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vexpv_i, NULL, NULL },
2550
{ "vcopy", S(VECTORSOP), TB|3, "", "iikOOO", (SUBR)vectorsOp_set, (SUBR) vcopy },
2551
{ "vcopy_i", S(VECTORSOP), TB|1, "", "iiioo", (SUBR) vcopy_i, NULL, NULL },
2552
{ "vmap", S(VECTORSOPI), TB|1, "", "iiioo", (SUBR)vmap_i, NULL, NULL },
2553
{ "vlimit", S(VLIMIT), TR|3, "", "ikki",(SUBR)vlimit_set, (SUBR)vlimit },
2554
{ "vwrap", S(VLIMIT), TB|3, "", "ikki",(SUBR)vlimit_set, (SUBR) vwrap },
2540
2555
{ "vmirror", S(VLIMIT), 3, "", "ikki",(SUBR)vlimit_set, (SUBR)vmirror },
2541
{ "vlinseg", S(VSEG), 3, "", "iin", (SUBR)vseg_set, (SUBR)vlinseg },
2556
{ "vlinseg", S(VSEG), TB|3, "", "iin", (SUBR)vseg_set, (SUBR)vlinseg },
2542
2557
{ "vexpseg", S(VSEG), 3, "", "iin", (SUBR)vseg_set, (SUBR)vexpseg },
2543
{ "vrandh", S(VRANDH), 3, "", "ikkiovoo",(SUBR)vrandh_set, (SUBR) vrandh },
2544
{ "vrandi", S(VRANDI), 3, "", "ikkiovoo",(SUBR)vrandi_set, (SUBR)vrandi },
2545
{ "vport", S(VPORT), 3, "", "ikio",(SUBR)vport_set, (SUBR)vport },
2558
{ "vrandh", S(VRANDH), TB|3, "", "ikkiovoo",(SUBR)vrandh_set, (SUBR) vrandh},
2559
{ "vrandi", S(VRANDI), TB|3, "", "ikkiovoo",(SUBR)vrandi_set, (SUBR)vrandi },
2560
{ "vport", S(VPORT), TB|3, "", "ikio",(SUBR)vport_set, (SUBR)vport },
2546
2561
{ "vecdelay", S(VECDEL), 3, "", "iiiiio",(SUBR)vecdly_set, (SUBR)vecdly },
2547
2562
{ "vdelayk", S(KDEL), 3, "k", "kkioo",(SUBR)kdel_set, (SUBR)kdelay },
2548
{ "vcella", S(CELLA), 3, "", "kkiiiiip",(SUBR)ca_set, (SUBR)ca }
2563
{ "vcella", S(CELLA), TR|3, "", "kkiiiiip",(SUBR)ca_set, (SUBR)ca }
2551
2566
int gab_vectorial_init_(CSOUND *csound)
2553
return csound->AppendOpcodes(csound, &(localops[0]),
2554
(int) (sizeof(localops) / sizeof(OENTRY)));
2569
csound->AppendOpcodes(csound, &(vectorial_localops[0]),
2570
(int) (sizeof(vectorial_localops) / sizeof(OENTRY)));