From 2f615ffbf13571a928856b8207d1ea215e857e3f Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes Date: Wed, 25 Aug 2010 00:12:22 +0000 Subject: Revised and added to all_about help patches svn path=/trunk/; revision=13941 --- doc/pddp/all_about_expr_functions.pd | 503 +++++++++++++++++++++++++++++++++++ 1 file changed, 503 insertions(+) create mode 100644 doc/pddp/all_about_expr_functions.pd (limited to 'doc/pddp/all_about_expr_functions.pd') diff --git a/doc/pddp/all_about_expr_functions.pd b/doc/pddp/all_about_expr_functions.pd new file mode 100644 index 00000000..d9b8e6bb --- /dev/null +++ b/doc/pddp/all_about_expr_functions.pd @@ -0,0 +1,503 @@ +#N canvas 0 0 448 545 10; +#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header expr_operators_and_functions +20 10 1 18 -261106 -33289 0; +#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp +; +#X floatatom 140 881 5 0 0 0 - - -; +#X floatatom 188 880 5 0 0 0 - - -; +#X obj 140 901 v a; +#X obj 188 901 v b; +#X obj 36 794 expr max(a \, b); +#X obj 22 774 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 795 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 711 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 732 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 753 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 36 880 0 0 0 0 - - -; +#X obj 22 990 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 1010 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1030 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1050 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1070 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1090 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1110 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1130 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1150 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 816 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 1171 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 837 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 858 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 36 1200 0 0 0 0 - - -; +#X obj 36 773 expr min(a \, b); +#X obj 36 710 expr int(a); +#X obj 36 731 expr rint(a); +#X obj 36 752 expr float(a); +#X obj 36 1129 expr tanh(a); +#X obj 36 1149 expr fact(a); +#X obj 36 815 expr abs(a); +#X obj 36 857 expr modf(a); +#N canvas 0 0 450 300 (subpatch) 0; +#X array expr_array 11 float 3; +#A 0 -0.707106 0 0.707106 1 0.707108 2.65359e-006 -0.707104 -1 -0.70711 +-5.30718e-006 0.707103; +#X coords 0 1 11 -1 80 60 1; +#X restore 22 1757 graph; +#X obj 22 1844 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1864 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1884 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1904 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1924 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1944 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 36 1971 0 0 0 0 - - -; +#X text 185 1842 size of an array; +#X text 24 1620 * Bug: floor and ceiling must take two values to initialize +properly. You can just put a zero as the second value.; +#X text 9 1171 *; +#X text 9 837 *; +#X text 185 1861 sum of all elements in an array; +#X text 206 1903 average of all elements; +#X text 138 772 minimum; +#X text 138 793 maximum; +#X text 138 709 convert to integer; +#X text 138 730 round a float to a nearby integer; +#X text 138 751 convert to float; +#X text 4 753 **; +#X text 24 1646 ** Bug: float(a) converts a to an integer; +#X text 149 1127 hyperbolic tangent; +#X text 149 1147 factorial; +#X text 127 835 get signed integer value from floating point number +; +#X floatatom 120 504 5 0 0 0 - - -; +#X floatatom 168 503 5 0 0 0 - - -; +#X obj 120 524 v a; +#X obj 168 524 v b; +#X floatatom 36 503 0 0 0 0 - - -; +#X text 117 123 One's complement; +#X text 117 143 Multiply; +#X text 117 183 Modulo; +#X text 117 203 Add; +#X text 117 223 Subtract; +#X text 117 243 Shift Left; +#X text 117 263 Shift Right; +#X text 117 283 Less than (boolean); +#X text 117 303 Less than or equal (boolean); +#X text 117 323 Greater than (boolean); +#X text 117 343 Greater than or equal (boolean); +#X text 117 363 Equal (boolean); +#X text 117 383 Not equal (boolean); +#X text 117 403 Bitwise And; +#X text 117 423 Exclusive Or; +#X text 117 443 Bitwise Or; +#X text 117 463 Logical And (boolean); +#X text 117 483 Logical Or (boolean); +#X text 117 163 Divide (division by zero detected); +#X text 138 815 absolute value; +#X obj 22 613 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 612 expr if(a \, b \, c); +#X floatatom 238 880 5 0 0 0 - - -; +#X obj 238 901 v c; +#X text 147 637 (See expr-if subpatch for more details); +#X text 117 855 get signed fractional value from floating point number +; +#X floatatom 152 1201 5 0 0 0 - - -; +#X floatatom 200 1200 5 0 0 0 - - -; +#X obj 152 1221 v a; +#X obj 200 1221 v b; +#X obj 22 664 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 663 expr random(a \, b); +#X obj 36 989 expr pow(a \, b); +#X text 149 987 raise a to the power of b; +#X obj 36 1009 expr sqrt(a); +#X text 149 1007 square root; +#X obj 36 1029 expr exp(a); +#X text 149 1027 e raised to the power of a; +#X obj 36 1049 expr ln(a); +#X text 149 1047 natural log; +#X obj 36 1069 expr log(a); +#X text 149 1067 natural log (same as above); +#X obj 36 1089 expr log10(a); +#X text 149 1087 log base 10; +#X obj 36 1109 expr fact(a); +#X text 149 1107 factorial; +#X obj 36 1170 expr ldexp(a); +#X obj 22 1310 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1330 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1350 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1370 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1390 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1410 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1430 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1450 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1470 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1491 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 36 1575 0 0 0 0 - - -; +#X text 9 1511 *; +#X floatatom 152 1575 5 0 0 0 - - -; +#X floatatom 200 1574 5 0 0 0 - - -; +#X obj 152 1595 v a; +#X obj 200 1595 v b; +#X obj 36 1309 expr sin(a); +#X text 149 1307 sine; +#X obj 36 1329 expr cos(a); +#X text 149 1327 cosine; +#X obj 36 1349 expr tan(a); +#X text 149 1347 tangent; +#X obj 36 1369 expr asin(a); +#X text 149 1367 arc sine; +#X obj 36 1389 expr acos(a); +#X text 149 1387 arc cosine; +#X obj 36 1409 expr atan(a); +#X text 149 1407 arc tangent; +#X obj 36 1429 expr atan2(a \, b); +#X text 149 1427 arc tangent of 2 variables; +#X obj 36 1449 expr sinh(a); +#X text 149 1447 hyperbolic sine; +#X obj 36 1469 expr cosh(a); +#X text 149 1467 hyperbolic cosine; +#X obj 22 1512 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1532 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 22 1552 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 36 1490 expr tanh(a); +#X text 149 1487 hyperbolic tangent; +#X obj 36 1511 expr floor(a \, 0); +#X text 149 1509 largest integral value not greater than argument; +#X obj 36 1531 expr ceil(a \, 0); +#X text 149 1529 smallest integral value not less than argument; +#X text 149 1549 floating-point remainder function; +#X obj 36 1551 expr fmod(a \, b); +#X text 9 1531 *; +#X obj 22 144 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 164 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 184 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 204 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 224 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 264 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 284 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 304 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 324 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 344 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 364 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 384 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 404 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 22 424 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 143 expr a * b; +#X obj 36 163 expr a / b; +#X obj 36 183 expr a % b; +#X obj 36 203 expr a + b; +#X obj 36 223 expr a - b; +#X obj 36 243 expr a << b; +#X obj 36 263 expr a >> b; +#X obj 36 283 expr a < b; +#X obj 36 303 expr a <= b; +#X obj 36 323 expr a > b; +#X obj 36 343 expr a >= b; +#X obj 36 363 expr a == b; +#X obj 36 383 expr a != b; +#X obj 36 403 expr a & b; +#X obj 36 423 expr a ^ b; +#X obj 22 444 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 443 expr a | b; +#X obj 22 464 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 463 expr a && b; +#X obj 22 484 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 483 expr a || b; +#X obj 22 124 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 36 123 expr a ~ b; +#X obj 36 836 expr imodf(a); +#X floatatom 131 1971 5 0 0 0 - - -; +#X floatatom 179 1970 5 0 0 0 - - -; +#X obj 131 1991 v a; +#X obj 179 1991 v b; +#X text 18 2277 cbrt(a); +#X text 18 2297 erf(a); +#X text 18 2317 erfc(a); +#X text 18 2357 loglp(a); +#X text 18 2377 isinf(a); +#X text 18 2397 finite(a); +#X text 18 2417 isnan(a); +#X text 18 2457 drem(a); +#X text 18 2477 asinh(a); +#X text 18 2497 acosh(a); +#X text 18 2517 atanh(a); +#X text 98 2277 cube root; +#X text 98 2297 error function; +#X text 98 2317 complementary error function; +#X text 18 2337 expm1(a); +#X text 98 2337 exponential minus 1; +#X text 98 2357 logarithm of 1 plus; +#X text 98 2377 is the value infinite; +#X text 98 2397 is the value finite; +#X text 98 2417 is the value not a number; +#X text 98 2437 copy the sign of a number; +#X text 98 2457 floating-point remainder function; +#X text 98 2477 inverse hyperbolic sine; +#X text 98 2497 inverse hyperbolic cosine; +#X text 98 2517 inverse hyperbolic tangent; +#X obj 36 1843 expr size("expr_array"); +#X text 242 524 ***Scroll Down for more***; +#X obj 1 572 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 +0 14 -261106 -33289 0; +#X obj 1 949 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 +0 14 -261106 -33289 0; +#X obj 1 1269 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 +0 14 -261106 -33289 0; +#X text 7 1269 Trigonometric Functions; +#X text 7 949 Power Functions; +#X text 7 572 General Purpose Functions; +#X obj 1 1705 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 +0 14 -261106 -33289 0; +#X text 7 1705 Array/Table Functions; +#X obj 1 2241 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 +0 14 -261106 -33289 0; +#X text 7 2241 Functions Not Available in Windows; +#X text 148 612 conditional \; if (condition \, ifTrue-expr \, ifFalse-expr) +; +#X text 147 663 random number between a and b. The value will; +#X text 148 676 be less than the upper boundary and greater; +#X text 148 688 than or equal to the lower boundary.; +#X text 149 1180 power of 2; +#X text 149 1167 multiply floating-point number by integral; +#X text 217 1882 sum of an array within boundaries; +#X text 219 1922 average of elements within boundaries; +#X text 239 1942 store a value in an array; +#X text 239 1955 ("array_name" \, index \, value); +#X text 19 2032 Note: the quotation marks inside the parentheses are +also required when using a variable \, like "$s2". When using array/table +names like "array-name" or "\$0-table" \, use a variable-- otherwise +the dash and the \$0 will get interpreted as an operator and a value +\, respectively.; +#X obj 35 2131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 35 2195 5 0 0 0 - - -; +#X obj 35 2150 symbol \$0-expr-array; +#X obj 35 2172 expr size("$s1"); +#X obj 36 1863 expr sum("expr_array"); +#X text 19 2096 For a table name like "\$0-array2" \, send the array +name as a message:; +#X text 239 1981 than the size of the table \,; +#X text 239 1968 If the index is greater; +#X text 240 1994 a modulo the size of the; +#X text 240 2007 table is made.; +#X text 109 1790 Note: The array name in [expr] must be in quotes; +#X text 146 1803 when using these functions.; +#X text 109 1816 (even when for a variable like "$s2"); +#X obj 36 1883 expr Sum("expr_array" \, 6 \, 0); +#X obj 36 1903 expr avg("expr_array"); +#X obj 36 1923 expr Avg("expr_array" \, 1 \, 3); +#X obj 36 1943 expr store("expr_array" \, 0 \, 3); +#X text 254 2439 ***; +#X text 17 2540 *** bug: copysign is spelled "copysig" in the source +; +#X text 18 2437 copysign(a); +#X obj 1 82 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 +0 14 -261106 -33289 0; +#X text 19 37 The following operators and functions are available as +arguments to the [expr] \, [expr~] \, and [fexpr~] objects.; +#X text 7 82 Operators (from highest to lowest precedence); +#X obj 1 2568 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0 +14 -233017 -33289 0; +#N canvas 44 246 494 344 META 0; +#X text 12 105 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan +Wilkes revised the patch to conform to the PDDP template for Pd version +0.42.; +#X text 12 85 LIBRARY PDDP; +#X text 12 45 KEYWORDS; +#X text 12 5 GENRE all_about_pd; +#X text 12 25 NAME expr expr~ fexpr~; +#X text 12 65 DESCRIPTION complete list of functions and operators +for expr family objects; +#X restore 392 2570 pd META; +#N canvas 10 380 428 140 Related_objects 0; +#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -261106 -33289 0; +#X text 6 1 [expr] Functions and Operators- Related Objects; +#X restore 103 2570 pd Related_objects; +#X obj 6 2570 pddp/pddplink pddp/help.pd -text help; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 12 0; +#X connect 7 0 27 0; +#X connect 8 0 6 0; +#X connect 9 0 28 0; +#X connect 10 0 29 0; +#X connect 11 0 30 0; +#X connect 13 0 96 0; +#X connect 14 0 98 0; +#X connect 15 0 100 0; +#X connect 16 0 102 0; +#X connect 17 0 104 0; +#X connect 18 0 106 0; +#X connect 19 0 108 0; +#X connect 20 0 31 0; +#X connect 21 0 32 0; +#X connect 22 0 33 0; +#X connect 23 0 110 0; +#X connect 24 0 195 0; +#X connect 25 0 34 0; +#X connect 27 0 12 0; +#X connect 28 0 12 0; +#X connect 29 0 12 0; +#X connect 30 0 12 0; +#X connect 31 0 26 0; +#X connect 32 0 26 0; +#X connect 33 0 12 0; +#X connect 34 0 12 0; +#X connect 36 0 225 0; +#X connect 37 0 252 0; +#X connect 38 0 261 0; +#X connect 39 0 262 0; +#X connect 40 0 263 0; +#X connect 41 0 264 0; +#X connect 59 0 61 0; +#X connect 60 0 62 0; +#X connect 84 0 85 0; +#X connect 85 0 12 0; +#X connect 86 0 87 0; +#X connect 90 0 92 0; +#X connect 91 0 93 0; +#X connect 94 0 95 0; +#X connect 96 0 26 0; +#X connect 98 0 26 0; +#X connect 100 0 26 0; +#X connect 102 0 26 0; +#X connect 104 0 26 0; +#X connect 106 0 26 0; +#X connect 108 0 26 0; +#X connect 110 0 26 0; +#X connect 111 0 127 0; +#X connect 112 0 129 0; +#X connect 113 0 131 0; +#X connect 114 0 133 0; +#X connect 115 0 135 0; +#X connect 116 0 137 0; +#X connect 117 0 139 0; +#X connect 118 0 141 0; +#X connect 119 0 143 0; +#X connect 120 0 148 0; +#X connect 123 0 125 0; +#X connect 124 0 126 0; +#X connect 127 0 121 0; +#X connect 129 0 121 0; +#X connect 131 0 121 0; +#X connect 133 0 121 0; +#X connect 135 0 121 0; +#X connect 137 0 121 0; +#X connect 139 0 121 0; +#X connect 141 0 121 0; +#X connect 143 0 121 0; +#X connect 145 0 150 0; +#X connect 146 0 152 0; +#X connect 147 0 155 0; +#X connect 148 0 121 0; +#X connect 150 0 121 0; +#X connect 152 0 121 0; +#X connect 155 0 121 0; +#X connect 157 0 172 0; +#X connect 158 0 173 0; +#X connect 159 0 174 0; +#X connect 160 0 175 0; +#X connect 161 0 176 0; +#X connect 162 0 177 0; +#X connect 163 0 178 0; +#X connect 164 0 179 0; +#X connect 165 0 180 0; +#X connect 166 0 181 0; +#X connect 167 0 182 0; +#X connect 168 0 183 0; +#X connect 169 0 184 0; +#X connect 170 0 185 0; +#X connect 171 0 186 0; +#X connect 172 0 63 0; +#X connect 173 0 63 0; +#X connect 174 0 63 0; +#X connect 175 0 63 0; +#X connect 176 0 63 0; +#X connect 177 0 63 0; +#X connect 178 0 63 0; +#X connect 179 0 63 0; +#X connect 180 0 63 0; +#X connect 181 0 63 0; +#X connect 182 0 63 0; +#X connect 183 0 63 0; +#X connect 184 0 63 0; +#X connect 185 0 63 0; +#X connect 186 0 63 0; +#X connect 187 0 188 0; +#X connect 188 0 63 0; +#X connect 189 0 190 0; +#X connect 190 0 63 0; +#X connect 191 0 192 0; +#X connect 192 0 63 0; +#X connect 193 0 194 0; +#X connect 194 0 63 0; +#X connect 195 0 12 0; +#X connect 196 0 198 0; +#X connect 197 0 199 0; +#X connect 225 0 42 0; +#X connect 248 0 250 0; +#X connect 250 0 251 0; +#X connect 251 0 249 0; +#X connect 252 0 42 0; +#X connect 261 0 42 0; +#X connect 262 0 42 0; +#X connect 263 0 42 0; +#X connect 264 0 42 0; -- cgit v1.2.1