#N canvas 1269 129 825 548 12;
#N canvas 609 14 1751 1281 computeDecimalRange 0;
#X obj 66 52 inlet;
#X obj 1029 1092 outlet;
#X obj 66 162 makefilename \ %s;
#X obj 66 189 fudiformat -u;
#X obj 109 519 list length;
#X obj 109 544 s \$0-nrChars;
#X obj 89 573 array set \$0-workBuffer;
#X obj 66 627 until;
#X obj 66 216 t b l b;
#X obj 66 656 v \$0-currIndex;
#X obj 66 683 tabread \$0-workBuffer;
#X obj 119 732 moses 58;
#X text 192 731 ':' (char after '9');
#X obj 98 602 r \$0-firstDigitFound;
#X obj 213 795 t b b;
#X obj 245 826 s \$0-firstDigitFound;
#X obj 213 852 v \$0-currIndex;
#X obj 245 902 v \$0-startOfDigits;
#X obj 105 845 bang;
#X obj 66 876 v \$0-currIndex;
#X obj 178 274 array define \$0-workBuffer 30;
#X msg 66 602 20;
#X obj 519 148 until;
#X obj 519 177 v \$0-currIndex;
#X obj 519 204 tabread \$0-workBuffer;
#X msg 519 123 20;
#X obj 213 932 + 1;
#X obj 238 1077 v \$0-currIndex;
#X obj 245 932 r \$0-nrChars;
#X obj 284 1022 v \$0-endOfDigits;
#X obj 551 123 r \$0-lastDigitFound;
#X obj 213 958 moses;
#X obj 519 587 t b b;
#X obj 551 645 v \$0-currIndex;
#X obj 572 618 s \$0-lastDigitFound;
#X obj 551 674 v \$0-endOfDigits;
#X obj 576 268 bang;
#X obj 252 996 t b f;
#X obj 252 1048 s \$0-computeNrDigits;
#X obj 519 702 s \$0-computeNrDigits;
#X obj 1011 92 r \$0-computeNrDigits;
#X obj 576 369 v \$0-currIndex;
#X obj 1011 121 t b b;
#X obj 1011 178 v \$0-endOfDigits;
#X obj 1043 149 v \$0-startOfDigits;
#X obj 1011 207 -;
#X obj 1440 39 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1439 297 array get \$0-workBuffer;
#X obj 1439 321 print;
#X obj 1493 68 v \$0-currIndex;
#X floatatom 1493 92 5 0 0 0 - - - 0;
#X obj 1486 177 v \$0-endOfDigits;
#X obj 1494 122 v \$0-startOfDigits;
#X floatatom 1494 146 5 0 0 0 - - - 0;
#X floatatom 1486 201 5 0 0 0 - - - 0;
#X obj 519 232 sel 101 69 46;
#X text 624 231 'e' \, 'E' \, or '.';
#X obj 616 264 t b b;
#X msg 144 282 0;
#X obj 144 335 s \$0-dotSeen;
#X obj 648 343 s \$0-dotSeen;
#X msg 648 289 1;
#X obj 1011 235 -;
#X obj 66 78 unpack s f;
#X msg 1066 812 1;
#X msg 1100 812 0;
#N canvas 134 64 2117 1222 findBoundary 0;
#X obj 145 115 inlet;
#X obj 163 1139 outlet;
#X obj 145 146 t f b;
#X text 127 84 0 = lower bound \, 1 = upper bound;
#X obj 177 283 tabread \$0-workBuffer;
#X msg 177 256 9;
#X text 221 308 '-';
#X obj 177 307 == 45;
#X obj 177 331 * 2;
#X obj 145 357 +;
#X obj 187 411 sel 0 1 2 3;
#X text 276 410 pos/l \, pos/u \, neg/l \, neg/u;
#X obj 220 232 array get \$0-workBuffer;
#X obj 220 256 s \$0-bufferSnapshot;
#X obj 231 979 r \$0-bufferSnapshot;
#X obj 206 1006 list;
#X obj 727 164 v \$0-endOfDigits;
#X obj 727 190 - 1;
#X obj 727 216 v \$0-currIndex;
#X msg 704 248 10;
#X obj 704 274 until;
#X obj 741 248 r \$0-decrDone;
#X obj 704 299 v \$0-currIndex;
#X obj 704 513 tabread \$0-workBuffer;
#X obj 704 539 sel 46;
#X text 758 539 '.';
#X obj 743 565 - 1;
#X obj 743 589 sel 47;
#X text 789 589 '0' - 1;
#X msg 723 614 57;
#X obj 766 682 tabwrite \$0-workBuffer;
#X obj 704 487 t f f;
#X text 750 613 '9';
#X obj 723 640 t b f;
#X obj 704 712 v \$0-currIndex;
#X obj 704 736 - 1;
#X obj 704 762 v \$0-currIndex;
#X obj 782 623 t b f;
#X obj 782 650 s \$0-decrDone;
#X obj 704 376 sel 1;
#X obj 704 460 v \$0-currIndex;
#X obj 681 115 r \$0-decrBuffer;
#X obj 1147 115 r \$0-incrBuffer;
#X obj 145 561 until;
#X obj 182 535 r \$0-boundaryFound;
#X obj 145 675 array get \$0-workBuffer;
#X obj 145 702 fudiparse;
#X obj 145 757 f;
#X obj 145 816 sel;
#X obj 195 869 s \$0-boundaryFound;
#X obj 163 841 t b b;
#X obj 206 1030 array set \$0-workBuffer;
#X obj 168 648 s;
#X obj 1193 216 v \$0-currIndex;
#X msg 1170 248 10;
#X obj 1170 274 until;
#X obj 1170 299 v \$0-currIndex;
#X obj 1170 513 tabread \$0-workBuffer;
#X obj 1170 539 sel 46;
#X text 1224 539 '.';
#X obj 1232 682 tabwrite \$0-workBuffer;
#X obj 1170 487 t f f;
#X obj 1189 640 t b f;
#X obj 1170 712 v \$0-currIndex;
#X obj 1170 736 - 1;
#X obj 1170 762 v \$0-currIndex;
#X obj 1248 623 t b f;
#X obj 1170 376 sel 1;
#X obj 1170 460 v \$0-currIndex;
#X obj 1207 248 r \$0-incrDone;
#X obj 1209 565 + 1;
#X msg 1189 614 48;
#X text 1216 613 '0';
#X text 1255 589 '9' + 1;
#X obj 1248 650 s \$0-incrDone;
#X obj 1209 589 sel 58;
#X obj 1193 164 v \$0-endOfDigits;
#X obj 1193 190 - 1;
#X obj 1170 352 >=;
#X obj 234 449 f \$0;
#X msg 234 475 symbol \$1-incrBuffer;
#X obj 187 475 f \$0;
#X msg 187 501 symbol \$1-decrBuffer;
#X text 114 22 Decrement or increment the number in the workBuffer until the value changes in order to find the upper or lower bound;
#X obj 209 623 array get \$0-workBuffer;
#X obj 145 385 t b f;
#X obj 145 585 t b b b;
#X obj 163 921 list;
#X obj 163 979 t l b;
#X obj 209 647 s \$0-lastBoundary;
#X obj 188 894 r \$0-lastBoundary;
#X msg 145 535 10;
#X obj 736 430 s \$0-decrDone;
#X obj 736 403 bang;
#X obj 1202 403 bang;
#X obj 1202 430 s \$0-incrDone;
#X obj 681 139 t b b b;
#X obj 1147 139 t b b b;
#X obj 504 599 v \$0-currIndex;
#X obj 536 649 v \$0-startOfDigits;
#X obj 543 683 tabread \$0-workBuffer;
#X obj 543 707 == 48;
#X text 588 707 '0';
#X obj 514 743 &&;
#X obj 514 767 sel 1;
#X obj 504 623 t f b;
#X obj 969 599 v \$0-currIndex;
#X obj 504 708 ==;
#X obj 1556 175 array get \$0-workBuffer;
#X obj 1489 322 list store;
#X obj 1489 346 array set \$0-workBuffer;
#X obj 1529 201 v \$0-startOfDigits;
#X text 1620 226 '1';
#X msg 1529 225 insert \$1 49;
#X obj 1509 262 v \$0-endOfDigits;
#X obj 1489 148 t b b b b;
#X msg 1513 290 set \$1 0;
#X obj 969 652 moses;
#X obj 1001 847 s \$0-sgnfDigitAdded;
#X obj 969 908 s \$0-prepend1;
#X obj 1001 755 tabread \$0-workBuffer;
#X obj 1001 779 == 49;
#X text 1046 779 '1';
#X obj 1001 803 sel 1;
#X obj 1489 115 r \$0-prepend1;
#X obj 1802 115 r \$0-sgnfDigitAdded;
#X obj 722 325 r \$0-firstDigit;
#X obj 1188 325 r \$0-firstDigit;
#X obj 704 352 >=;
#X obj 1001 626 r \$0-firstDigit;
#X text 978 871 currIndex < 9 or 10 \; implies first digit turned '0';
#X obj 1001 677 t f b;
#X obj 1033 702 v \$0-startOfDigits;
#X obj 1001 729 moses;
#X text 1006 826 currIndex == startOfDigits - 1 && first digit == '1';
#X obj 1869 175 array get \$0-workBuffer;
#X obj 1802 322 list store;
#X obj 1802 346 array set \$0-workBuffer;
#X obj 1825 206 v \$0-endOfDigits;
#X msg 1825 290 set \$1 0;
#X obj 1825 233 - 1;
#X obj 1841 259 v \$0-endOfDigits;
#X obj 1802 148 t b b b;
#X obj 221 183 v \$0-endOfDigits;
#X obj 221 207 s \$0-EODSnapshot;
#X obj 213 1058 r \$0-EODSnapshot;
#X obj 195 1084 f;
#X obj 195 1109 v \$0-endOfDigits;
#X obj 211 758 print boundaryCandidate;
#X obj 165 730 t s s;
#X text 584 794 most sgnf digit turned 0;
#X obj 581 821 array get \$0-workBuffer;
#X obj 514 1105 list store;
#X obj 514 1132 array set \$0-workBuffer;
#X obj 534 989 v \$0-endOfDigits;
#X obj 550 1042 v \$0-endOfDigits;
#X obj 550 1016 + 1;
#X text 627 1073 '9';
#X msg 534 1073 insert \$1 57;
#X text 221 731 INSERT FOR DEBUGGING;
#X text 1148 847 goto;
#X text 1077 907 goto;
#X obj 514 794 t b b b b;
#X obj 593 850 r \$0-dotSeen;
#X obj 554 902 spigot;
#X obj 554 928 v \$0-endOfDigits;
#X obj 593 876 == 0;
#X msg 554 959 insert \$1 46;
#X obj 474 990 + 1;
#X text 651 959 '.';
#X obj 163 787 r \$0-value;
#N canvas 797 169 535 569 removeLeadingZero 0;
#X obj 86 42 inlet;
#X obj 86 462 outlet;
#X obj 86 78 t l b;
#X obj 118 104 v \$0-firstDigit;
#X obj 118 131 t f f;
#X obj 118 155 + 1;
#X obj 118 180 tabread \$0-workBuffer;
#X obj 284 180 tabread \$0-workBuffer;
#X obj 284 204 == 48;
#X text 331 204 '0';
#X obj 118 204 != 46;
#X text 162 203 '.';
#X obj 201 240 &&;
#X obj 86 269 list prepend;
#X obj 86 293 route 0 1;
#X obj 116 413 list store;
#X obj 139 350 v \$0-firstDigit;
#X obj 116 321 t b b l;
#X msg 139 374 delete \$1;
#X connect 0 0 2 0;
#X connect 2 0 13 0;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 7 0;
#X connect 5 0 6 0;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 8 0 12 1;
#X connect 10 0 12 0;
#X connect 12 0 13 1;
#X connect 13 0 14 0;
#X connect 14 0 1 0;
#X connect 14 1 17 0;
#X connect 15 0 1 0;
#X connect 16 0 18 0;
#X connect 17 0 15 0;
#X connect 17 1 16 0;
#X connect 17 2 15 1;
#X connect 18 0 15 0;
#X restore 163 950 pd removeLeadingZero;
#X connect 0 0 2 0;
#X connect 2 0 9 0;
#X connect 2 1 12 0;
#X connect 2 1 143 0;
#X connect 2 1 5 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 9 1;
#X connect 9 0 85 0;
#X connect 10 0 81 0;
#X connect 10 1 79 0;
#X connect 10 2 79 0;
#X connect 10 3 81 0;
#X connect 12 0 13 0;
#X connect 14 0 15 1;
#X connect 15 0 51 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 19 0 20 0;
#X connect 20 0 22 0;
#X connect 21 0 20 1;
#X connect 22 0 128 0;
#X connect 23 0 24 0;
#X connect 24 0 34 0;
#X connect 24 1 26 0;
#X connect 26 0 27 0;
#X connect 27 0 29 0;
#X connect 27 1 37 0;
#X connect 29 0 33 0;
#X connect 31 0 23 0;
#X connect 31 1 30 1;
#X connect 33 0 34 0;
#X connect 33 1 30 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 37 0 38 0;
#X connect 37 1 30 0;
#X connect 39 0 40 0;
#X connect 39 1 93 0;
#X connect 40 0 31 0;
#X connect 41 0 96 0;
#X connect 42 0 97 0;
#X connect 43 0 86 0;
#X connect 44 0 43 1;
#X connect 45 0 46 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 48 1 50 0;
#X connect 50 0 87 0;
#X connect 50 1 49 0;
#X connect 54 0 55 0;
#X connect 55 0 56 0;
#X connect 56 0 78 0;
#X connect 57 0 58 0;
#X connect 58 0 63 0;
#X connect 58 1 70 0;
#X connect 61 0 57 0;
#X connect 61 1 60 1;
#X connect 62 0 63 0;
#X connect 62 1 60 0;
#X connect 63 0 64 0;
#X connect 64 0 65 0;
#X connect 66 0 74 0;
#X connect 66 1 60 0;
#X connect 67 0 68 0;
#X connect 67 1 94 0;
#X connect 68 0 61 0;
#X connect 69 0 55 1;
#X connect 70 0 75 0;
#X connect 71 0 62 0;
#X connect 75 0 71 0;
#X connect 75 1 66 0;
#X connect 76 0 77 0;
#X connect 77 0 53 0;
#X connect 78 0 67 0;
#X connect 79 0 80 0;
#X connect 80 0 52 1;
#X connect 81 0 82 0;
#X connect 82 0 52 1;
#X connect 84 0 89 0;
#X connect 85 0 91 0;
#X connect 85 1 10 0;
#X connect 86 0 45 0;
#X connect 86 1 52 0;
#X connect 86 2 84 0;
#X connect 87 0 171 0;
#X connect 88 0 1 0;
#X connect 88 1 15 0;
#X connect 88 1 146 0;
#X connect 90 0 87 1;
#X connect 91 0 43 0;
#X connect 93 0 92 0;
#X connect 94 0 95 0;
#X connect 96 0 98 0;
#X connect 96 1 19 0;
#X connect 96 2 16 0;
#X connect 97 0 106 0;
#X connect 97 1 54 0;
#X connect 97 2 76 0;
#X connect 98 0 105 0;
#X connect 99 0 100 0;
#X connect 99 0 107 1;
#X connect 100 0 101 0;
#X connect 101 0 103 1;
#X connect 103 0 104 0;
#X connect 104 0 162 0;
#X connect 105 0 107 0;
#X connect 105 1 99 0;
#X connect 106 0 117 0;
#X connect 107 0 103 0;
#X connect 108 0 109 1;
#X connect 109 0 110 0;
#X connect 111 0 113 0;
#X connect 113 0 109 0;
#X connect 114 0 116 0;
#X connect 115 0 109 0;
#X connect 115 1 114 0;
#X connect 115 2 111 0;
#X connect 115 3 108 0;
#X connect 116 0 109 0;
#X connect 117 0 119 0;
#X connect 117 1 131 0;
#X connect 120 0 121 0;
#X connect 121 0 123 0;
#X connect 123 0 118 0;
#X connect 124 0 115 0;
#X connect 125 0 142 0;
#X connect 126 0 128 1;
#X connect 127 0 78 1;
#X connect 128 0 39 0;
#X connect 129 0 117 1;
#X connect 131 0 133 0;
#X connect 131 1 132 0;
#X connect 132 0 133 1;
#X connect 133 0 120 0;
#X connect 135 0 136 1;
#X connect 136 0 137 0;
#X connect 138 0 140 0;
#X connect 139 0 136 0;
#X connect 140 0 141 0;
#X connect 140 0 139 0;
#X connect 142 0 136 0;
#X connect 142 1 138 0;
#X connect 142 2 135 0;
#X connect 143 0 144 0;
#X connect 145 0 146 1;
#X connect 146 0 147 0;
#X connect 149 1 148 0;
#X connect 151 0 152 1;
#X connect 152 0 153 0;
#X connect 154 0 156 0;
#X connect 154 0 158 0;
#X connect 156 0 155 0;
#X connect 158 0 152 0;
#X connect 162 0 152 0;
#X connect 162 1 154 0;
#X connect 162 2 164 0;
#X connect 162 3 151 0;
#X connect 163 0 166 0;
#X connect 164 0 165 0;
#X connect 165 0 167 0;
#X connect 165 0 168 0;
#X connect 166 0 164 1;
#X connect 167 0 152 0;
#X connect 168 0 155 0;
#X connect 170 0 48 1;
#X connect 171 0 88 0;
#X restore 1066 853 pd findBoundary;
#X obj 1038 1047 list store, f 27;
#X obj 1391 345 fudiparse;
#X obj 1391 369 f;
#X symbolatom 1391 419 17 0 0 0 - - - 0;
#X text 982 712 find lower and upper bounds;
#X obj 1391 395 makefilename %.9g;
#X obj 1038 770 t b b b b, f 27;
#X text 1074 261 nr of digits;
#X msg 1066 1010 append \$1;
#X obj 1066 934 list split 7;
#X obj 1098 907 list split 9;
#X obj 1066 880 t l l;
#X obj 1066 959 list append;
#X obj 1066 984 fudiparse;
#X text 1116 879 remove "\\\\ ";
#X floatatom 271 959 5 0 0 0 - - - 0;
#X msg 178 248 const 0;
#X obj 1011 262 moses 8;
#X msg 1117 378 8 \$1;
#X obj 1117 402 -;
#X obj 1117 426 until;
#X obj 1103 536 list store;
#X obj 1117 450 v \$0-endOfDigits;
#X msg 1117 474 insert \$1 48;
#X text 1217 475 '0';
#X obj 1103 560 array set \$0-workBuffer;
#X obj 1170 379 array get \$0-workBuffer;
#X obj 927 530 v \$0-endOfDigits;
#X obj 927 583 v \$0-endOfDigits;
#X obj 927 556 +;
#X text 200 162 enables conversion back to float;
#X obj 66 707 moses 49;
#X text 138 707 '1';
#X text 929 303 pad with zeros;
#X obj 66 732 sel 46;
#X obj 80 796 s \$0-dotSeen;
#X msg 80 772 1;
#X obj 124 390 sel 45;
#X obj 147 484 v \$0-currIndex;
#X text 178 390 '-';
#X text 32 732 '.';
#X obj 519 92 r \$0-findLastDigit;
#X obj 206 1105 s \$0-findLastDigit;
#X obj 66 904 + 1;
#X obj 66 984 v \$0-currIndex;
#X obj 98 904 r \$0-nrChars;
#X obj 66 930 moses;
#X obj 98 957 s \$0-error;
#X obj 864 878 r \$0-error;
#X obj 666 316 s \$0-adjCount;
#X obj 158 308 s \$0-adjCount;
#X obj 1047 206 r \$0-adjCount;
#X obj 213 876 t f f;
#X obj 206 1017 t b f;
#X obj 576 396 + 1;
#X obj 576 558 v \$0-currIndex;
#X obj 608 396 r \$0-nrChars;
#X obj 640 475 v \$0-endOfDigits;
#X obj 576 422 moses;
#X obj 608 449 t b f;
#X obj 608 529 s \$0-computeNrDigits;
#X floatatom 634 423 5 0 0 0 - - - 0;
#X obj 627 503 s \$0-lastDigitFound;
#X text 215 771 digit seen;
#X text 411 1048 goto;
#X text 353 1105 goto;
#X text 671 704 goto;
#X text 760 528 goto;
#X obj 1011 378 r \$0-dotSeen;
#X obj 972 430 spigot;
#X obj 972 456 v \$0-endOfDigits;
#X obj 1011 404 == 0;
#X msg 972 480 insert \$1 46;
#X text 1072 481 '.';
#X obj 912 327 t b b b f b, f 30;
#X msg 124 362 \$10;
#X text 198 417 0-relative;
#X text 158 362 char after "symbol_\\\\_" \, 1-relative;
#X msg 864 902 symbol unexpected_EOS;
#X msg 124 418 10;
#X msg 163 418 9;
#X obj 66 131 spigot;
#X text 120 131 ignore 0;
#X obj 1038 733 r \$0-findBounds;
#X obj 889 623 s \$0-findBounds;
#X text 1004 622 goto;
#X obj 1080 299 s \$0-findBounds;
#X text 1195 298 goto;
#X obj 1398 687 s \$0-decrBuffer;
#X obj 1531 687 s \$0-incrBuffer;
#X obj 1366 629 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1499 628 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1366 655 t b b;
#X obj 1499 655 t b b;
#X obj 1445 763 array get \$0-workBuffer;
#X obj 1445 790 fudiparse;
#X symbolatom 1445 814 39 0 0 0 - - - 0;
#X obj 1444 735 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 950 505 + 1;
#X obj 174 455 s \$0-firstDigit;
#X obj 864 980 pack s s;
#X msg 917 953 symbol;
#X obj 917 927 loadbang;
#X obj 1469 230 v \$0-dotSeen;
#X floatatom 1469 254 5 0 0 0 - - - 0;
#X obj 1067 611 s \$0-dotSeen;
#X msg 1067 584 1;
#X obj 133 105 s \$0-value;
#X text 215 105 for comparison;
#X text 73 1157 If you rely on makefilename \, the only case you have to handle when the string ends prematurely is 0 \, NAN \, and INF;
#X connect 0 0 63 0;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
#X connect 7 0 9 0;
#X connect 8 0 21 0;
#X connect 8 1 4 0;
#X connect 8 1 6 0;
#X connect 8 1 142 0;
#X connect 8 2 58 0;
#X connect 8 2 83 0;
#X connect 9 0 10 0;
#X connect 10 0 98 0;
#X connect 11 0 14 0;
#X connect 11 1 18 0;
#X connect 13 0 7 1;
#X connect 14 0 16 0;
#X connect 14 1 15 0;
#X connect 16 0 119 0;
#X connect 18 0 19 0;
#X connect 19 0 110 0;
#X connect 21 0 7 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 55 0;
#X connect 25 0 22 0;
#X connect 26 0 31 0;
#X connect 28 0 31 1;
#X connect 28 0 82 0;
#X connect 30 0 22 1;
#X connect 31 0 120 0;
#X connect 31 1 37 0;
#X connect 32 0 39 0;
#X connect 32 1 33 0;
#X connect 32 1 34 0;
#X connect 33 0 35 0;
#X connect 36 0 41 0;
#X connect 37 0 38 0;
#X connect 37 1 29 0;
#X connect 40 0 42 0;
#X connect 41 0 121 0;
#X connect 42 0 43 0;
#X connect 42 1 44 0;
#X connect 43 0 45 0;
#X connect 44 0 45 1;
#X connect 45 0 62 0;
#X connect 46 0 47 0;
#X connect 46 0 49 0;
#X connect 46 0 52 0;
#X connect 46 0 51 0;
#X connect 46 0 170 0;
#X connect 47 0 48 0;
#X connect 47 0 68 0;
#X connect 49 0 50 0;
#X connect 51 0 54 0;
#X connect 52 0 53 0;
#X connect 55 0 32 0;
#X connect 55 1 32 0;
#X connect 55 2 57 0;
#X connect 55 3 36 0;
#X connect 57 0 41 0;
#X connect 57 1 61 0;
#X connect 58 0 59 0;
#X connect 58 0 117 0;
#X connect 61 0 60 0;
#X connect 61 0 116 0;
#X connect 62 0 84 0;
#X connect 63 0 148 0;
#X connect 63 1 148 1;
#X connect 63 1 174 0;
#X connect 64 0 66 0;
#X connect 65 0 66 0;
#X connect 66 0 78 0;
#X connect 67 0 1 0;
#X connect 68 0 69 0;
#X connect 69 0 72 0;
#X connect 72 0 70 0;
#X connect 73 0 67 0;
#X connect 73 1 64 0;
#X connect 73 2 65 0;
#X connect 73 3 67 1;
#X connect 75 0 67 0;
#X connect 76 0 79 0;
#X connect 77 1 79 1;
#X connect 78 0 76 0;
#X connect 78 1 77 0;
#X connect 79 0 80 0;
#X connect 80 0 75 0;
#X connect 83 0 20 0;
#X connect 84 0 141 0;
#X connect 84 1 153 0;
#X connect 85 0 86 0;
#X connect 86 0 87 0;
#X connect 86 0 96 1;
#X connect 87 0 89 0;
#X connect 88 0 92 0;
#X connect 89 0 90 0;
#X connect 90 0 88 0;
#X connect 93 0 88 1;
#X connect 94 0 96 0;
#X connect 96 0 95 0;
#X connect 98 0 101 0;
#X connect 98 1 11 0;
#X connect 101 0 103 0;
#X connect 101 0 19 0;
#X connect 101 1 18 0;
#X connect 103 0 102 0;
#X connect 104 0 146 0;
#X connect 104 1 147 0;
#X connect 108 0 25 0;
#X connect 110 0 113 0;
#X connect 112 0 113 1;
#X connect 113 0 111 0;
#X connect 113 1 114 0;
#X connect 115 0 145 0;
#X connect 118 0 62 1;
#X connect 119 0 26 0;
#X connect 119 1 17 0;
#X connect 120 0 109 0;
#X connect 120 1 27 0;
#X connect 121 0 125 0;
#X connect 123 0 125 1;
#X connect 123 0 128 0;
#X connect 125 0 122 0;
#X connect 125 1 126 0;
#X connect 126 0 127 0;
#X connect 126 0 129 0;
#X connect 126 1 124 0;
#X connect 135 0 138 0;
#X connect 136 0 137 0;
#X connect 136 0 173 0;
#X connect 137 0 139 0;
#X connect 137 0 165 0;
#X connect 138 0 136 1;
#X connect 139 0 88 0;
#X connect 141 0 151 0;
#X connect 141 1 88 0;
#X connect 141 1 94 0;
#X connect 141 2 136 0;
#X connect 141 3 85 0;
#X connect 141 4 93 0;
#X connect 142 0 104 0;
#X connect 145 0 167 0;
#X connect 146 0 105 0;
#X connect 146 0 166 0;
#X connect 147 0 105 0;
#X connect 147 0 166 0;
#X connect 148 0 2 0;
#X connect 150 0 73 0;
#X connect 157 0 159 0;
#X connect 158 0 160 0;
#X connect 159 0 164 0;
#X connect 159 1 155 0;
#X connect 160 0 164 0;
#X connect 160 1 156 0;
#X connect 161 0 162 0;
#X connect 162 0 163 0;
#X connect 164 0 161 0;
#X connect 165 0 95 0;
#X connect 167 0 1 0;
#X connect 168 0 167 1;
#X connect 169 0 168 0;
#X connect 170 0 171 0;
#X connect 173 0 172 0;
#X restore 371 299 pd computeDecimalRange;
#X obj 251 167 t f f;
#X obj 371 272 pack s f;
#X obj 206 237 makefilename %.8g;
#X obj 175 88 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 300 111 f;
#X floatatom 206 212 13 0 0 0 Pd\ number\ box - - 0;
#N canvas 617 296 563 471 randomFloat 0;
#X obj 138 68 inlet;
#X obj 138 97 t b b b;
#X obj 239 167 random;
#X msg 278 118 2 24;
#X obj 278 142 pow;
#X obj 239 191 expr 1 + ($f1 * pow(2 \, -23));
#X obj 151 167 random 256;
#X obj 151 191 - 127;
#X msg 151 215 2 \$1;
#X obj 151 239 pow;
#X obj 179 282 *;
#X obj 77 167 random 2;
#X msg 77 191 -1 \$1;
#X obj 77 215 pow;
#X obj 138 331 *;
#X obj 138 375 outlet;
#X obj 278 91 loadbang;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 1 1 6 0;
#X connect 1 2 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 2 1;
#X connect 5 0 10 1;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 14 1;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 16 0 3 0;
#X restore 175 112 pd randomFloat;
#X obj 371 328 unpack s s;
#X symbolatom 343 358 15 0 0 0 lowest - - 0;
#X symbolatom 461 358 15 0 0 1 highest - - 0;
#X msg 417 431 0;
#X msg 382 432 1;
#X obj 398 462 tgl 19 0 empty empty are\ equal\,\ i.e.\ decimal\ representation\ is\ unique 25 10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 377 404 sel sym;
#X text 98 357 range of equivalent numbers:;
#X symbolatom 206 279 15 0 0 0 8\ significant\ digits - - 0;
#X text 302 212 truncates for display \, but passes the value unchanged!;
#X obj 217 18 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 217 42 expr acos(-1);
#X symbolatom 300 88 15 0 0 2 enter\ float\ as\ symbol - - 0;
#X connect 0 0 8 0;
#X connect 1 0 6 0;
#X connect 1 1 2 1;
#X connect 2 0 0 0;
#X connect 3 0 16 0;
#X connect 3 0 2 0;
#X connect 4 0 7 0;
#X connect 5 0 1 0;
#X connect 6 0 3 0;
#X connect 7 0 1 0;
#X connect 8 0 9 0;
#X connect 8 1 10 0;
#X connect 9 0 14 0;
#X connect 10 0 14 1;
#X connect 11 0 13 0;
#X connect 12 0 13 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 18 0 19 0;
#X connect 19 0 1 0;
#X connect 20 0 5 0;
