diff options
Diffstat (limited to 'externals/grill/vasp/source/ops_cplx.h')
-rw-r--r-- | externals/grill/vasp/source/ops_cplx.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/externals/grill/vasp/source/ops_cplx.h b/externals/grill/vasp/source/ops_cplx.h new file mode 100644 index 00000000..de1426f2 --- /dev/null +++ b/externals/grill/vasp/source/ops_cplx.h @@ -0,0 +1,42 @@ +/* + +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_OPS_CPLX_H +#define __VASP_OPS_CPLX_H + +#include "opbase.h" + +// Complex functions + +namespace VecOp { + BL d_polar(OpParam &p); + BL d_rect(OpParam &p); + + BL d_radd(OpParam &p); + + BL d_cnorm(OpParam &p); + +// BL d_cswap(OpParam &p); + BL d_cconj(OpParam &p); +} + +namespace VaspOp { + inline Vasp *m_polar(OpParam &p,Vasp &src,Vasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_polar); } // cartesian -> polar (each two) + inline Vasp *m_rect(OpParam &p,Vasp &src,Vasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_rect); } // polar -> cartesian (each two) + + Vasp *m_radd(OpParam &p,Vasp &src,const Argument &arg,Vasp *dst = NULL); // radius offset + + inline Vasp *m_cnorm(OpParam &p,Vasp &src,Vasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cnorm); } // complex normalize + +// inline Vasp *m_cswap(OpParam &p,Vasp &src,Vasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cswap); } // swap real and imaginary parts + inline Vasp *m_cconj(OpParam &p,Vasp &src,Vasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cconj); } // complex conjugate +} + +#endif |