From 03dd3ab1bd83cd8a3830d5e390285410edb9db39 Mon Sep 17 00:00:00 2001
From: Jonathan Wilkes <jon.w.wilkes@gmail.com>
Date: Sun, 11 Sep 2016 14:55:13 -0400
Subject: [PATCH] use individual help patches for higher math objects ([cos],
 [sin], etc.) and cross-reference with math-help.pd

---
 doc/pddp/abs-help.pd   |  42 ++++++++------
 doc/pddp/atan-help.pd  |  30 ++++++----
 doc/pddp/atan2-help.pd |  40 +++++++------
 doc/pddp/cos-help.pd   |  64 +++++++++++----------
 doc/pddp/exp-help.pd   |  30 ++++++----
 doc/pddp/log-help.pd   |  30 ++++++----
 doc/pddp/math-help.pd  | 126 ++++++++++++++++++++++++++---------------
 doc/pddp/pow-help.pd   |  40 +++++++------
 doc/pddp/sin-help.pd   |  30 ++++++----
 doc/pddp/sqrt-help.pd  |  30 ++++++----
 doc/pddp/tan-help.pd   |  64 +++++++++++----------
 doc/pddp/wrap-help.pd  |  65 +++++++++++++++++++++
 pd/src/x_arithmetic.c  |  13 -----
 13 files changed, 374 insertions(+), 230 deletions(-)
 create mode 100644 doc/pddp/wrap-help.pd

diff --git a/doc/pddp/abs-help.pd b/doc/pddp/abs-help.pd
index 3a5ead9d4..5f7087aa6 100644
--- a/doc/pddp/abs-help.pd
+++ b/doc/pddp/abs-help.pd
@@ -1,9 +1,9 @@
-#N canvas 312 24 559 420 10;
+#N canvas 421 50 559 420 10;
 #X obj 0 389 cnv 15 552 21 foo \$0-pddp.cnv.footer empty 20 12 0 14
 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header abs 3 12 0 18 -204280
 -1 0;
-#X obj 0 246 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 196 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 355 138 507 278 META 0;
 #X text 12 115 LIBRARY internal;
@@ -21,13 +21,13 @@ for Pd version 0.42.;
 #X text 12 95 OUTLET_0 float;
 #X text 12 175 RELEASE_DATE 1997;
 #X restore 500 392 pd META;
-#X obj 0 305 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 255 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 336 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 286 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 364 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 314 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 340 (none);
+#X text 98 290 (none);
 #N canvas 214 304 428 109 Related_objects 0;
 #X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
 14 -204280 -1 0;
@@ -45,25 +45,31 @@ for Pd version 0.42.;
 #X text 7 1 [abs] Related Objects;
 #X obj 208 42 log;
 #X restore 214 391 pd Related_objects;
-#X obj 78 254 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 204 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 273 list;
-#X text 98 312 float;
-#X obj 78 313 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 223 list;
+#X text 98 262 float;
+#X obj 78 263 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X floatatom 239 152 0 0 0 0 - - -;
-#X floatatom 239 95 0 0 0 0 - - -;
-#X text 112 175 [abs] will output the absolute value of a number.;
-#X obj 239 125 abs;
+#X floatatom 239 132 0 0 0 0 - - -;
+#X floatatom 239 75 0 0 0 0 - - -;
+#X text 112 155 [abs] will output the absolute value of a number.;
+#X obj 239 105 abs;
 #X obj 519 9 abs;
 #X text 11 24 absolute value;
-#X text 168 273 - a list will be truncated \, and the first element
+#X text 168 223 - a list will be truncated \, and the first element
 will be used as input.;
-#X text 168 312 - the absolute value of the number given at the inlet.
+#X text 168 262 - the absolute value of the number given at the inlet.
 ;
-#X text 98 253 float;
-#X text 168 253 - the incoming value.;
+#X text 98 203 float;
+#X text 168 203 - the incoming value.;
 #X obj 4 392 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 218 326 - binary arithmetic operators;
+#X obj 99 326 pddp/pddplink operators-help.pd;
+#X text 218 346 - relational and logical operators;
+#X obj 99 346 pddp/pddplink otherbinops-help.pd;
+#X obj 99 366 pddp/pddplink math-help.pd;
+#X text 218 366 - higher math objects;
 #X connect 14 0 16 0;
 #X connect 16 0 13 0;
diff --git a/doc/pddp/atan-help.pd b/doc/pddp/atan-help.pd
index f674eb5bd..bbb464aa0 100644
--- a/doc/pddp/atan-help.pd
+++ b/doc/pddp/atan-help.pd
@@ -1,9 +1,9 @@
-#N canvas 425 35 558 622 10;
+#N canvas 426 60 558 622 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header atan 3 12 0 18 -204280
 -1 0;
-#X obj 0 436 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 381 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 485 285 494 344 META 0;
 #X text 12 105 LIBRARY internal;
@@ -21,13 +21,13 @@ Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 165 RELEASE_DATE 2009;
 #X restore 500 597 pd META;
-#X obj 0 501 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 446 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 537 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 482 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 566 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 511 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 542 (none);
+#X text 98 487 (none);
 #N canvas 217 521 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;
@@ -45,12 +45,12 @@ Pd version 0.42.;
 #X obj 76 43 tan;
 #X text 8 2 [atan] Related Objects;
 #X restore 102 598 pd Related_objects;
-#X obj 78 445 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 390 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 444 float;
-#X text 98 464 list;
-#X text 98 509 float;
-#X obj 78 510 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 389 float;
+#X text 98 409 list;
+#X text 98 454 float;
+#X obj 78 455 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X obj 511 10 atan;
 #X floatatom 247 209 0 0 0 0 - - -;
@@ -59,9 +59,15 @@ Pd version 0.42.;
 #X text 96 122 The [atan] object produces the arctangent of a number
 as a numeric value between -Pi/2 and Pi/2.;
 #X text 11 23 arctangent function;
-#X text 168 464 - a list will be truncated \, and the first element
+#X text 168 409 - a list will be truncated \, and the first element
 will be used as input.;
 #X obj 3 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 218 528 - binary arithmetic operators;
+#X obj 99 528 pddp/pddplink operators-help.pd;
+#X text 218 548 - relational and logical operators;
+#X obj 99 548 pddp/pddplink otherbinops-help.pd;
+#X obj 99 568 pddp/pddplink math-help.pd;
+#X text 218 568 - higher math objects;
 #X connect 16 0 17 0;
 #X connect 17 0 15 0;
diff --git a/doc/pddp/atan2-help.pd b/doc/pddp/atan2-help.pd
index f9cade448..f99aba5e6 100644
--- a/doc/pddp/atan2-help.pd
+++ b/doc/pddp/atan2-help.pd
@@ -1,9 +1,9 @@
-#N canvas 426 35 559 622 10;
+#N canvas 427 60 559 622 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header atan2 3 12 0 18
 -204280 -1 0;
-#X obj 0 405 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 335 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 572 335 399 294 META 0;
 #X text 12 125 LIBRARY internal;
@@ -22,13 +22,13 @@ for Pd version 0.42.;
 #X text 12 105 OUTLET_0 float;
 #X text 12 185 RELEASE_DATE 2009;
 #X restore 500 597 pd META;
-#X obj 0 492 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 422 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 528 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 458 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 557 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 487 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 533 (none);
+#X text 98 463 (none);
 #N canvas 213 521 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;
@@ -46,12 +46,12 @@ for Pd version 0.42.;
 #X obj 109 43 atan;
 #X text 8 2 [atan2] Related Objects;
 #X restore 101 598 pd Related_objects;
-#X obj 78 414 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 344 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 413 float;
-#X text 98 433 list;
-#X text 98 500 float;
-#X obj 78 501 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 343 float;
+#X text 98 363 list;
+#X text 98 430 float;
+#X obj 78 431 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X obj 506 12 atan2;
 #X text 92 97 The [atan2] object produces the arctangent of the quotient
@@ -102,20 +102,26 @@ to the left inlet.;
 #X connect 20 0 23 0;
 #X connect 23 0 0 0;
 #X connect 23 1 17 0;
-#X restore 101 566 pd atan2_vs_atan;
+#X restore 101 496 pd atan2_vs_atan;
 #X floatatom 224 217 5 0 0 0 - - -, f 5;
 #X floatatom 261 217 5 0 0 0 - - -, f 5;
 #X obj 224 241 atan2;
 #X floatatom 224 268 5 0 0 0 - - -, f 5;
-#X obj 78 464 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
+#X obj 78 394 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
 -162280 0;
-#X text 98 463 float;
-#X text 168 413 - Y coordinate;
-#X text 168 463 - X coordinate;
-#X text 168 433 - a list will be distributed between the two inlets
+#X text 98 393 float;
+#X text 168 343 - Y coordinate;
+#X text 168 393 - X coordinate;
+#X text 168 363 - a list will be distributed between the two inlets
 of [atan2].;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 217 522 - binary arithmetic operators;
+#X obj 98 522 pddp/pddplink operators-help.pd;
+#X text 217 542 - relational and logical operators;
+#X obj 98 542 pddp/pddplink otherbinops-help.pd;
+#X obj 98 562 pddp/pddplink math-help.pd;
+#X text 217 562 - higher math objects;
 #X connect 18 0 20 0;
 #X connect 19 0 20 1;
 #X connect 20 0 21 0;
diff --git a/doc/pddp/cos-help.pd b/doc/pddp/cos-help.pd
index 06bff0259..40270411b 100644
--- a/doc/pddp/cos-help.pd
+++ b/doc/pddp/cos-help.pd
@@ -1,9 +1,9 @@
-#N canvas 429 39 555 619 10;
+#N canvas 430 64 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header cos 3 12 0 18 -204280
 -1 0;
-#X obj 0 437 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 387 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 483 290 494 344 META 0;
 #X text 12 105 LIBRARY internal;
@@ -21,13 +21,13 @@ for Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 165 RELEASE_DATE 1997;
 #X restore 500 597 pd META;
-#X obj 0 502 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 452 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 539 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 489 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 567 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 517 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 543 (none);
+#X text 98 493 (none);
 #N canvas 217 521 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;
@@ -45,41 +45,47 @@ for Pd version 0.42.;
 #X obj 22 42 sin;
 #X text 7 1 [cos] Related Objects;
 #X restore 102 598 pd Related_objects;
-#X obj 78 446 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 396 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 445 float;
-#X text 98 465 list;
-#X text 98 510 float;
-#X obj 78 511 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 395 float;
+#X text 98 415 list;
+#X text 98 460 float;
+#X obj 78 461 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X floatatom 396 190 0 0 0 0 - - -;
-#X floatatom 303 191 0 0 0 0 - - -;
-#X obj 210 156 sin;
-#X floatatom 87 111 0 0 0 0 - - -;
-#X floatatom 210 190 0 0 0 0 - - -;
-#X obj 87 151 * 6.28319;
-#X obj 87 131 / 360;
-#X obj 303 157 cos;
-#X obj 396 156 tan;
-#X text 150 151 2 x Pi;
-#X floatatom 87 171 0 0 0 0 - - -;
-#X text 150 171 Radian;
-#X obj 87 191 s radians;
-#X obj 210 130 r radians;
-#X text 84 228 Trigonometry functions take input in Radians. To find
+#X floatatom 396 170 0 0 0 0 - - -;
+#X floatatom 303 171 0 0 0 0 - - -;
+#X obj 210 136 sin;
+#X floatatom 87 91 0 0 0 0 - - -;
+#X floatatom 210 170 0 0 0 0 - - -;
+#X obj 87 131 * 6.28319;
+#X obj 87 111 / 360;
+#X obj 303 137 cos;
+#X obj 396 136 tan;
+#X text 150 131 2 x Pi;
+#X floatatom 87 151 0 0 0 0 - - -;
+#X text 150 151 Radian;
+#X obj 87 171 s radians;
+#X obj 210 110 r radians;
+#X text 84 208 Trigonometry functions take input in Radians. To find
 a radian \, simply divide a number by 360 (to make it a fraction of
 a circle) and multiply it by 2(Pi) where Pi is equal to approximately
 3.14159265.;
-#X text 83 333 [tan] will produce a number which represents the tangent
+#X text 83 313 [tan] will produce a number which represents the tangent
 of an angle.;
-#X text 83 289 [sin] and [cos] will return numbers between -1 and 1:
+#X text 83 269 [sin] and [cos] will return numbers between -1 and 1:
 the sine and cosine of a number repectively.;
 #X obj 519 11 cos;
 #X text 11 23 cosine function;
-#X text 168 467 - a list will be truncated \, and the first element
+#X text 168 417 - a list will be truncated \, and the first element
 will be used as input.;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 218 530 - binary arithmetic operators;
+#X obj 99 530 pddp/pddplink operators-help.pd;
+#X text 218 550 - relational and logical operators;
+#X obj 99 550 pddp/pddplink otherbinops-help.pd;
+#X obj 99 570 pddp/pddplink math-help.pd;
+#X text 218 570 - higher math objects;
 #X connect 16 0 18 0;
 #X connect 17 0 20 0;
 #X connect 19 0 24 0;
diff --git a/doc/pddp/exp-help.pd b/doc/pddp/exp-help.pd
index 2dee6c3f4..6cfa652d4 100644
--- a/doc/pddp/exp-help.pd
+++ b/doc/pddp/exp-help.pd
@@ -1,9 +1,9 @@
-#N canvas 425 35 555 619 10;
+#N canvas 426 60 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header exp 3 12 0 18 -204280
 -1 0;
-#X obj 0 437 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 387 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 480 287 494 344 META 0;
 #X text 12 105 LIBRARY internal;
@@ -20,13 +20,13 @@ for Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 45 DESCRIPTION raise e to the nth power;
 #X restore 500 597 pd META;
-#X obj 0 502 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 452 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 539 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 489 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 566 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 516 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 543 (none);
+#X text 98 493 (none);
 #N canvas 207 520 428 108 Related_objects 0;
 #X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
 14 -204280 -1 0;
@@ -44,11 +44,11 @@ for Pd version 0.42.;
 #X text 7 1 [exp] Related Objects;
 #X obj 143 42 atan2;
 #X restore 101 597 pd Related_objects;
-#X obj 78 446 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 396 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 445 float;
-#X text 98 510 float;
-#X obj 78 511 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 395 float;
+#X text 98 460 float;
+#X obj 78 461 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X obj 519 12 exp;
 #X floatatom 239 187 0 0 0 0 - - -;
@@ -59,10 +59,16 @@ for Pd version 0.42.;
 #X text 104 252 where E is Euler's constant and n is the value of the
 inlet.;
 #X text 11 23 raise e to the nth power;
-#X text 168 465 - a list will be truncated \, and the first element
+#X text 168 415 - a list will be truncated \, and the first element
 will be used as input.;
-#X text 98 465 list;
+#X text 98 415 list;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 219 529 - binary arithmetic operators;
+#X obj 100 529 pddp/pddplink operators-help.pd;
+#X text 219 549 - relational and logical operators;
+#X obj 100 549 pddp/pddplink otherbinops-help.pd;
+#X obj 100 569 pddp/pddplink math-help.pd;
+#X text 219 569 - higher math objects;
 #X connect 15 0 16 0;
 #X connect 16 0 14 0;
diff --git a/doc/pddp/log-help.pd b/doc/pddp/log-help.pd
index cef74b3dc..c2cdc6bbb 100644
--- a/doc/pddp/log-help.pd
+++ b/doc/pddp/log-help.pd
@@ -1,9 +1,9 @@
-#N canvas 427 35 555 619 10;
+#N canvas 428 60 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header log 3 12 0 18 -204280
 -1 0;
-#X obj 0 439 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 389 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 483 285 494 344 META 0;
 #X text 12 105 LIBRARY internal;
@@ -21,13 +21,13 @@ for Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 165 RELEASE_DATE 1997;
 #X restore 500 597 pd META;
-#X obj 0 504 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 454 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 541 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 491 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 568 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 518 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 545 (none);
+#X text 98 495 (none);
 #N canvas 215 516 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;
@@ -45,12 +45,12 @@ for Pd version 0.42.;
 #X text 7 1 [log] Related Objects;
 #X obj 181 42 exp;
 #X restore 101 597 pd Related_objects;
-#X obj 78 448 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 398 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 447 float;
-#X text 98 467 list;
-#X text 98 512 float;
-#X obj 78 513 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 397 float;
+#X text 98 417 list;
+#X text 98 462 float;
+#X obj 78 463 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X floatatom 239 217 0 0 0 0 - - -;
 #X floatatom 239 160 0 0 0 0 - - -;
@@ -60,9 +60,15 @@ infinity".;
 #X obj 239 190 log;
 #X obj 515 9 log;
 #X text 11 23 natural logarithm of a number;
-#X text 168 467 - a list will be truncated \, and the first element
+#X text 168 417 - a list will be truncated \, and the first element
 will be used as input.;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 217 528 - binary arithmetic operators;
+#X obj 98 528 pddp/pddplink operators-help.pd;
+#X text 217 548 - relational and logical operators;
+#X obj 98 548 pddp/pddplink otherbinops-help.pd;
+#X obj 98 568 pddp/pddplink math-help.pd;
+#X text 217 568 - higher math objects;
 #X connect 15 0 17 0;
 #X connect 17 0 14 0;
diff --git a/doc/pddp/math-help.pd b/doc/pddp/math-help.pd
index b09104791..ae00e7fef 100644
--- a/doc/pddp/math-help.pd
+++ b/doc/pddp/math-help.pd
@@ -1,9 +1,9 @@
-#N canvas 432 35 555 619 10;
+#N canvas 406 25 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header (math_functions)
 3 12 0 18 -204280 -1 0;
-#X obj 0 325 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 315 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 488 281 494 344 META 0;
 #X text 12 85 LIBRARY internal;
@@ -19,11 +19,11 @@ Pd. Revised by Jonathan Wilkes to conform to the PDDP template.;
 #X text 12 145 RELEASE_DATE 1997;
 #X text 12 25 KEYWORDS control trigonometry;
 #X restore 500 597 pd META;
-#X obj 0 448 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 438 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 484 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 474 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 532 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 522 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
 #N canvas 219 515 428 109 Related_objects 0;
 #X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
@@ -37,12 +37,12 @@ Pd. Revised by Jonathan Wilkes to conform to the PDDP template.;
 #X obj 210 42 sqrt~;
 #X obj 254 42 pow~;
 #X restore 102 598 pd Related_objects;
-#X obj 78 334 cnv 17 3 60 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 324 cnv 17 3 60 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 333 float;
-#X text 98 352 list;
-#X text 98 456 float;
-#X obj 78 457 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 323 float;
+#X text 98 342 list;
+#X text 98 446 float;
+#X obj 78 447 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X text 11 23 higher math in Pd;
 #X obj 249 12 sin;
@@ -55,46 +55,78 @@ Pd. Revised by Jonathan Wilkes to conform to the PDDP template.;
 #X obj 456 12 abs;
 #X obj 484 12 sqrt;
 #X obj 519 12 pow;
-#X text 123 139 For individual help patches \, follow the links below:
-;
-#X obj 252 87 sin;
-#X floatatom 252 61 5 0 0 0 - - -, f 5;
-#X floatatom 252 114 5 0 0 0 - - -, f 5;
-#X text 168 333 - the incoming value;
-#X text 168 352 - a list will be truncated.;
-#X obj 124 171 sin;
-#X obj 124 201 cos;
-#X obj 124 231 tan;
-#X obj 124 261 atan;
-#X obj 124 291 atan2;
-#X obj 314 171 exp;
-#X obj 314 201 log;
-#X obj 314 231 abs;
-#X obj 314 261 sqrt;
-#X obj 314 291 pow;
-#X obj 169 171 pddp/pddplink sin-help.pd;
-#X obj 169 201 pddp/pddplink cos-help.pd;
-#X obj 169 231 pddp/pddplink tan-help.pd;
-#X obj 169 261 pddp/pddplink atan-help.pd;
-#X obj 169 291 pddp/pddplink atan2-help.pd;
-#X obj 359 171 pddp/pddplink exp-help.pd;
-#X obj 359 201 pddp/pddplink log-help.pd;
-#X obj 359 231 pddp/pddplink abs-help.pd;
-#X obj 359 261 pddp/pddplink sqrt-help.pd;
-#X obj 359 291 pddp/pddplink pow-help.pd;
-#X text 168 456 - the outgoing value.;
-#X text 98 488 The [pow] object accepts one float argument to initialize
+#X obj 72 117 sin;
+#X floatatom 72 91 5 0 0 0 - - -, f 5;
+#X floatatom 72 144 5 0 0 0 - - -, f 5;
+#X text 168 323 - the incoming value;
+#X text 168 342 - a list will be truncated.;
+#X text 168 446 - the outgoing value.;
+#X text 98 478 The [pow] object accepts one float argument to initialize
 the right inlet. All other math functions listed here take no arguments.
 ;
-#X text 217 551 - binary arithmetic operators;
-#X obj 98 551 pddp/pddplink operators-help.pd;
-#X text 217 571 - relational and logical operators;
-#X obj 98 571 pddp/pddplink otherbinops-help.pd;
-#X text 98 369 (The [pow] object takes a bang \, which will output
+#X text 217 541 - binary arithmetic operators;
+#X obj 98 541 pddp/pddplink operators-help.pd;
+#X text 217 561 - relational and logical operators;
+#X obj 98 561 pddp/pddplink otherbinops-help.pd;
+#X text 98 359 (The [pow] object takes a bang \, which will output
 the previous value.);
-#X text 97 403 (Note: The [atan2] and [pow] objects have a right inlet.
+#X text 97 393 (Note: The [atan2] and [pow] objects have a right inlet.
 See their respective help patches (links above) for more info.);
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
-#X connect 25 0 27 0;
-#X connect 26 0 25 0;
+#X floatatom 142 91 5 0 0 0 - - -, f 5;
+#X floatatom 142 144 5 0 0 0 - - -, f 5;
+#X floatatom 212 91 5 0 0 0 - - -, f 5;
+#X floatatom 212 144 5 0 0 0 - - -, f 5;
+#X floatatom 282 91 5 0 0 0 - - -, f 5;
+#X floatatom 282 144 5 0 0 0 - - -, f 5;
+#X floatatom 352 91 5 0 0 0 - - -, f 5;
+#X floatatom 352 144 5 0 0 0 - - -, f 5;
+#X floatatom 72 201 5 0 0 0 - - -, f 5;
+#X floatatom 72 254 5 0 0 0 - - -, f 5;
+#X floatatom 142 201 5 0 0 0 - - -, f 5;
+#X floatatom 142 254 5 0 0 0 - - -, f 5;
+#X floatatom 212 201 5 0 0 0 - - -, f 5;
+#X floatatom 212 254 5 0 0 0 - - -, f 5;
+#X floatatom 282 201 5 0 0 0 - - -, f 5;
+#X floatatom 282 254 5 0 0 0 - - -, f 5;
+#X floatatom 352 201 5 0 0 0 - - -, f 5;
+#X floatatom 352 254 5 0 0 0 - - -, f 5;
+#X obj 142 117 cos;
+#X obj 212 117 tan;
+#X obj 282 117 atan;
+#X obj 352 117 atan2;
+#X obj 72 227 exp;
+#X obj 142 227 log;
+#X obj 212 227 abs;
+#X obj 282 227 sqrt;
+#X obj 352 227 pow;
+#X floatatom 392 201 5 0 0 0 - - -, f 5;
+#X floatatom 392 91 5 0 0 0 - - -, f 5;
+#X floatatom 442 201 5 0 0 0 - - -, f 5;
+#X floatatom 442 254 5 0 0 0 - - -, f 5;
+#X obj 442 227 wrap;
+#X connect 24 0 26 0;
+#X connect 25 0 24 0;
+#X connect 38 0 56 0;
+#X connect 40 0 57 0;
+#X connect 42 0 58 0;
+#X connect 44 0 59 0;
+#X connect 46 0 60 0;
+#X connect 48 0 61 0;
+#X connect 50 0 62 0;
+#X connect 52 0 63 0;
+#X connect 54 0 64 0;
+#X connect 56 0 39 0;
+#X connect 57 0 41 0;
+#X connect 58 0 43 0;
+#X connect 59 0 45 0;
+#X connect 60 0 47 0;
+#X connect 61 0 49 0;
+#X connect 62 0 51 0;
+#X connect 63 0 53 0;
+#X connect 64 0 55 0;
+#X connect 65 0 64 1;
+#X connect 66 0 59 1;
+#X connect 67 0 69 0;
+#X connect 69 0 68 0;
diff --git a/doc/pddp/pow-help.pd b/doc/pddp/pow-help.pd
index bd5458023..a79b89422 100644
--- a/doc/pddp/pow-help.pd
+++ b/doc/pddp/pow-help.pd
@@ -1,9 +1,9 @@
-#N canvas 428 33 555 619 10;
+#N canvas 430 26 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header pow 3 12 0 18 -204280
 -1 0;
-#X obj 0 401 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 341 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 481 262 494 368 META 0;
 #X text 12 125 LIBRARY internal;
@@ -22,11 +22,11 @@ for Pd version 0.42.;
 #X text 12 105 OUTLET_0 float;
 #X text 12 185 RELEASE_DATE 1997;
 #X restore 500 597 pd META;
-#X obj 0 487 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 427 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 524 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 464 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 568 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 508 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
 #N canvas 216 516 428 109 Related_objects 0;
 #X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
@@ -45,12 +45,12 @@ for Pd version 0.42.;
 #X text 8 2 [pow] Related Objects;
 #X obj 266 43 sqrt;
 #X restore 102 597 pd Related_objects;
-#X obj 78 410 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 350 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 409 float;
-#X text 98 429 list;
-#X text 98 495 float;
-#X obj 78 496 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 349 float;
+#X text 98 369 list;
+#X text 98 435 float;
+#X obj 78 436 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X floatatom 179 187 0 0 0 0 - - -;
 #X floatatom 179 130 0 0 0 0 - - -;
@@ -58,16 +58,16 @@ for Pd version 0.42.;
 #X text 103 221 [pow] is used to exponentiate a number. 2 to the power
 of 2 = 4 . The right inlet or creation argument is the exponent while
 the left inlet is the base.;
-#X obj 78 460 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
+#X obj 78 400 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
 -162280 0;
-#X text 98 459 float;
+#X text 98 399 float;
 #X obj 516 11 pow;
 #X text 11 23 exponential function;
-#X text 168 407 - base.;
-#X text 168 459 - exponent.;
-#X text 78 544 1) float;
-#X text 168 544 - initializes the right inlet (exponent).;
-#X text 168 427 - a (base \, exponent) pair will be distributed to
+#X text 168 347 - base.;
+#X text 168 399 - exponent.;
+#X text 78 484 1) float;
+#X text 168 484 - initializes the right inlet (exponent).;
+#X text 168 367 - a (base \, exponent) pair will be distributed to
 the two inlets.;
 #X floatatom 229 130 0 0 0 0 - - -;
 #X obj 332 161 pow 3;
@@ -76,6 +76,12 @@ the two inlets.;
 #X floatatom 367 131 5 0 0 0 - - -, f 5;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 215 528 - binary arithmetic operators;
+#X obj 96 528 pddp/pddplink operators-help.pd;
+#X text 215 548 - relational and logical operators;
+#X obj 96 548 pddp/pddplink otherbinops-help.pd;
+#X obj 96 568 pddp/pddplink math-help.pd;
+#X text 215 568 - higher math objects;
 #X connect 14 0 15 0;
 #X connect 15 0 13 0;
 #X connect 26 0 15 1;
diff --git a/doc/pddp/sin-help.pd b/doc/pddp/sin-help.pd
index d736ad4ec..6ef376bda 100644
--- a/doc/pddp/sin-help.pd
+++ b/doc/pddp/sin-help.pd
@@ -1,9 +1,9 @@
-#N canvas 429 34 555 619 10;
+#N canvas 430 59 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header sin 3 12 0 18 -204280
 -1 0;
-#X obj 0 438 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 388 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 483 284 494 344 META 0;
 #X text 12 105 LIBRARY internal;
@@ -21,13 +21,13 @@ for Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 165 RELEASE_DATE 1997;
 #X restore 500 597 pd META;
-#X obj 0 503 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 453 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 540 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 490 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 567 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 517 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 544 (none);
+#X text 98 494 (none);
 #N canvas 215 517 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;
@@ -45,12 +45,12 @@ for Pd version 0.42.;
 #X obj 23 76 expr;
 #X text 8 2 [sin] Related Objects;
 #X restore 102 597 pd Related_objects;
-#X obj 78 447 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 397 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 446 float;
-#X text 98 466 list;
-#X text 98 511 float;
-#X obj 78 512 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 396 float;
+#X text 98 416 list;
+#X text 98 461 float;
+#X obj 78 462 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X obj 518 11 sin;
 #X floatatom 396 171 0 0 0 0 - - -;
@@ -76,10 +76,16 @@ of an angle.;
 #X text 83 270 [sin] and [cos] will return numbers between -1 and 1:
 the sine and cosine of a number repectively.;
 #X text 11 23 sine function;
-#X text 168 466 - a list will be truncated \, and the first element
+#X text 168 416 - a list will be truncated \, and the first element
 will be used as input.;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 216 530 - binary arithmetic operators;
+#X obj 97 530 pddp/pddplink operators-help.pd;
+#X text 216 550 - relational and logical operators;
+#X obj 97 550 pddp/pddplink otherbinops-help.pd;
+#X obj 97 570 pddp/pddplink math-help.pd;
+#X text 216 570 - higher math objects;
 #X connect 17 0 19 0;
 #X connect 18 0 21 0;
 #X connect 20 0 25 0;
diff --git a/doc/pddp/sqrt-help.pd b/doc/pddp/sqrt-help.pd
index 3f2fa6517..d223baa08 100644
--- a/doc/pddp/sqrt-help.pd
+++ b/doc/pddp/sqrt-help.pd
@@ -1,9 +1,9 @@
-#N canvas 429 33 555 619 10;
+#N canvas 394 32 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header sqrt 3 12 0 18 -204280
 -1 0;
-#X obj 0 442 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 392 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 484 284 494 344 META 0;
 #X text 12 105 LIBRARY internal;
@@ -21,13 +21,13 @@ for Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 165 RELEASE_DATE 1997;
 #X restore 500 597 pd META;
-#X obj 0 504 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 454 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 541 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 491 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 568 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 518 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 545 (none);
+#X text 98 495 (none);
 #N canvas 214 516 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;
@@ -45,12 +45,12 @@ for Pd version 0.42.;
 #X text 8 2 [sqrt] Related Objects;
 #X obj 237 43 abs;
 #X restore 102 597 pd Related_objects;
-#X obj 78 451 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 401 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 450 float;
-#X text 98 470 list;
-#X text 98 512 float;
-#X obj 78 513 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 400 float;
+#X text 98 420 list;
+#X text 98 462 float;
+#X obj 78 463 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
 #X floatatom 239 217 0 0 0 0 - - -;
 #X floatatom 239 160 0 0 0 0 - - -;
@@ -59,9 +59,15 @@ for Pd version 0.42.;
 #X text 115 249 [sqrt] will output the square root of a number. Negative
 numbers are ignored.;
 #X text 11 23 square root;
-#X text 168 470 - a list will be truncated \, and the first element
+#X text 168 420 - a list will be truncated \, and the first element
 will be used as input.;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 219 531 - binary arithmetic operators;
+#X obj 100 531 pddp/pddplink operators-help.pd;
+#X text 219 551 - relational and logical operators;
+#X obj 100 551 pddp/pddplink otherbinops-help.pd;
+#X obj 100 571 pddp/pddplink math-help.pd;
+#X text 219 571 - higher math objects;
 #X connect 15 0 17 0;
 #X connect 17 0 14 0;
diff --git a/doc/pddp/tan-help.pd b/doc/pddp/tan-help.pd
index 60df7fb1c..b56b9ef0e 100644
--- a/doc/pddp/tan-help.pd
+++ b/doc/pddp/tan-help.pd
@@ -1,9 +1,9 @@
-#N canvas 430 34 555 619 10;
+#N canvas 431 59 555 619 10;
 #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
 14 -228856 -66577 0;
 #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header tan 3 12 0 18 -204280
 -1 0;
-#X obj 0 437 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+#X obj 0 387 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
 -228856 -1 0;
 #N canvas 484 266 494 360 META 0;
 #X text 12 105 LIBRARY internal;
@@ -21,13 +21,13 @@ for Pd version 0.42.;
 #X text 12 85 OUTLET_0 float;
 #X text 12 165 RELEASE_DATE 1997;
 #X restore 500 597 pd META;
-#X obj 0 499 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 449 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
 13 -228856 -1 0;
-#X obj 0 536 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 486 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
 0 13 -228856 -1 0;
-#X obj 0 564 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 514 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
 0 13 -228856 -1 0;
-#X text 98 540 (none);
+#X text 98 490 (none);
 #N canvas 211 513 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;
@@ -45,41 +45,47 @@ for Pd version 0.42.;
 #X obj 49 43 cos;
 #X text 8 2 [tan] Related Objects;
 #X restore 102 597 pd Related_objects;
-#X obj 78 446 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 396 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X text 98 445 float;
-#X text 98 465 list;
-#X text 98 507 float;
-#X obj 78 508 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 395 float;
+#X text 98 415 list;
+#X text 98 457 float;
+#X obj 78 458 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
 -162280 0;
-#X floatatom 396 201 0 0 0 0 - - -;
-#X floatatom 303 202 0 0 0 0 - - -;
-#X obj 210 167 sin;
-#X floatatom 87 122 0 0 0 0 - - -;
-#X floatatom 210 201 0 0 0 0 - - -;
-#X obj 87 162 * 6.28319;
-#X obj 87 142 / 360;
-#X obj 303 168 cos;
-#X obj 396 167 tan;
-#X text 150 162 2 x Pi;
-#X floatatom 87 182 0 0 0 0 - - -;
-#X text 150 182 Radian;
-#X obj 87 202 s radians;
-#X obj 210 141 r radians;
-#X text 84 239 Trigonometry functions take input in Radians. To find
+#X floatatom 396 181 0 0 0 0 - - -;
+#X floatatom 303 182 0 0 0 0 - - -;
+#X obj 210 147 sin;
+#X floatatom 87 102 0 0 0 0 - - -;
+#X floatatom 210 181 0 0 0 0 - - -;
+#X obj 87 142 * 6.28319;
+#X obj 87 122 / 360;
+#X obj 303 148 cos;
+#X obj 396 147 tan;
+#X text 150 142 2 x Pi;
+#X floatatom 87 162 0 0 0 0 - - -;
+#X text 150 162 Radian;
+#X obj 87 182 s radians;
+#X obj 210 121 r radians;
+#X text 84 219 Trigonometry functions take input in Radians. To find
 a radian \, simply divide a number by 360 (to make it a fraction of
 a circle) and multiply it by 2(Pi) where Pi is equal to approximately
 3.14159265.;
-#X text 83 326 [tan] will produce a number which represents the tangent
+#X text 83 306 [tan] will produce a number which represents the tangent
 of an angle.;
-#X text 83 300 [sin] and [cos] will return numbers between -1 and 1:
+#X text 83 280 [sin] and [cos] will return numbers between -1 and 1:
 the sine and cosine of a number repectively.;
 #X obj 515 10 tan;
 #X text 11 23 tangent function;
-#X text 148 465 - a list will be truncated \, and the first element
+#X text 148 415 - a list will be truncated \, and the first element
 will be used as input.;
 #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
 ;
+#X text 216 529 - binary arithmetic operators;
+#X obj 97 529 pddp/pddplink operators-help.pd;
+#X text 216 549 - relational and logical operators;
+#X obj 97 549 pddp/pddplink otherbinops-help.pd;
+#X obj 97 569 pddp/pddplink math-help.pd;
+#X text 216 569 - higher math objects;
 #X connect 16 0 18 0;
 #X connect 17 0 20 0;
 #X connect 19 0 24 0;
diff --git a/doc/pddp/wrap-help.pd b/doc/pddp/wrap-help.pd
new file mode 100644
index 000000000..eed316b20
--- /dev/null
+++ b/doc/pddp/wrap-help.pd
@@ -0,0 +1,65 @@
+#N canvas 368 34 555 619 10;
+#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header wrap 3 12 0 18 -204280
+-1 0;
+#X obj 0 398 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+-228856 -1 0;
+#N canvas 491 283 494 344 META 0;
+#X text 12 105 LIBRARY internal;
+#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 125 AUTHOR Miller Puckette;
+#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version 0.33. Jonathan
+Wilkes revised the patch to conform to the PDDP template for Pd version
+0.42.;
+#X text 12 45 DESCRIPTION remainder modulo 1;
+#X text 12 65 INLET_0 signal;
+#X text 12 85 OUTLET_0 signal;
+#X text 12 165 RELEASE_DATE 1997;
+#X text 12 5 KEYWORDS control;
+#X restore 500 597 pd META;
+#X obj 0 453 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+13 -228856 -1 0;
+#X obj 0 490 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+0 13 -228856 -1 0;
+#X obj 0 518 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+0 13 -228856 -1 0;
+#X text 98 494 (none);
+#N canvas 214 518 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 text 8 2 [wrap] Related Objects;
+#X obj 22 43 wrap~;
+#X restore 102 597 pd Related_objects;
+#X obj 78 407 cnv 17 3 35 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X obj 78 462 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X floatatom 78 171 0 0 0 0 - - -;
+#X floatatom 78 225 0 0 0 0 - - -;
+#X text 117 171 <- shift-drag here to get non-integers to try;
+#X text 98 407 float;
+#X text 98 427 list;
+#X text 168 427 - a list will be truncated to the first item.;
+#X text 98 461 signal;
+#X text 11 23 remainder modulo 1;
+#X text 168 407 - a float will automatically be converted to a signal.
+;
+#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
+;
+#X obj 482 55 pddp/dsp;
+#X obj 78 198 wrap;
+#X text 78 252 [wrap] gives the difference between the input and the
+largest integer not exceeding it (for positive numbers this is the
+fractional part).;
+#X obj 509 10 wrap;
+#X obj 219 101 helplink math;
+#X text 218 530 - binary arithmetic operators;
+#X obj 99 530 pddp/pddplink operators-help.pd;
+#X text 218 550 - relational and logical operators;
+#X obj 99 550 pddp/pddplink otherbinops-help.pd;
+#X obj 99 570 pddp/pddplink math-help.pd;
+#X text 218 570 - higher math objects;
+#X connect 11 0 22 0;
+#X connect 22 0 12 0;
diff --git a/pd/src/x_arithmetic.c b/pd/src/x_arithmetic.c
index a5a4627ba..1f6600178 100644
--- a/pd/src/x_arithmetic.c
+++ b/pd/src/x_arithmetic.c
@@ -792,21 +792,18 @@ void x_arithmetic_setup(void)
         sizeof(t_binop), 0, A_DEFFLOAT, 0);
     class_addbang(binop1_pow_class, binop1_pow_bang);
     class_addfloat(binop1_pow_class, (t_method)binop1_pow_float);
-    class_sethelpsymbol(binop1_pow_class, binop1_sym);
 
     binop1_max_class = class_new(gensym("max"),
         (t_newmethod)binop1_max_new, 0,
         sizeof(t_binop), 0, A_DEFFLOAT, 0);
     class_addbang(binop1_max_class, binop1_max_bang);
     class_addfloat(binop1_max_class, (t_method)binop1_max_float);
-    class_sethelpsymbol(binop1_max_class, binop1_sym);
 
     binop1_min_class = class_new(gensym("min"),
         (t_newmethod)binop1_min_new, 0,
         sizeof(t_binop), 0, A_DEFFLOAT, 0);
     class_addbang(binop1_min_class, binop1_min_bang);
     class_addfloat(binop1_min_class, (t_method)binop1_min_float);
-    class_sethelpsymbol(binop1_min_class, binop1_sym);
 
         /* ------------------ binop2 ----------------------- */
 
@@ -907,52 +904,42 @@ void x_arithmetic_setup(void)
     sin_class = class_new(gensym("sin"), sin_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(sin_class, (t_method)sin_float);
-    class_sethelpsymbol(sin_class, math_sym);
     
     cos_class = class_new(gensym("cos"), cos_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(cos_class, (t_method)cos_float);
-    class_sethelpsymbol(cos_class, math_sym);
     
     tan_class = class_new(gensym("tan"), tan_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(tan_class, (t_method)tan_float);
-    class_sethelpsymbol(tan_class, math_sym);
 
     atan_class = class_new(gensym("atan"), atan_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(atan_class, (t_method)atan_float);
-    class_sethelpsymbol(atan_class, math_sym);
 
     atan2_class = class_new(gensym("atan2"), atan2_new, 0,
         sizeof(t_atan2), 0, 0);
     class_addfloat(atan2_class, (t_method)atan2_float);    
-    class_sethelpsymbol(atan2_class, math_sym);
 
     sqrt_class = class_new(gensym("sqrt"), sqrt_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(sqrt_class, (t_method)sqrt_float);
-    class_sethelpsymbol(sqrt_class, math_sym);
 
     log_class = class_new(gensym("log"), log_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(log_class, (t_method)log_float);    
-    class_sethelpsymbol(log_class, math_sym);
 
     exp_class = class_new(gensym("exp"), exp_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(exp_class, (t_method)exp_float);
-    class_sethelpsymbol(exp_class, math_sym);
 
     abs_class = class_new(gensym("abs"), abs_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(abs_class, (t_method)abs_float);    
-    class_sethelpsymbol(abs_class, math_sym);
 
     wrap_class = class_new(gensym("wrap"), wrap_new, 0,
         sizeof(t_object), 0, 0);
     class_addfloat(wrap_class, (t_method)wrap_float);    
-    class_sethelpsymbol(wrap_class, math_sym);
 
 /* ------------------------  misc ------------------------ */
 
-- 
GitLab