aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/expr-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pddp/expr-help.pd')
-rw-r--r--doc/pddp/expr-help.pd296
1 files changed, 296 insertions, 0 deletions
diff --git a/doc/pddp/expr-help.pd b/doc/pddp/expr-help.pd
new file mode 100644
index 00000000..c9efbf50
--- /dev/null
+++ b/doc/pddp/expr-help.pd
@@ -0,0 +1,296 @@
+#N canvas 0 0 555 619 10;
+#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header expr 3 12 0 18 -204280
+-1 0;
+#X obj 0 118 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+-228856 -1 0;
+#X obj 0 418 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+13 -228856 -1 0;
+#X obj 0 449 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+0 13 -228856 -1 0;
+#X obj 0 537 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+0 13 -228856 -1 0;
+#X obj 78 127 cnv 17 3 153 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 98 126 float;
+#X text 98 426 float;
+#X obj 78 426 cnv 17 3 17 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
+-162280 0;
+#X obj 78 286 cnv 17 3 123 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
+-162280 0;
+#X text 98 285 float;
+#X obj 489 4 expr;
+#X obj 465 21 pddp/pddplink http://wiki.puredata.info/en/expr -text
+pdpedia: expr;
+#X floatatom 87 50 0 0 0 0 - - -;
+#X floatatom 21 96 0 0 0 0 - - -;
+#X msg 21 50 bang;
+#X floatatom 87 96 0 0 0 0 - - -;
+#X floatatom 432 48 0 0 0 0 - - -;
+#X floatatom 432 95 0 0 0 0 - - -;
+#X obj 432 73 expr $f1 * $f2;
+#X floatatom 513 48 0 0 0 0 - - -;
+#X floatatom 185 49 0 0 0 0 - - -;
+#X floatatom 185 96 0 0 0 0 - - -;
+#X obj 185 74 expr sin(2 * 3.14159 * $f1 / 360);
+#X text 98 205 symbol;
+#X text 98 398 symbol;
+#X text 98 242 bang;
+#X obj 87 74 expr 2 + $f1;
+#N canvas 96 45 428 436 expr_and_symbols 0;
+#X floatatom 24 177 0 0 0 0 - - -;
+#X floatatom 24 232 0 0 0 0 - - -;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array \$0-expr-array 515 float 3;
+#A 0 -0.0122715 0 0.0122715 0.0245412 0.0368072 0.0490676 0.0613207
+0.0735645 0.0857972 0.0980171 0.110222 0.122411 0.134581 0.14673 0.158858
+0.170962 0.18304 0.19509 0.207111 0.219101 0.231058 0.24298 0.254865
+0.266713 0.278519 0.290284 0.302006 0.313681 0.32531 0.33689 0.348418
+0.359895 0.371317 0.382683 0.393992 0.405241 0.416429 0.427555 0.438616
+0.449611 0.460538 0.471396 0.482183 0.492898 0.503538 0.514102 0.524589
+0.534997 0.545325 0.55557 0.565731 0.575808 0.585797 0.595699 0.605511
+0.615231 0.624859 0.634393 0.643831 0.653172 0.662415 0.671558 0.680601
+0.68954 0.698376 0.707106 0.71573 0.724247 0.732654 0.740951 0.749136
+0.757208 0.765167 0.77301 0.780737 0.788346 0.795836 0.803207 0.810457
+0.817584 0.824589 0.831469 0.838224 0.844853 0.851355 0.857728 0.863972
+0.870087 0.87607 0.881921 0.887639 0.893224 0.898674 0.903989 0.909168
+0.914209 0.919113 0.923879 0.928506 0.932992 0.937339 0.941544 0.945607
+0.949528 0.953306 0.95694 0.96043 0.963776 0.966976 0.970031 0.97294
+0.975702 0.978317 0.980785 0.983105 0.985277 0.987301 0.989176 0.990902
+0.992479 0.993907 0.995185 0.996312 0.99729 0.998118 0.998795 0.999322
+0.999699 0.999925 1 0.999925 0.999699 0.999322 0.998796 0.998118 0.997291
+0.996313 0.995185 0.993907 0.99248 0.990903 0.989177 0.987302 0.985278
+0.983106 0.980786 0.978318 0.975702 0.97294 0.970032 0.966977 0.963776
+0.960431 0.956941 0.953306 0.949529 0.945608 0.941545 0.93734 0.932993
+0.928507 0.92388 0.919115 0.91421 0.909169 0.90399 0.898675 0.893225
+0.88764 0.881922 0.876071 0.870088 0.863974 0.85773 0.851356 0.844855
+0.838226 0.831471 0.82459 0.817586 0.810458 0.803209 0.795838 0.788348
+0.780738 0.773012 0.765168 0.75721 0.749138 0.740952 0.732656 0.724248
+0.715732 0.707108 0.698378 0.689542 0.680602 0.67156 0.662417 0.653174
+0.643833 0.634395 0.624861 0.615233 0.605513 0.595701 0.5858 0.57581
+0.565734 0.555572 0.545327 0.534999 0.524592 0.514105 0.50354 0.4929
+0.482186 0.471399 0.460541 0.449613 0.438618 0.427557 0.416432 0.405243
+0.393994 0.382686 0.371319 0.359897 0.348421 0.336892 0.325313 0.313684
+0.302008 0.290287 0.278522 0.266715 0.254868 0.242983 0.231061 0.219104
+0.207114 0.195093 0.183042 0.170964 0.158861 0.146733 0.134583 0.122413
+0.110225 0.0980197 0.0857999 0.0735671 0.0613233 0.0490703 0.0368098
+0.0245439 0.0122742 2.65359e-06 -0.0122689 -0.0245386 -0.0368045 -0.049065
+-0.061318 -0.0735619 -0.0857946 -0.0980144 -0.110219 -0.122408 -0.134578
+-0.146728 -0.158855 -0.170959 -0.183037 -0.195088 -0.207109 -0.219098
+-0.231055 -0.242977 -0.254863 -0.26671 -0.278517 -0.290282 -0.302003
+-0.313679 -0.325308 -0.336887 -0.348416 -0.359892 -0.371314 -0.382681
+-0.393989 -0.405239 -0.416427 -0.427552 -0.438614 -0.449609 -0.460536
+-0.471394 -0.482181 -0.492896 -0.503536 -0.5141 -0.524587 -0.534995
+-0.545322 -0.555568 -0.565729 -0.575806 -0.585795 -0.595697 -0.605509
+-0.615229 -0.624857 -0.634391 -0.643829 -0.65317 -0.662413 -0.671557
+-0.680599 -0.689538 -0.698374 -0.707104 -0.715729 -0.724245 -0.732652
+-0.740949 -0.749134 -0.757207 -0.765165 -0.773008 -0.780735 -0.788344
+-0.795835 -0.803205 -0.810455 -0.817583 -0.824587 -0.831468 -0.838223
+-0.844852 -0.851353 -0.857727 -0.863971 -0.870085 -0.876068 -0.88192
+-0.887638 -0.893223 -0.898673 -0.903988 -0.909166 -0.914208 -0.919112
+-0.923878 -0.928505 -0.932992 -0.937338 -0.941543 -0.945606 -0.949527
+-0.953305 -0.956939 -0.960429 -0.963775 -0.966976 -0.97003 -0.972939
+-0.975701 -0.978317 -0.980785 -0.983105 -0.985277 -0.987301 -0.989176
+-0.990902 -0.992479 -0.993907 -0.995184 -0.996312 -0.99729 -0.998118
+-0.998795 -0.999322 -0.999699 -0.999925 -1 -0.999925 -0.999699 -0.999323
+-0.998796 -0.998118 -0.997291 -0.996313 -0.995185 -0.993907 -0.99248
+-0.990903 -0.989177 -0.987302 -0.985278 -0.983106 -0.980786 -0.978318
+-0.975703 -0.972941 -0.970032 -0.966978 -0.963777 -0.960432 -0.956942
+-0.953307 -0.94953 -0.945609 -0.941545 -0.93734 -0.932994 -0.928508
+-0.923881 -0.919116 -0.914212 -0.90917 -0.903991 -0.898676 -0.893226
+-0.887642 -0.881923 -0.876072 -0.870089 -0.863975 -0.857731 -0.851358
+-0.844856 -0.838227 -0.831472 -0.824592 -0.817587 -0.81046 -0.80321
+-0.79584 -0.788349 -0.78074 -0.773013 -0.76517 -0.757212 -0.749139
+-0.740954 -0.732657 -0.72425 -0.715734 -0.70711 -0.69838 -0.689544
+-0.680604 -0.671562 -0.662419 -0.653176 -0.643835 -0.634397 -0.624863
+-0.615235 -0.605515 -0.595703 -0.585802 -0.575812 -0.565736 -0.555574
+-0.545329 -0.535002 -0.524594 -0.514107 -0.503543 -0.492902 -0.482188
+-0.471401 -0.460543 -0.449616 -0.438621 -0.42756 -0.416434 -0.405246
+-0.393997 -0.382688 -0.371322 -0.3599 -0.348423 -0.336895 -0.325315
+-0.313687 -0.302011 -0.29029 -0.278525 -0.266718 -0.254871 -0.242985
+-0.231063 -0.219106 -0.207116 -0.195095 -0.183045 -0.170967 -0.158863
+-0.146736 -0.134586 -0.122416 -0.110227 -0.0980223 -0.0858025 -0.0735698
+-0.061326 -0.0490729 -0.0368125 -0.0245465 -0.0122768 -5.30718e-06
+0.0122662;
+#X coords 0 1 515 -1 200 140 1;
+#X restore 24 279 graph;
+#X obj 240 366 loadbang;
+#X msg 240 388 \; expr-array2 sinesum 512 1;
+#X obj 99 156 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 176 symbol \$0-expr-array;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -204280 -1 0;
+#X obj 24 204 expr $s2[$f1];
+#X text 21 37 Symbolic arguments like $s1 \, $s2 \, and so on are currently
+used in [expr] to get the name of an array or table. You can also type
+the name of an array directly into [expr] \, but this is limited since
+\, for example \, a dash ("e.g. \, my-table") will get interpreted
+as an operator ("e.g. \, my minus table").;
+#X text 113 219 of the array will be clipped;
+#X text 113 204 index values outside the range;
+#X text 20 116 The following syntax outputs the y-value for the element
+specified by the left inlet.;
+#X text 118 154 click here first;
+#X text 8 2 [expr] Using Symbolic Arguments;
+#X connect 0 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 1;
+#X connect 8 0 1 0;
+#X restore 169 397 pd expr_and_symbols;
+#X obj 21 74 expr 1;
+#X text 168 426 - float is the only type of output.;
+#X obj 273 577 pddplink http://crca.ucsd.edu/~syadegar/expr.html;
+#X text 273 563 Expr family of objects by Shahrokh Yadegari;
+#N canvas 91 55 428 501 expr_weirdness 0;
+#X obj 42 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 42 143 5 0 0 0 - - -;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -204280 -1 0;
+#X obj 42 119 expr 8 / 6;
+#X obj 42 254 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 42 302 5 0 0 0 - - -;
+#X obj 42 331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 42 379 5 0 0 0 - - -;
+#X text 19 166 This gets tricky \, because Pd strips unnecessary characters
+from a floating point number. Hence \, if you try to type "8.0 / 6.0"
+in the [expr] object above \, the decimal point and the following zero
+will be removed once you click outside the object (try it).;
+#X text 19 230 There are several work-arounds for this problem:;
+#X text 19 253 1;
+#X text 19 330 2;
+#X obj 42 278 expr (8.0) / (6.0);
+#X text 79 143 "8" and "6" above are interpreted as integers;
+#X text 65 248 Putting parentheses next to the number forces Pd to
+interpret it as a symbol \, so no characters are stripped.;
+#X obj 42 355 expr 8.0/6.0;
+#X text 65 324 Removing the space between the numbers and the operator
+achieves the same thing.;
+#X obj 42 411 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 42 459 5 0 0 0 - - -;
+#X text 19 410 3;
+#X text 65 410 Using the "float" function makes the float type explicit.
+;
+#X obj 42 435 expr float(8) / 6;
+#X text 7 2 [expr] Weirdness with Floats vs. Ints;
+#X text 19 38 Numbers used in [expr~] follow the Max/MSP paradigm \,
+where numbers without a decimal point are interpreted as integers.
+This can be the source of some confusion in Pd \, which uses floating
+point numbers exclusively.;
+#X obj 22 576 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 22 618 5 0 0 0 - - -;
+#X text 19 486 Since float has priority over int \, the integer in
+example 3 is automatically converted to a float. Likewise \, using
+"6" instead of "6.0" in examples 1 and 2 would still give a floating
+point result.;
+#X text 19 539 These details come in handy if you want to use an integer
+to specify a large number:;
+#X text 166 595 What happens if you put a space;
+#X obj 22 596 expr 123456789%10;
+#X text 167 610 between the "%" sign and these integers?;
+#X text 19 704 Unfortunately \, [expr] doesn't understand scientific
+notation. But even if it did \, a float will lose precision in this
+calculation:;
+#X text 165 625 (Scroll down for the answer);
+#X obj 22 747 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 22 789 5 0 0 0 - - -;
+#X obj 22 767 expr int(123456789.0)%10;
+#X connect 0 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 12 0;
+#X connect 6 0 15 0;
+#X connect 12 0 5 0;
+#X connect 15 0 7 0;
+#X connect 17 0 21 0;
+#X connect 21 0 18 0;
+#X connect 24 0 29 0;
+#X connect 29 0 25 0;
+#X connect 33 0 35 0;
+#X connect 35 0 34 0;
+#X restore 275 546 pd expr_weirdness;
+#X text 11 24 expression evaluation of control data;
+#X text 98 269 list;
+#X msg 395 48 3 4;
+#X text 183 350 1) a dollar-sign ($);
+#X text 166 285 - an extra inlet is added for each additional dollar-sign
+variable specified as a creation argument ($v2 \, $f3 \, etc.). Each
+inlet accepts only one of the following: signal \, float \, or symbol.
+There may be at most nine variables in one [expr~] object. Each variable
+consists of:;
+#X text 183 363 2) "v" \, "f" \, "i" or "s" (signal \, float \, integer
+or symbol);
+#X text 183 376 3) an inlet number (Note: inlet numbers start from
+one);
+#X text 168 205 - if the variable $s1 is used as an argument \, it
+will be replaced by the incoming symbol. (If $f1 \, $i1 \, and $s1
+are not used as arguments \, the symbol will trigger the output.);
+#X text 168 126 - if the variable $f1 (float) or $i1 (integer) is specified
+as an argument \, it will be replaced in the expression by the incoming
+value. The expression will then be evaluated and output. (Notes: You
+cannot use $f1 and $i1 in the same [expr] object. If $f1 \, $i1 \,
+and $s1 are not used as arguments \, an incoming float will trigger
+the output.);
+#X text 168 243 - a bang will evaluate the expression with the last
+received values and trigger the output.;
+#X text 167 463 - the arguments themselves form the expression to evaluate.
+They may be floats or symbols \, including the special variables noted
+above ($i1 \, $f2 \, etc.). The operators and functions available for
+use in [expr~] are listed below:;
+#X text 168 269 - a list will be distributed to the inlets of [expr].
+;
+#X obj 170 516 pddp/pddplink all_about_expr_functions.pd -text all_about_expr_operators_and_functions
+;
+#X text 80 463 n) float;
+#X text 98 475 symbol atom;
+#X text 98 489 comma;
+#X text 98 502 semicolon;
+#X obj 101 546 pddp/pddplink all_about_expr_if.pd -text expr_if;
+#X obj 101 561 pddp/pddplink all_about_expr_and_value.pd -text expr_and_value
+;
+#X obj 101 578 pddp/pddplink all_about_expr_multiline.pd -text expr_multiline
+;
+#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#N canvas 52 244 494 344 META 0;
+#X text 12 105 PLATFORM windows macosx gnulinux;
+#X text 12 185 LIBRARY internal;
+#X text 12 225 WEBSITE http://crca.ucsd.edu/~msp/;
+#X text 12 205 AUTHOR Shahrokh Yadegari;
+#X text 12 285 HELP_PATCH_AUTHORS Updated for Pd 0.35 test 26 and expr*
+0.4. Jonathan Wilkes revised the patch to conform to the PDDP template
+for Pd version 0.42.;
+#X text 12 5 GENRE help;
+#X text 12 45 KEYWORDS control nonlocal trigonometry;
+#X text 12 25 NAME expr;
+#X text 12 125 INLET_0 float bang symbol list;
+#X text 12 145 INLET_N float symbol;
+#X text 12 165 OUTLET_N float;
+#X text 12 85 DESCRIPTION expression evaluation of control data;
+#X text 12 245 RELEASE_DATE 1989;
+#X text 12 265 RELEASE_VERSION;
+#X text 12 65 LICENSE GPL v2;
+#X restore 500 598 pd META;
+#N canvas 102 481 428 109 Related_objects 0;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -204280 -1 0;
+#X obj 22 43 expr~;
+#X obj 62 43 fexpr~;
+#X text 7 2 [expr] Related Objects;
+#X restore 101 598 pd Related_objects;
+#X obj 4 598 pddp/pddplink pddp/help.pd -text help;
+#X connect 13 0 27 0;
+#X connect 15 0 29 0;
+#X connect 17 0 19 0;
+#X connect 19 0 18 0;
+#X connect 20 0 19 1;
+#X connect 21 0 23 0;
+#X connect 23 0 22 0;
+#X connect 27 0 16 0;
+#X connect 29 0 14 0;
+#X connect 36 0 19 0;