From 577ac6e80ff4f436fbd054291ed7dddbc31bd49a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 18 May 2004 21:33:33 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r1738, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/iemlib/; revision=1739 --- src/iemlib2/round_zero.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/iemlib2/round_zero.c (limited to 'src/iemlib2/round_zero.c') diff --git a/src/iemlib2/round_zero.c b/src/iemlib2/round_zero.c new file mode 100644 index 0000000..b37afb4 --- /dev/null +++ b/src/iemlib2/round_zero.c @@ -0,0 +1,67 @@ +/* For information on usage and redistribution, and for a DISCLAIMER OF ALL +* WARRANTIES, see the file, "LICENSE.txt," in this distribution. + +iemlib2 written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2003 */ + +#ifdef NT +#pragma warning( disable : 4244 ) +#pragma warning( disable : 4305 ) +#endif + + +#include "m_pd.h" +#include "iemlib.h" +#include +#include +#include + + +/* ------------------------ round_zero ---------------------------- */ +static t_class *round_zero_class; + +typedef struct _round_zero +{ + t_object x_obj; + t_float x_bound; +} t_round_zero; + +static void round_zero_anything(t_round_zero *x, t_symbol *s, int ac, t_atom *av) +{ + int i; + t_float f, bound=x->x_bound; + + for(i=0; i= -bound)) + { + f = 0.0f; + SETFLOAT(av+i, f); + } + } + } + outlet_anything(x->x_obj.ob_outlet, s, ac, av); +} + +static void *round_zero_new(t_floatarg bound) +{ + t_round_zero *x = (t_round_zero *)pd_new(round_zero_class); + + if(bound < 0.0f) + x->x_bound = -bound; + else + x->x_bound = bound; + outlet_new(&x->x_obj, &s_list); + return (x); +} + +void round_zero_setup(void) +{ + round_zero_class = class_new(gensym("round_zero"), (t_newmethod)round_zero_new, + 0, sizeof(t_round_zero), 0, A_DEFFLOAT, 0); + class_addanything(round_zero_class, round_zero_anything); + class_sethelpsymbol(round_zero_class, gensym("iemhelp/help-round_zero")); +} + -- cgit v1.2.1