diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-10-08 01:02:21 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-10-08 01:02:21 +0000 |
commit | 5aeafcb5b77b06ef6e14d140db81bd79b2f173c4 (patch) | |
tree | 3b343d232f84196c4b17d662313ffab90a079919 /externals/extra/0.43.3/0.43.2/expr~/README.txt | |
parent | 3391e44d8d82a3e221888d0b8a19b0e4953cb104 (diff) |
tagging extra 0.43.3
svn path=/trunk/; revision=16355
Diffstat (limited to 'externals/extra/0.43.3/0.43.2/expr~/README.txt')
-rw-r--r-- | externals/extra/0.43.3/0.43.2/expr~/README.txt | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/externals/extra/0.43.3/0.43.2/expr~/README.txt b/externals/extra/0.43.3/0.43.2/expr~/README.txt new file mode 100644 index 00000000..bf84f2ae --- /dev/null +++ b/externals/extra/0.43.3/0.43.2/expr~/README.txt @@ -0,0 +1,97 @@ + +You can get more information on the expr object at +http://www.crca.ucsd.edu/~yadegari/expr.html + +----------- + +New if Version 0.4 + +-access to variables (made by value object) +-multiple expression separated by ; +-added the following shorthands: + $y or $y1 = $y1[-1] and $y2 = $y2[-1] +-new functions: + if - conditional evaluation + cbrt - cube root + erf - error function + erfc - complementary error function + expm1 - exponential minus 1, + log1p - logarithm of 1 plus + isinf - is the value infinite, + finite - is the value finite + isnan -- is the resut a nan (Not a number) + copysign - copy sign of a number + ldexp - multiply floating-point number by integral power of 2 + imodf - get signed integral value from floating-point number + modf - get signed fractional value from floating-point number + drem - floating-point remainder function + + Thanks to Orm Finnendahl for adding the following functions: + fmod - floating-point remainder function + ceil - ceiling function: smallest integral value not less than argument + floor - largest integral value not greater than argument + +------------ + +New in Version 0.3 +-Full function functionality + +------------ + +The object "expr" is used for expression evaluaion of control data. + +Expr~ and fexpr~ are extentions to the expr object to work with vectors. +The expr~ object is designed to efficiently combine signal and control +stream processing by vector operations on the basis of the block size of +the environment. + +fexpr~ object provides a flexible mechanism for building FIR and +IIR filters by evaluating expressions on a sample by sample basis +and providing access to prior samples of the input and output audio +streams. When fractional offset is used, fexpr~ uses linear interpolation +to determine the value of the indexed sample. fexpr~ evaluates the +expression for every single sample and at every evaluation previous +samples (limited by the audio vector size) can be accessed. $x is used to +denote a singnal input whose samples we would like to access. The syntax +is $x followed by the inlet number and indexed by brackets, for example +$x1[-1] specifies the previous sample of the first inlet. Therefore, +if we are to build a simple filter which replaces every sample by +the average of that sample and its previous one, we would use "fexpr~ +($x1[0]+$x1[-1])/2 ". For ease of when the brackets are omitted, the +current sample is implied, so we can right the previous filter expression +as follows: " fexpr~ ($x1+$x1[-1])/2". To build IIR filters $y is used +to access the previous samples of the output stream. + +The three objects expr, expr~, and fexpr~ are implemented in the same object +so the files expr~.pd_linux and fexpr~.pd_linux are links to expr.pd_linux +This release has been compiled and tested on Linux 6.0. + +-------- + +Here are some syntax information: (refer to help-expr.pd for examples) + +Syntyax: +The syntax is very close to how expression are written in +C. Variables are specified as follows where the '#' stands +for the inlet number: +$i#: integer input variable +$f#: float input variable +$s#: symbol input variable + +Used for expr~ only: +$v#: signal (vector) input (vector by vector evaluation) + +Used for fexpr~ only: +$x#[n]: the sample from inlet # indexed by n, where n has to + satisfy 0 => n >= -vector size, + ($x# is a shorthand for $x#[0], specifying the current sample) + +$y#[n]: the output value indexed by n, where n has to + satisfy 0 > n >= -vector size, + $y[n] is a shorthand for $y1[n] + + +I'll appreciate hearing about bugs, comments, suggestions, ... + +Shahrokh Yadegari (sdy@ucsd.edu) +7/10/02 |