aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp/source/opparam.h
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/vasp/source/opparam.h')
-rw-r--r--externals/grill/vasp/source/opparam.h128
1 files changed, 0 insertions, 128 deletions
diff --git a/externals/grill/vasp/source/opparam.h b/externals/grill/vasp/source/opparam.h
deleted file mode 100644
index 1c0193d4..00000000
--- a/externals/grill/vasp/source/opparam.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-
-VASP modular - vector assembling signal processor / objects for Max/MSP and PD
-
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-#ifndef __VASP_OPPARAM_H
-#define __VASP_OPPARAM_H
-
-#include "vecblk.h"
-#include "arg.h"
-
-class OpParam {
-public:
- OpParam(const C *opnm,I args);
- ~OpParam();
-
- V InitArgs(I nargs);
- V Clear();
-
- BL HasArg() const { return arg != NULL; }
-
- const C *opName() const { return opname; }
-
- // check for overlap
- // \remark if on same vector, stride is the same for src, arg, dst!
- inline BL SR_In() const { return rddt > rsdt && rddt < rsdt+frames*rss; }
- inline BL SI_In() const { return iddt > isdt && iddt < isdt+frames*iss; }
- BL AR_In(I bl) const;
- BL AI_In(I bl) const;
- BL AR_In() const;
- BL AI_In() const;
-
- // Can we reverse direction?
- inline BL SR_Can() const { return rsdt <= rddt || rsdt >= rddt+frames*rds; }
- inline BL SI_Can() const { return isdt <= iddt || isdt >= iddt+frames*ids; }
- BL AR_Can(I bl) const;
- BL AI_Can(I bl) const;
- BL AR_Can() const;
- BL AI_Can() const;
-
- // does it overlap? (works only with rss,rds,ras.... > 0)
- inline BL SR_Ovr() const { return rddt != rsdt && rddt < rsdt+frames*rss && rsdt < rddt+frames*rds; }
- inline BL SI_Ovr() const { return iddt != isdt && iddt < isdt+frames*iss && isdt < iddt+frames*ids; }
- BL AR_Ovr(I bl) const;
- BL AI_Ovr(I bl) const;
- BL AR_Ovr() const;
- BL AI_Ovr() const;
-
- V AR_Rev();
- V AI_Rev();
-
- V R_Rev();
- V C_Rev();
-
- V SkipOddMiddle();
- V SkipOddMiddle(S m);
-
- const C *opname;
- I frames,symm,args;
- BL ovrlap,revdir,oddrem;
- S *rsdt,*isdt; I rss,iss;
- S *rddt,*iddt; I rds,ids;
-
- class Arg
- {
- public:
- Arg(): argtp(arg_) {}
-// Arg(const Arg &op) { operator =(op); }
- ~Arg() { Clear(); }
- V Clear();
-
- BL Is() const { return argtp != arg_; }
-
-// Arg &operator =(const Arg &op);
-// Arg &operator =(const Argument &arg);
-
- Arg &SetX(S r,S i = 0);
- Arg &SetV(S *r,I rs,S *i = NULL,I is = 0);
- Arg &SetE(const Env *bp);
-
- struct env_t { const Env *env; };
- struct v_t { S *rdt,*idt; I rs,is; };
- struct x_t { R r,i; };
-
- enum { arg_ = 0,arg_x,arg_v,arg_env } argtp;
- union {
- x_t x;
- v_t v;
- env_t e;
- };
- };
-
- Arg *arg;
-
- union {
- struct { R coef,carry; I rep; } flt;
- struct { R carry; I rep; } intdif;
- struct { BL cx; R density; I cnt; } peaks;
- struct { R ph,phinc; } gen;
- struct { R factor,center; I mode,fill; } tilt;
- struct { R cur,inc; } bvl;
- struct { R sh; I ish; I fill; } sh;
- struct { I wndtp; BL inv,mul; R p1,p2,p3; } wnd;
- struct { R minmax,scl; } norm;
- struct { I arg; } ibin;
- struct { R arg; } rbin;
- struct { R rarg,iarg; } cbin;
- struct { I *order; } perm;
- struct { R val; I offs,dif,dir,slope; BL incl; } srch;
- };
-
-private:
- // reverse direction
- inline V SR_Rev() { rsdt -= (frames-1)*(rss = -rss); }
- inline V SI_Rev() { isdt -= (frames-1)*(iss = -iss); }
- V AR_Rev(I bl);
- V AI_Rev(I bl);
- inline V DR_Rev() { rddt -= (frames-1)*(rds = -rds); }
- inline V DI_Rev() { iddt -= (frames-1)*(ids = -ids); }
-
-};
-
-#endif