aboutsummaryrefslogtreecommitdiff
path: root/sieve
diff options
context:
space:
mode:
Diffstat (limited to 'sieve')
-rwxr-xr-xsieve/makefile105
-rw-r--r--sieve/sieve-help.pd123
-rw-r--r--sieve/sieve.c410
3 files changed, 0 insertions, 638 deletions
diff --git a/sieve/makefile b/sieve/makefile
deleted file mode 100755
index 15f95e7..0000000
--- a/sieve/makefile
+++ /dev/null
@@ -1,105 +0,0 @@
-current:
- echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install
-
-clean: ; rm -f *.pd_* *.o
-
-# ----------------------- NT -----------------------
-
-pd_nt: sieve.dll
-
-INSTALL_PREFIX="C:\pd\extra"
-EXT=dll
-.SUFFIXES: .obj .dll
-
-PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo
-VC="D:\Program Files\Microsoft Visual Studio\Vc98"
-
-PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include
-
-PDNTLDIR = $(VC)\lib
-PDNTLIB = $(PDNTLDIR)\libc.lib \
- $(PDNTLDIR)\oldnames.lib \
- $(PDNTLDIR)\kernel32.lib \
- ..\..\bin\pd.lib
-
-.c.dll:
- cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
- link /dll /export:$*_setup $*.obj $(PDNTLIB)
-
-# ----------------------- IRIX 5.x -----------------------
-
-pd_irix5: sieve.pd_irix5
-
-INSTALL_PREFIX=/usr/local
-EXT=pd_irix5
-.SUFFIXES: .pd_irix5
-
-SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2
-
-SGIINCLUDE = -I/usr/local/include
-
-.c.pd_irix5:
- cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c
- ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o
- rm $*.o
-
-# ----------------------- IRIX 5.x -----------------------
-
-pd_irix6: sieve.pd_irix6
-
-INSTALL_PREFIX=/usr/local
-EXT=pd_irix6
-.SUFFIXES: .pd_irix6
-
-SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2
-
-SGIINCLUDE = -I/usr/local/include
-
-.c.pd_irix6:
- cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c
- ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o
- rm $*.o
-
-# ----------------------- LINUX i386 -----------------------
-
-pd_linux: sieve.pd_linux
-
-INSTALL_PREFIX=/usr/local
-EXT=pd_linux
-.SUFFIXES: .pd_linux
-
-LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \
- -Wall -W -Wshadow -Wstrict-prototypes -Werror \
- -Wno-unused -Wno-parentheses -Wno-switch
-
-LINUXINCLUDE = -I/usr/local/include
-
-.c.pd_linux:
- cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
- ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm
- strip --strip-unneeded $*.pd_linux
- rm $*.o
-
-# ----------------------- Mac OSX -----------------------
-
-pd_darwin: sieve.pd_darwin
-
-INSTALL_PREFIX=/usr/local
-EXT=pd_darwin
-.SUFFIXES: .pd_darwin
-
-DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
- -Wno-unused -Wno-parentheses -Wno-switch
-
-.c.pd_darwin:
- cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
- cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o
- rm -f $*.o
-
-# ----------------------------------------------
-
-install::
- install -d $(INSTALL_PREFIX)/lib/pd/extra
-# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs
- -install -m 644 sieve.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra
- install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference
diff --git a/sieve/sieve-help.pd b/sieve/sieve-help.pd
deleted file mode 100644
index e472628..0000000
--- a/sieve/sieve-help.pd
+++ /dev/null
@@ -1,123 +0,0 @@
-#N canvas 439 25 595 461 10;
-#X obj 94 346 sieve;
-#X msg 147 276 set 2 1;
-#X msg 198 276 set 7 0.86;
-#X msg 148 198 map 0 1 0 0 0 3 0 2 0 0.7;
-#X msg 147 229 get 0;
-#X msg 147 250 get 1;
-#X floatatom 37 384 5 0 0 0 - - -;
-#X floatatom 81 382 5 0 0 0 - - -;
-#X obj 129 379 print MAPOUT;
-#X obj 218 379 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 218 397 print EXACT;
-#X obj 37 419 print MAPPED;
-#X obj 81 399 print VALUE;
-#X msg 147 324 clear;
-#X text 189 228 get map;
-#X text 189 249 get inverted map;
-#X floatatom 309 406 5 0 0 0 - - -;
-#X floatatom 350 406 5 0 0 0 - - -;
-#X obj 341 363 prepend map;
-#X obj 395 405 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 189 323 clear object;
-#X text 277 277 set [location \, value];
-#X msg 147 297 set 2 0;
-#X text 201 297 unset location;
-#X text 332 196 set map;
-#X floatatom 35 318 5 0 0 0 - - -;
-#X obj 29 184 vradio 15 1 0 4 empty empty mode 0 -6 0 10 -262144 -1
--1 0;
-#X msg 29 248 mode \$1;
-#X text 62 170 : 0=exact \, 1=nearest \, 2=shunt up \, 3=shunt down
-;
-#X obj 341 383 sieve;
-#X obj 22 19 sieve;
-#X text 62 19 takes integers and maps them to floats if they are set.
-;
-#X text 63 32 in the default mode (mode 0) integers without an associated
-float are blocked \, so a map will sieve the input.;
-#X text 64 60 mode 1 forces the sieve to choose the nearest index \,
-so that inputs are sent to alternative outputs. The rightmost output
-bangs only if the input is exact.;
-#X text 64 101 In modes 2 and 3 the sieve chooses the next map up or
-the next map down. If the input is higher than the highest mapped integer
-in mode 2 \, or lower than the lowest in mode 3 \, then the shunting
-is wrapped and the lowest or highest is chosen respectively.;
-#X text 294 330 when the inverted map is sent to another;
-#X text 298 344 sieve object \, the input is segregated.;
-#X text 38 440 Polyphony control objects by Ed Kelly \, November 2006
-;
-#X text 411 439 See also;
-#X obj 476 438 polymap;
-#X obj 476 417 polystat;
-#X obj 532 438 maskxor;
-#X obj 410 181 loadbang;
-#X obj 410 233 delay 50;
-#N canvas 0 0 596 300 register_functions 0;
-#X obj 99 208 sieve;
-#X msg 99 83 map 0 1 2 4 5 6 7 9 10 11 12;
-#X obj 99 47 loadbang;
-#X msg 157 166 get 0;
-#X msg 254 125 delete 8;
-#X msg 255 167 shunt 5;
-#X obj 194 166 delay 0;
-#X msg 194 149 bang;
-#X msg 254 241 insert 7 100;
-#X msg 256 203 shift 5;
-#X obj 125 269 print REGMAP;
-#X floatatom 38 166 5 0 0 0 - - -;
-#X floatatom 35 257 5 0 0 0 - - -;
-#X msg 160 57 map 1 1 1 1 1 1 1 1 1 1 1 1;
-#X text 324 124 removes an element from the array;
-#X text 318 166 removes an element from the array and;
-#X text 319 178 subtracts 1 from subsequent elements;
-#X text 320 201 shifts elements downstream \, adding 1;
-#X text 319 213 to each element \, from a specific point;
-#X text 349 242 inserts an element into the array;
-#X connect 0 0 12 0;
-#X connect 0 2 10 0;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 4 0 7 0;
-#X connect 5 0 0 0;
-#X connect 5 0 7 0;
-#X connect 6 0 3 0;
-#X connect 7 0 6 0;
-#X connect 8 0 0 0;
-#X connect 8 0 7 0;
-#X connect 9 0 0 0;
-#X connect 9 0 7 0;
-#X connect 11 0 0 0;
-#X connect 13 0 0 0;
-#X restore 325 298 pd register_functions;
-#X connect 0 0 6 0;
-#X connect 0 1 7 0;
-#X connect 0 2 8 0;
-#X connect 0 2 18 0;
-#X connect 0 3 9 0;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 11 0;
-#X connect 7 0 12 0;
-#X connect 9 0 10 0;
-#X connect 13 0 0 0;
-#X connect 13 0 18 0;
-#X connect 18 0 29 0;
-#X connect 22 0 0 0;
-#X connect 25 0 0 0;
-#X connect 25 0 29 0;
-#X connect 26 0 27 0;
-#X connect 27 0 0 0;
-#X connect 29 0 16 0;
-#X connect 29 1 17 0;
-#X connect 29 3 19 0;
-#X connect 42 0 3 0;
-#X connect 42 0 43 0;
-#X connect 43 0 5 0;
diff --git a/sieve/sieve.c b/sieve/sieve.c
deleted file mode 100644
index 3238844..0000000
--- a/sieve/sieve.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/* takes a map like 0 1 3 4 7 and only returns the number if it is present */
-/* in the map, or returns the closest, or the next up or down (wrapped)*/
-#include "m_pd.h"
-#include <math.h>
-#include <string.h>
-#define MAXENTRIES 2048
-#define LASTENTRY 2047
-
-static t_class *sieve_class;
-
-/* mode = 0 : block when absent, 1: nearest when absent, 2: shunt when absent */
-typedef struct _map
-{
- t_atom map[MAXENTRIES];
- t_atom nomap[MAXENTRIES];
-} t_map;
-
-typedef struct _sieve
-{
- t_object x_obj;
- t_map x_map;
- t_float input, mode, max, outmap;
- t_outlet *mapped, *value, *mapout, *inst;
-} t_sieve;
-
-void sieve_float(t_sieve *x, t_floatarg fin)
-{
- int i, ip, in, arg, arga, argb, argaout, argbout, argxa, argxb, itest, itesta, itestb, iresult;
- itest = itesta = itestb = iresult = arga = argb = arg = 0;
- float test, testa, testb, fresult;
- test = testa = testb = fresult = 0;
- x->input = arg = fin;
- if (x->mode == 0) /* only let through floats when the corresponding
- index contains != 0 */
- {
- test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map);
- if(test!=0)
- {
- outlet_bang(x->inst);
- outlet_float(x->value, test);
- outlet_float(x->mapped, arg);
- }
- }
- else if (x->mode == 1) /* find the nearest float whose (int) index is
- != 0 */
- {
- test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map);
- if(test!=0)
- {
- outlet_bang(x->inst);
- outlet_float(x->value, test);
- outlet_float(x->mapped, arg);
- }
- else
- {
- arga = argb = arg;
- while(itest == 0 && (arga > -1 || argb < MAXENTRIES))
- {
- arga--;
- argb++;
- argxa = arga >= 0 ? arga : 0;
- argxb = argb <= LASTENTRY ? argb : LASTENTRY;
- testa = atom_getfloatarg(argxa, MAXENTRIES, x->x_map.map);
- testb = atom_getfloatarg(argxb, MAXENTRIES, x->x_map.map);
- itesta = testa != 0 ? 1 : 0;
- itestb = testb != 0 ? 1 : 0;
- itest = fin < 0 ? 0 : itesta + itestb;
- }
- switch(itest)
- {
- case 2: /* if we find two at equal distance, output the higher */
- if (x->mode == 1)
- {
- outlet_float(x->value, testb);
- outlet_float(x->mapped, argb);
- }
- else
- {
- outlet_float(x->value, testa);
- outlet_float(x->mapped, arga);
- }
- case 1:
- iresult = itesta == 1 ? arga : argb;
- fresult = itesta == 1 ? testa : testb;
- outlet_float(x->value, fresult);
- outlet_float(x->mapped, iresult);
- case 0:
- break;
- }
- }
- }
- else if (x->mode==2) /* if the index is 0, find the next highest */
- {
- itest = 0;
- test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map);
- if(test!=0)
- {
- outlet_bang(x->inst);
- outlet_float(x->value, test);
- outlet_float(x->mapped, arg);
- }
- else
- {
- arga = arg;
- while(itest == 0 && (x->max > 0))
- {
- arga = (arga + 1) <= LASTENTRY ? (arga + 1) : 0;
- testa = atom_getfloatarg(arga, MAXENTRIES, x->x_map.map);
- itest = testa != 0 ? 1 : 0;
- }
- if(x->max > 0 && fin >= 0)
- {
- outlet_float(x->value, testa);
- outlet_float(x->mapped, arga);
- }
- }
- }
- else if (x->mode == 3) /* if the index is 0, find the next lowest */
- {
- itest = 0;
- test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map);
- if(test!=0)
- {
- outlet_bang(x->inst);
- outlet_float(x->value, test);
- outlet_float(x->mapped, arg);
- }
- else
- {
- arga = arg;
- while(itest == 0 && (x->max > 0))
- {
- argb = arga - 1;
- arga = argb >= 0 ? argb : LASTENTRY;
- testa = atom_getfloatarg(arga, MAXENTRIES, x->x_map.map);
- itest = testa != 0 ? 1 : 0;
- }
- }
- outlet_float(x->value, testa);
- outlet_float(x->mapped, arga);
- }
-}
-
-void sieve_set(t_sieve *x, t_floatarg fmap, t_floatarg fval) /* set one value
- in the array */
-{
- float fvaller;
- if(fmap < MAXENTRIES && fmap >= 0)
- {
- int imap = (int)fmap;
- fvaller = fval != 0 ? 0 : 1;
- SETFLOAT(&x->x_map.map[imap], fval);
- SETFLOAT(&x->x_map.nomap[imap], fvaller);
- x->max = fmap > x->max ? fmap : x->max;
- }
-}
-
-void sieve_delete(t_sieve *x, t_floatarg loc) /* remove a value */
-{
- int addloc = (int)loc + 1;
- int maxentry = (int)x->max;
- int i;
- float buffer;
- if(loc<x->max && loc>=0)
- {
- for(i=addloc;i<=maxentry;i++)
- {
- buffer = atom_getfloatarg(i,MAXENTRIES,x->x_map.map);
- SETFLOAT(&x->x_map.map[i-1],buffer);
- if(buffer!=0)
- {
- SETFLOAT(&x->x_map.nomap[i-1],0);
- }
- else
- {
- SETFLOAT(&x->x_map.nomap[i-1],1);
- }
- }
- SETFLOAT(&x->x_map.map[maxentry],0);
- x->max--;
- }
- else if(loc==x->max)
- {
- x->max--;
- SETFLOAT(&x->x_map.map[maxentry],0);
- }
-}
-
-void sieve_shunt(t_sieve *x, t_floatarg loc) /* move down
- and decrement subsequent */
-{
- int addloc = (int)loc + 1;
- int maxentry = (int)x->max;
- int i;
- float buffer, shunt;
- if(loc<x->max && loc>=0)
- {
- for(i=addloc;i<=maxentry;i++)
- {
- buffer = atom_getfloatarg(i,MAXENTRIES,x->x_map.map);
- shunt = buffer - 1;
- SETFLOAT(&x->x_map.map[i-1],shunt);
- if(shunt!=0)
- {
- SETFLOAT(&x->x_map.nomap[i-1],0);
- }
- else
- {
- SETFLOAT(&x->x_map.nomap[i-1],1);
- }
- }
- SETFLOAT(&x->x_map.map[maxentry],0);
- x->max--;
- }
- else if(loc==x->max)
- {
- x->max--;
- SETFLOAT(&x->x_map.map[maxentry],0);
- }
-}
-
-void sieve_shift(t_sieve *x, t_floatarg loc) /* move up and
- increment subsequent */
-{
- int location = (int)loc;
- int addloc;
- int maxentry = (int)x->max+1;
- int i;
- float buffer, shift;
- if(location>=0 && maxentry < MAXENTRIES)
- {
- for(i=maxentry;i>=location;i--)
- {
- buffer = atom_getfloatarg(i-1,MAXENTRIES,x->x_map.map);
- shift = buffer + 1;
- SETFLOAT(&x->x_map.map[i],shift);
- if(shift!=0)
- {
- SETFLOAT(&x->x_map.nomap[i],0);
- }
- else
- {
- SETFLOAT(&x->x_map.nomap[i],1);
- }
- }
- x->max++;
- }
-}
-
-void sieve_insert(t_sieve *x, t_floatarg loc, t_floatarg val)
-/* insert a value at specific location, moving subsequent values up */
-{
- int location = (int)loc;
- int maxentry = (int)x->max+1;
- int i;
- float buffer;
- if(loc>=0 && maxentry < MAXENTRIES)
- {
- for(i=maxentry;i>=location;i--)
- {
- buffer = atom_getfloatarg(i-1,MAXENTRIES,x->x_map.map);
- SETFLOAT(&x->x_map.map[i],buffer);
- if(buffer!=0)
- {
- SETFLOAT(&x->x_map.nomap[i],0);
- }
- else
- {
- SETFLOAT(&x->x_map.nomap[i],1);
- }
- }
- x->max++;
- SETFLOAT(&x->x_map.map[location], val);
- if(val)
- {
- SETFLOAT(&x->x_map.nomap[location],0);
- }
- else
- {
- SETFLOAT(&x->x_map.nomap[location],1);
- }
- }
-}
-
-void sieve_get(t_sieve *x, t_floatarg inv) /* outlet to map or inverse */
-{
- if(inv!=0)
- {
- outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.nomap);
- }
- else outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.map);
- x->outmap = inv;
-}
-
-void sieve_clear(t_sieve *x)
-{
- int i;
- for(i=0;i<MAXENTRIES;i++)
- {
- SETFLOAT(&x->x_map.map[i], 0);
- SETFLOAT(&x->x_map.nomap[i], 1);
- }
- x->max = 0;
-}
-
-void sieve_map(t_sieve *x, t_symbol *s, int argc, t_atom *argv) /* set the whole map */
-{
- int i;
- for(i=0;i<MAXENTRIES;i++)
- {
- SETFLOAT(x->x_map.map+i, 0);
- SETFLOAT(x->x_map.nomap+i, 1);
- }
- x->max = 0;
- float arg;
- for(i=0;i<argc;i++)
- {
- arg = atom_getfloat(argv+i);
- if(arg != 0)
- {
- SETFLOAT(&x->x_map.map[i], arg);
- SETFLOAT(&x->x_map.nomap[i], 0);
- x->max = i;
- }
- }
- if (x->max > 0 && x->outmap == 0)
- {
- outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.map);
- }
- else if (x->max > 0 && x->outmap == 1)
- {
- outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.nomap);
- }
-}
-
-void sieve_mode(t_sieve *x, t_floatarg fmode)
-{
- x->mode = fmode < 0 ? 0 : fmode > 3 ? 3 : fmode;
-}
-
-void sieve_debug(t_sieve *x)
-{
- float ele0, ele1, ele2, ele3, ele4, ele5, ele6, ele7, ele8, ele9;
- float nle0, nle1, nle2, nle3, nle4, nle5, nle6, nle7, nle8, nle9;
- ele0 = atom_getfloatarg(0, MAXENTRIES, x->x_map.map);
- ele1 = atom_getfloatarg(1, MAXENTRIES, x->x_map.map);
- ele2 = atom_getfloatarg(2, MAXENTRIES, x->x_map.map);
- ele3 = atom_getfloatarg(3, MAXENTRIES, x->x_map.map);
- ele4 = atom_getfloatarg(4, MAXENTRIES, x->x_map.map);
- ele5 = atom_getfloatarg(5, MAXENTRIES, x->x_map.map);
- ele6 = atom_getfloatarg(6, MAXENTRIES, x->x_map.map);
- ele7 = atom_getfloatarg(7, MAXENTRIES, x->x_map.map);
- ele8 = atom_getfloatarg(8, MAXENTRIES, x->x_map.map);
- ele9 = atom_getfloatarg(9, MAXENTRIES, x->x_map.map);
- nle0 = atom_getfloatarg(0, MAXENTRIES, x->x_map.nomap);
- nle1 = atom_getfloatarg(1, MAXENTRIES, x->x_map.nomap);
- nle2 = atom_getfloatarg(2, MAXENTRIES, x->x_map.nomap);
- nle3 = atom_getfloatarg(3, MAXENTRIES, x->x_map.nomap);
- nle4 = atom_getfloatarg(4, MAXENTRIES, x->x_map.nomap);
- nle5 = atom_getfloatarg(5, MAXENTRIES, x->x_map.nomap);
- nle6 = atom_getfloatarg(6, MAXENTRIES, x->x_map.nomap);
- nle7 = atom_getfloatarg(7, MAXENTRIES, x->x_map.nomap);
- nle8 = atom_getfloatarg(8, MAXENTRIES, x->x_map.nomap);
- nle9 = atom_getfloatarg(9, MAXENTRIES, x->x_map.nomap);
- post("mode = %f, max = %f", x->mode, x->max);
- post("first 10 elements = %f, %f, %f, %f, %f, %f, %f, %f, %f, %f", ele0, ele1, ele2, ele3, ele4, ele5, ele6, ele7, ele8, ele9);
- post("first 10 elements = %f, %f, %f, %f, %f, %f, %f, %f, %f, %f", nle0, nle1, nle2, nle3, nle4, nle5, nle6, nle7, nle8, nle9);
-}
-
-void *sieve_new(t_floatarg f)
-{
- t_sieve *x = (t_sieve *)pd_new(sieve_class);
- x->mode = f;
- x->max = 0;
- x->outmap = 0;
- int i;
- for(i=0;i<MAXENTRIES;i++)
- {
- SETFLOAT(x->x_map.map+i, 0);
- SETFLOAT(x->x_map.nomap+i, 1);
- }
- x->mapped = outlet_new(&x->x_obj, &s_float);
- x->value = outlet_new(&x->x_obj, &s_float);
- x->mapout = outlet_new(&x->x_obj, &s_list);
- x->inst = outlet_new(&x->x_obj, &s_bang);
- return (void *)x;
-}
-
-void sieve_setup(void)
-{
- sieve_class = class_new(gensym("sieve"),
- (t_newmethod)sieve_new,
- 0, sizeof(t_sieve),
- 0, A_DEFFLOAT, 0);
- post("|^^^^^^^^^^^^^sieve^^^^^^^^^^^^^|");
- post("|->^^^integer map to floats^^^<-|");
- post("|^^^^^^^Edward Kelly 2006^^^^^^^|");
-
- class_addfloat(sieve_class, sieve_float);
- class_addmethod(sieve_class, (t_method)sieve_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_map, gensym("map"), A_GIMME, 0);
- class_addmethod(sieve_class, (t_method)sieve_clear, gensym("clear"), A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_get, gensym("get"), A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_delete, gensym("delete"), A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_shunt, gensym("shunt"), A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_shift, gensym("shift"), A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_insert, gensym("insert"), A_DEFFLOAT, A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_mode, gensym("mode"), A_DEFFLOAT, 0);
- class_addmethod(sieve_class, (t_method)sieve_debug, gensym("debug"), A_DEFFLOAT, 0);
-}