From 5eb91c2b33bc09f47ab017f6ab1ef5a486aba281 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 02 Feb 2013 15:54:54 +0000 Subject: more responsive speed control --- diff --git a/samples/math-prime-factors.ta b/samples/math-prime-factors.ta index f3bc454..8b5e863 100644 --- a/samples/math-prime-factors.ta +++ b/samples/math-prime-factors.ta @@ -1,16 +1,16 @@ [[0, ["start", 2.0], 200, 180, [null, 361]], -[1, ["while", 0], 258, 556, [4, 5, 11, 151]], +[1, ["while", 0], 223, 532, [4, 5, 11, 151]], [2, ["storein", 0], 254, 696, [261, 3, 268, 272]], [3, ["string", "n"], 321, 696, [2, null]], -[4, ["vspace", 0], 258, 514, [149, 1]], -[5, ["greater2", 0], 314, 522, [1, 6, 8, null]], -[6, "box", 360, 522, [5, 7, null]], -[7, ["string", "n"], 414, 522, [6, null]], -[8, ["number", 1], 384, 564, [5, null]], +[4, ["vspace", 0], 223, 490, [149, 1]], +[5, ["greater2", 0], 279, 498, [1, 6, 8, null]], +[6, "box", 325, 498, [5, 7, null]], +[7, ["string", "n"], 379, 498, [6, null]], +[8, ["number", 1], 349, 540, [5, null]], [9, "hat", 340, 180, [null, 10, 85]], [10, ["string", "get next prime factor"], 398, 192, [9, null]], -[11, "stack", 276, 622, [1, 12, null]], -[12, ["string", "get next prime factor"], 334, 622, [11, null]], +[11, "stack", 241, 598, [1, 12, null]], +[12, ["string", "get next prime factor"], 299, 598, [11, null]], [13, "box", 510, 1034, [87, 14, null]], [14, ["string", "factor"], 564, 1034, [13, null]], [15, "box", 564, 1118, [19, 16, null]], @@ -89,20 +89,20 @@ [88, ["number", 1], 564, 472, [89, null]], [89, ["plus2", 0], 510, 430, [98, 94, 88]], [90, ["vspace", 20], 443, 472, [98, 345]], -[91, ["storein", 0], 258, 388, [286, 92, 93, 149]], -[92, ["string", "count"], 325, 388, [91, null]], -[93, ["number", 0], 325, 430, [91, null]], +[91, ["storein", 0], 223, 364, [286, 92, 93, 149]], +[92, ["string", "count"], 290, 364, [91, null]], +[93, ["number", 0], 290, 406, [91, null]], [94, "box", 564, 430, [89, 95, null]], [95, ["string", "count"], 618, 430, [94, null]], [96, "box", 510, 992, [87, 97, null]], [97, ["string", "count"], 564, 992, [96, null]], [98, ["storein", 0], 443, 388, [232, 99, 89, 90]], [99, ["string", "count"], 510, 388, [98, null]], -[100, ["storein", 0], 258, 808, [153, 101, 102, 385]], -[101, ["string", "radius"], 325, 808, [100, null]], -[102, ["number", 400], 325, 850, [100, null]], +[100, ["storein", 0], 223, 784, [153, 101, 102, 385]], +[101, ["string", "radius"], 290, 784, [100, null]], +[102, ["number", 400], 290, 826, [100, null]], [103, ["string", "i"], 673, 636, [189, null]], -[104, "seth", 583, 564, [456, 238, 174]], +[104, "seth", 583, 564, [453, 238, 174]], [105, ["number", 360], 749, 606, [106, null]], [106, ["division2", 0], 695, 606, [238, 105, 188]], [107, "forward", 583, 688, [174, 111, 162]], @@ -113,20 +113,20 @@ [112, ["string", "radius"], 707, 688, [111, null]], [113, "box", 641, 958, [110, 114, null]], [114, ["string", "radius"], 695, 958, [113, null]], -[115, "hat", 840, 340, [null, 116, 126]], -[116, ["string", "increment color"], 898, 352, [115, null]], +[115, "hat", 900, 300, [null, 116, 126]], +[116, ["string", "increment color"], 958, 312, [115, null]], [117, "stack", 703, 812, [249, 118, 399]], [118, ["string", "increment color"], 761, 812, [117, null]], -[119, "setcolor", 858, 428, [126, 125, null]], -[120, ["number", 100], 1043, 470, [122, null]], -[121, "color", 989, 428, [125, null]], -[122, ["division2", 0], 989, 470, [125, 120, 123]], -[123, "box", 1067, 512, [122, 124, null]], -[124, ["string", "number"], 1121, 512, [123, null]], -[125, ["plus2", 0], 935, 428, [119, 121, 122]], -[126, "sandwichclampcollapsed", 840, 394, [115, 119, null]], -[127, ["until", 62], 463, 710, [136, 132, 454, null]], -[128, ["storein", 20], 481, 818, [454, 186, 236, null]], +[119, "setcolor", 883, 364, [126, 125, null]], +[120, ["number", 100], 1068, 406, [122, null]], +[121, "color", 1014, 364, [125, null]], +[122, ["division2", 0], 1014, 406, [125, 120, 123]], +[123, "box", 1092, 448, [122, 124, null]], +[124, ["string", "number"], 1146, 448, [123, null]], +[125, ["plus2", 0], 960, 364, [119, 121, 122]], +[126, "sandwichclampcollapsed", 900, 354, [115, 119, null]], +[127, ["until", 62], 463, 710, [136, 132, 451, null]], +[128, ["storein", 20], 481, 818, [451, 186, 236, null]], [129, ["string", "i"], 602, 818, [186, null]], [130, "box", 602, 942, [236, 187, null]], [131, ["string", "i"], 710, 942, [187, null]], @@ -135,8 +135,8 @@ [134, "hat", 360, 360, [null, 135, 215]], [135, ["string", "draw cluster"], 418, 372, [134, null]], [136, ["vspace", 20], 463, 628, [180, 127]], -[137, "stack", 258, 1228, [407, 138, 296]], -[138, ["string", "draw cluster"], 316, 1228, [137, null]], +[137, "stack", 223, 1204, [407, 138, 296]], +[138, ["string", "draw cluster"], 281, 1204, [137, null]], [139, "box", 425, 210, [142, 140, null]], [140, ["string", "count"], 479, 210, [139, null]], [141, ["ifelse", [21, 21]], @@ -148,16 +148,16 @@ [146, "box", 462, 454, [148, 147, null]], [147, ["string", "count"], 516, 454, [146, null]], [148, "box", 408, 454, [144, 146, null]], -[149, "comment", 258, 472, [91, 150, 4]], -[150, ["string", "calculate prime factors"], 341, 472, [149, null]], -[151, "comment", 258, 682, [1, 152, 153]], -[152, ["string", "display prime factors"], 341, 682, [151, null]], -[153, ["storein", 0], 258, 724, [151, 154, 175, 100]], -[154, ["string", "level"], 325, 724, [153, null]], +[149, "comment", 223, 448, [91, 150, 4]], +[150, ["string", "calculate prime factors"], 306, 448, [149, null]], +[151, "comment", 223, 658, [1, 152, 153]], +[152, ["string", "display prime factors"], 306, 658, [151, null]], +[153, ["storein", 0], 223, 700, [151, 154, 175, 100]], +[154, ["string", "level"], 290, 700, [153, null]], [155, "box", 565, 718, [132, 182, null]], [156, ["string", "i"], 584, 504, [177, null]], [157, ["ifelse", [0, 0]], -583, 772, [162, 158, 446, 448, 110]], +583, 772, [162, 158, 443, 445, 110]], [158, ["equal2", 0], 639, 738, [157, 163, 159, null]], [159, ["number", 1], 685, 780, [158, null]], [160, "stack", 923, 770, [226, 161, 218]], @@ -175,8 +175,8 @@ [172, ["division2", 0], 230, 874, [165, 167, 166]], [173, ["vspace", 20], 163, 916, [165, 375]], [174, ["vspace", 20], 583, 606, [104, 107]], -[175, "box", 325, 766, [153, 176, null]], -[176, ["string", "count"], 379, 766, [175, null]], +[175, "box", 290, 742, [153, 176, null]], +[176, ["string", "count"], 344, 742, [175, null]], [177, ["plus2", 0], 530, 504, [180, 156, 178]], [178, "box", 584, 546, [177, 179, null]], [179, ["string", "level"], 638, 546, [178, null]], @@ -220,7 +220,7 @@ [217, ["minus2", 0], 990, 686, [220, 224, 212]], [218, ["storein", 0], 923, 812, [160, 219, 213, null]], [219, ["string", "level"], 990, 812, [218, null]], -[220, ["storein", 0], 923, 644, [450, 221, 217, 226]], +[220, ["storein", 0], 923, 644, [447, 221, 217, 226]], [221, ["string", "level"], 990, 644, [220, null]], [222, "box", 1044, 854, [213, 223, null]], [223, ["string", "level"], 1098, 854, [222, null]], @@ -247,15 +247,15 @@ [244, ["string", "restore level"], 378, 592, [243, null]], [245, "stack", 343, 592, [210, 246, 355]], [246, ["string", "restore level"], 401, 592, [245, null]], -[247, "comment", 258, 1354, [459, 248, null]], -[248, ["string", "done"], 341, 1354, [247, null]], +[247, "comment", 223, 1330, [456, 248, null]], +[248, ["string", "done"], 306, 1330, [247, null]], [249, "back", 703, 770, [108, 250, 117]], [250, ["number", 1], 761, 770, [249, null]], -[251, "setpensize", 258, 1102, [397, 396, 293]], -[252, ["division2", 0], 325, 1018, [390, 283, 281]], +[251, "setpensize", 223, 1078, [397, 396, 293]], +[252, ["division2", 0], 290, 994, [390, 283, 281]], [253, "sandwichclampcollapsed", 320, 634, [243, 372, null]], [254, "sandwichclampcollapsed", 180, 574, [239, 204, null]], -[255, ["while", 229], 236, 504, [265, 259, 261, null]], +[255, ["while", 168], 236, 504, [265, 259, 261, null]], [256, ["storein", 0], 236, 378, [285, 257, 258, 265]], [257, ["string", "number"], 303, 378, [256, null]], [258, ["number", 2], 303, 420, [256, null]], @@ -271,33 +271,33 @@ [268, "box", 321, 738, [2, 269, null]], [269, ["string", "number"], 375, 738, [268, null]], [270, "hat", 240, 300, [null, 271, 286]], -[271, ["string", "main loop"], 298, 312, [270, null]], -[272, "stack", 254, 780, [2, 273, 274]], -[273, ["string", "main loop"], 312, 780, [272, null]], -[274, "wait", 254, 822, [272, 463, 419]], -[275, ["storein", 0], 254, 986, [419, 276, 280, null]], -[276, ["string", "number"], 321, 986, [275, null]], -[277, ["number", 1], 375, 1070, [280, null]], -[278, "box", 375, 1028, [280, 279, null]], -[279, ["string", "number"], 429, 1028, [278, null]], -[280, ["plus2", 0], 321, 1028, [275, 278, 277]], -[281, "box", 403, 1060, [252, 282, null]], -[282, ["string", "number"], 457, 1060, [281, null]], -[283, "box", 379, 1018, [252, 284, null]], -[284, ["string", "radius"], 433, 1018, [283, null]], -[285, ["forever", 334], 218, 344, [381, 256, null]], +[271, ["string", "action"], 298, 312, [270, null]], +[272, "stack", 254, 780, [2, 273, 461]], +[273, ["string", "action"], 312, 780, [272, null]], +[274, "wait", 1016, 310, [463, 465, null]], +[275, ["storein", 0], 254, 864, [461, 276, 280, null]], +[276, ["string", "number"], 321, 864, [275, null]], +[277, ["number", 1], 375, 948, [280, null]], +[278, "box", 375, 906, [280, 279, null]], +[279, ["string", "number"], 429, 906, [278, null]], +[280, ["plus2", 0], 321, 906, [275, 278, 277]], +[281, "box", 368, 1036, [252, 282, null]], +[282, ["string", "number"], 422, 1036, [281, null]], +[283, "box", 344, 994, [252, 284, null]], +[284, ["string", "radius"], 398, 994, [283, null]], +[285, ["forever", 273], 218, 344, [381, 256, null]], [286, "sandwichclampcollapsed", 240, 354, [270, 91, null]], [287, "penup", 643, 328, [290, 298]], [288, "pendown", 643, 454, [298, 305]], [289, "leftpos", 701, 370, [298, null]], [290, "setcolor", 643, 286, [379, 291, 287]], [291, "white", 720, 286, [290, null]], -[292, "red", 335, 1144, [293, null]], -[293, "setcolor", 258, 1144, [251, 292, 407]], +[292, "red", 300, 1120, [293, null]], +[293, "setcolor", 223, 1120, [251, 292, 407]], [294, "hat", 660, 180, [null, 295, 318]], [295, ["string", "display factors"], 718, 192, [294, null]], -[296, "stack", 258, 1270, [137, 297, 459]], -[297, ["string", "display factors"], 316, 1270, [296, null]], +[296, "stack", 223, 1246, [137, 297, 456]], +[297, ["string", "display factors"], 281, 1246, [296, null]], [298, ["setxy2", 0], 643, 370, [287, 289, 384, 288]], [299, ["number", 100], 779, 454, [384, null]], [300, "show", 661, 604, [304, 309, 327]], @@ -314,11 +314,11 @@ [310, ["string", " "], 773, 604, [309, null]], [311, "box", 827, 646, [308, 312, null]], [312, ["string", "number"], 881, 646, [311, null]], -[313, ["setxy2", 0], 798, 870, [316, 314, 315, 317]], -[314, ["number", 0], 856, 870, [313, null]], -[315, ["number", 0], 856, 912, [313, null]], -[316, "penup", 798, 828, [440, 313]], -[317, "pendown", 798, 954, [313, null]], +[313, ["setxy2", 0], 763, 846, [316, 314, 315, 317]], +[314, ["number", 0], 821, 846, [313, null]], +[315, ["number", 0], 821, 888, [313, null]], +[316, "penup", 763, 804, [437, 313]], +[317, "pendown", 763, 930, [313, null]], [318, "sandwichclampcollapsed", 660, 234, [294, 379, null]], [319, ["plus2", 0], 719, 746, [326, 320, 321]], [320, ["string", " "], 773, 746, [319, null]], @@ -387,20 +387,20 @@ [382, ["number", 75], 295, 302, [381, null]], [383, "toppos", 755, 412, [384, null]], [384, ["minus2", 0], 701, 412, [298, 383, 299]], -[385, "seth", 258, 892, [100, 386, 389]], -[386, ["random", 0], 316, 892, [385, 387, 388, null]], -[387, ["number", 0], 402, 892, [386, null]], -[388, ["number", 180], 402, 934, [386, null]], -[389, ["vspace", 0], 258, 934, [385, 390]], -[390, ["storein", 0], 258, 976, [389, 391, 252, 397]], -[391, ["string", "pensize"], 325, 976, [390, null]], +[385, "seth", 223, 868, [100, 386, 389]], +[386, ["random", 0], 281, 868, [385, 387, 388, null]], +[387, ["number", 0], 367, 868, [386, null]], +[388, ["number", 180], 367, 910, [386, null]], +[389, ["vspace", 0], 223, 910, [385, 390]], +[390, ["storein", 0], 223, 952, [389, 391, 252, 397]], +[391, ["string", "pensize"], 290, 952, [390, null]], [392, "box", 805, 644, [398, 393, null]], [393, ["string", "pensize"], 859, 644, [392, null]], [394, "box", 289, 1006, [376, 395, null]], [395, ["string", "pensize"], 343, 1006, [394, null]], -[396, ["number", 1], 360, 1102, [251, null]], -[397, ["vspace", 0], 258, 1060, [390, 251]], -[398, "setpensize", 703, 644, [451, 392, 405]], +[396, ["number", 1], 325, 1078, [251, null]], +[397, ["vspace", 0], 223, 1036, [390, 251]], +[398, "setpensize", 703, 644, [448, 392, 405]], [399, "setpensize", 703, 854, [117, 400, 403]], [400, ["number", 1], 805, 854, [399, null]], [401, "box", 248, 1106, [168, 402, null]], @@ -409,61 +409,65 @@ [404, ["number", 0], 776, 896, [403, null]], [405, "setgray", 703, 686, [398, 406, 108]], [406, ["number", 100], 776, 686, [405, null]], -[407, "setgray", 258, 1186, [293, 408, 137]], -[408, ["number", 0], 331, 1186, [407, null]], +[407, "setgray", 223, 1162, [293, 408, 137]], +[408, ["number", 0], 296, 1162, [407, null]], [409, "clean", 218, 260, [361, 381]], -[410, "mousey", 686, 906, [414, null]], -[411, "height", 740, 948, [412, null]], -[412, ["division2", 0], 686, 948, [414, 411, 413]], -[413, ["number", 2], 764, 990, [412, null]], -[414, ["plus2", 0], 632, 906, [464, 410, 412]], -[415, ["division2", 0], 444, 906, [417, 464, 416]], -[416, "height", 522, 948, [415, null]], -[417, ["product2", 0], 390, 864, [463, 418, 415]], -[418, ["number", 10], 444, 864, [417, null]], -[419, ["vspace", 40], 254, 864, [274, 275]], -[420, "toppos", 910, 452, [430, null]], -[421, "bottompos", 910, 702, [441, null]], -[422, "rightpos", 910, 370, [429, null]], -[423, ["string", "fast"], 856, 536, [424, null]], -[424, "show", 798, 536, [432, 423, 433]], -[425, ["string", "slow"], 856, 786, [440, null]], -[426, ["setxy2", 20], 798, 370, [431, 429, 430, 432]], -[427, ["number", 200], 934, 412, [429, null]], -[428, ["number", 100], 934, 494, [430, null]], -[429, ["minus2", 0], 856, 370, [426, 422, 427]], -[430, ["minus2", 0], 856, 452, [426, 420, 428]], -[431, "penup", 798, 328, [461, 426]], -[432, "pendown", 798, 494, [426, 424]], -[433, "penup", 798, 578, [424, 434]], -[434, ["setxy2", 20], 798, 620, [433, 435, 441, 439]], -[435, ["minus2", 0], 856, 620, [434, 436, 437]], -[436, "rightpos", 910, 620, [435, null]], -[437, ["number", 200], 934, 662, [435, null]], -[438, ["number", 100], 910, 744, [441, null]], -[439, "pendown", 798, 744, [434, 440]], -[440, "show", 798, 786, [439, 425, 316]], -[441, ["plus2", 0], 856, 702, [434, 421, 438]], -[442, "hat", 720, 580, [null, 443, 451]], -[443, ["string", "draw point"], 778, 592, [442, null]], -[444, "hat", 940, 580, [null, 445, 450]], -[445, ["string", "recurse"], 998, 592, [444, null]], -[446, "stack", 601, 838, [157, 447, null]], -[447, ["string", "draw point"], 659, 838, [446, null]], -[448, "stack", 601, 898, [157, 449, null]], -[449, ["string", "recurse"], 659, 898, [448, null]], -[450, "sandwichclampcollapsed", 940, 634, [444, 220, null]], -[451, "sandwichclampcollapsed", 720, 634, [442, 398, null]], -[452, "hat", 600, 500, [null, 453, 456]], -[453, ["string", "radiate"], 658, 512, [452, null]], -[454, "stack", 481, 776, [127, 455, 128]], -[455, ["string", "radiate"], 539, 776, [454, null]], -[456, "sandwichclampcollapsed", 600, 554, [452, 104, null]], -[457, "hat", 780, 240, [null, 458, 461]], -[458, ["string", "display scale"], 838, 252, [457, null]], -[459, "stack", 258, 1312, [296, 460, 247]], -[460, ["string", "display scale"], 316, 1312, [459, null]], -[461, "sandwichclampcollapsed", 780, 294, [457, 431, null]], -[462, ["number", 10.0], 366, 822, [463, null]], -[463, ["minus2", 0], 312, 822, [274, 462, 417]], -[464, ["identity2", 40], 498, 906, [415, 414]]] +[410, "mousey", 1394, 352, [414, null]], +[411, "height", 1448, 394, [412, null]], +[412, ["division2", 0], 1394, 394, [414, 411, 413]], +[413, ["number", 2], 1472, 436, [412, null]], +[414, ["plus2", 0], 1340, 352, [415, 410, 412]], +[415, ["division2", 0], 1262, 310, [467, 416, 414]], +[416, "height", 1316, 310, [415, null]], +[417, "toppos", 875, 428, [427, null]], +[418, "bottompos", 875, 678, [438, null]], +[419, "rightpos", 875, 346, [426, null]], +[420, ["string", "fast"], 821, 512, [421, null]], +[421, "show", 763, 512, [429, 420, 430]], +[422, ["string", "slow"], 821, 762, [437, null]], +[423, ["setxy2", 20], 763, 346, [428, 426, 427, 429]], +[424, ["number", 200], 899, 388, [426, null]], +[425, ["number", 100], 899, 470, [427, null]], +[426, ["minus2", 0], 821, 346, [423, 419, 424]], +[427, ["minus2", 0], 821, 428, [423, 417, 425]], +[428, "penup", 763, 304, [458, 423]], +[429, "pendown", 763, 470, [423, 421]], +[430, "penup", 763, 554, [421, 431]], +[431, ["setxy2", 20], 763, 596, [430, 432, 438, 436]], +[432, ["minus2", 0], 821, 596, [431, 433, 434]], +[433, "rightpos", 875, 596, [432, null]], +[434, ["number", 200], 899, 638, [432, null]], +[435, ["number", 100], 875, 720, [438, null]], +[436, "pendown", 763, 720, [431, 437]], +[437, "show", 763, 762, [436, 422, 316]], +[438, ["plus2", 0], 821, 678, [431, 418, 435]], +[439, "hat", 720, 580, [null, 440, 448]], +[440, ["string", "draw point"], 778, 592, [439, null]], +[441, "hat", 940, 580, [null, 442, 447]], +[442, ["string", "recurse"], 998, 592, [441, null]], +[443, "stack", 601, 838, [157, 444, null]], +[444, ["string", "draw point"], 659, 838, [443, null]], +[445, "stack", 601, 898, [157, 446, null]], +[446, ["string", "recurse"], 659, 898, [445, null]], +[447, "sandwichclampcollapsed", 940, 634, [441, 220, null]], +[448, "sandwichclampcollapsed", 720, 634, [439, 398, null]], +[449, "hat", 600, 500, [null, 450, 453]], +[450, ["string", "radiate"], 658, 512, [449, null]], +[451, "stack", 481, 776, [127, 452, 128]], +[452, ["string", "radiate"], 539, 776, [451, null]], +[453, "sandwichclampcollapsed", 600, 554, [449, 104, null]], +[454, "hat", 780, 240, [null, 455, 458]], +[455, ["string", "display scale"], 838, 252, [454, null]], +[456, "stack", 223, 1288, [296, 457, 247]], +[457, ["string", "display scale"], 281, 1288, [456, null]], +[458, "sandwichclampcollapsed", 780, 294, [454, 428, null]], +[459, "hat", 980, 180, [null, 460, 468]], +[460, ["string", "pause"], 1038, 192, [459, null]], +[461, "stack", 254, 822, [272, 462, 275]], +[462, ["string", "pause"], 312, 822, [461, null]], +[463, ["repeat", 0], 998, 268, [468, 464, 274, null]], +[464, ["number", 10.0], 1056, 268, [463, null]], +[465, ["division2", 0], 1074, 310, [274, 467, 466]], +[466, ["number", 10.0], 1152, 352, [465, null]], +[467, ["identity2", 40], 1128, 310, [465, 415]], +[468, "sandwichclampcollapsed", 980, 234, [459, 463, null]]] -- cgit v0.9.1