From 187142d6d85eb8f77b015c7666938302d8ec88a6 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Wed, 18 Mar 2009 23:01:01 -0500 Subject: [PATCH 1/2] fix load error --- extra/site-watcher/site-watcher-tests.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/site-watcher/site-watcher-tests.factor b/extra/site-watcher/site-watcher-tests.factor index 385edf41ad..68a4a440f6 100644 --- a/extra/site-watcher/site-watcher-tests.factor +++ b/extra/site-watcher/site-watcher-tests.factor @@ -2,7 +2,7 @@ ! See http://factorcode.org/license.txt for BSD license. USING: db.tuples locals site-watcher site-watcher.db site-watcher.private kernel db io.directories io.files.temp -continuations ; +continuations db.sqlite site-watcher.db.private ; IN: site-watcher.tests : site-watcher-path ( -- path ) "site-watcher.db" temp-file ; inline From f99554224684677b9ff0be22ea0fd936cce80527 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Wed, 18 Mar 2009 23:05:32 -0500 Subject: [PATCH 2/2] Project Euler solutions had MAIN: words which would leave values on the stack; add a new SOLUTION: parsing word now that MAIN: cannot do that --- extra/project-euler/001/001.factor | 4 ++-- extra/project-euler/002/002.factor | 4 ++-- extra/project-euler/003/003.factor | 4 ++-- extra/project-euler/004/004.factor | 2 +- extra/project-euler/005/005.factor | 4 ++-- extra/project-euler/006/006.factor | 4 ++-- extra/project-euler/007/007.factor | 4 ++-- extra/project-euler/008/008.factor | 4 ++-- extra/project-euler/009/009.factor | 4 ++-- extra/project-euler/010/010.factor | 4 ++-- extra/project-euler/011/011.factor | 4 ++-- extra/project-euler/012/012.factor | 2 +- extra/project-euler/013/013.factor | 4 ++-- extra/project-euler/014/014.factor | 5 +++-- extra/project-euler/015/015.factor | 4 ++-- extra/project-euler/016/016.factor | 2 +- extra/project-euler/017/017.factor | 5 +++-- extra/project-euler/018/018.factor | 2 +- extra/project-euler/019/019.factor | 4 ++-- extra/project-euler/020/020.factor | 2 +- extra/project-euler/021/021.factor | 2 +- extra/project-euler/022/022.factor | 2 +- extra/project-euler/023/023.factor | 2 +- extra/project-euler/024/024.factor | 4 ++-- extra/project-euler/025/025.factor | 2 +- extra/project-euler/026/026.factor | 4 ++-- extra/project-euler/027/027.factor | 5 +++-- extra/project-euler/028/028.factor | 4 ++-- extra/project-euler/029/029.factor | 2 +- extra/project-euler/030/030.factor | 2 +- extra/project-euler/031/031.factor | 4 ++-- extra/project-euler/032/032.factor | 2 +- extra/project-euler/033/033.factor | 2 +- extra/project-euler/034/034.factor | 2 +- extra/project-euler/035/035.factor | 2 +- extra/project-euler/036/036.factor | 2 +- extra/project-euler/037/037.factor | 4 ++-- extra/project-euler/038/038.factor | 2 +- extra/project-euler/039/039.factor | 2 +- extra/project-euler/040/040.factor | 4 ++-- extra/project-euler/041/041.factor | 4 ++-- extra/project-euler/042/042.factor | 2 +- extra/project-euler/043/043.factor | 2 +- extra/project-euler/044/044.factor | 2 +- extra/project-euler/045/045.factor | 2 +- extra/project-euler/046/046.factor | 4 ++-- extra/project-euler/047/047.factor | 4 ++-- extra/project-euler/048/048.factor | 4 ++-- extra/project-euler/050/050.factor | 2 +- extra/project-euler/052/052.factor | 2 +- extra/project-euler/053/053.factor | 4 ++-- extra/project-euler/055/055.factor | 2 +- extra/project-euler/056/056.factor | 2 +- extra/project-euler/057/057.factor | 4 ++-- extra/project-euler/059/059.factor | 4 ++-- extra/project-euler/067/067.factor | 2 +- extra/project-euler/071/071.factor | 2 +- extra/project-euler/073/073.factor | 2 +- extra/project-euler/075/075.factor | 2 +- extra/project-euler/076/076.factor | 4 ++-- extra/project-euler/079/079.factor | 4 ++-- extra/project-euler/092/092.factor | 2 +- extra/project-euler/097/097.factor | 4 ++-- extra/project-euler/099/099.factor | 4 ++-- extra/project-euler/100/100.factor | 4 ++-- extra/project-euler/116/116.factor | 4 ++-- extra/project-euler/117/117.factor | 4 ++-- extra/project-euler/134/134.factor | 2 +- extra/project-euler/148/148.factor | 4 ++-- extra/project-euler/150/150.factor | 4 ++-- extra/project-euler/151/151.factor | 4 ++-- extra/project-euler/164/164.factor | 4 ++-- extra/project-euler/169/169.factor | 4 ++-- extra/project-euler/173/173.factor | 4 ++-- extra/project-euler/175/175.factor | 4 ++-- extra/project-euler/186/186.factor | 4 ++-- extra/project-euler/190/190.factor | 4 ++-- extra/project-euler/203/203.factor | 4 ++-- extra/project-euler/215/215.factor | 4 ++-- extra/project-euler/common/common.factor | 10 +++++++++- extra/project-euler/project-euler.factor | 2 +- 81 files changed, 139 insertions(+), 128 deletions(-) diff --git a/extra/project-euler/001/001.factor b/extra/project-euler/001/001.factor index 1e49be9a60..de4345db68 100644 --- a/extra/project-euler/001/001.factor +++ b/extra/project-euler/001/001.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.ranges sequences ; +USING: kernel math math.ranges sequences project-euler.common ; IN: project-euler.001 ! http://projecteuler.net/index.php?section=problems&id=1 @@ -51,4 +51,4 @@ PRIVATE> ! [ euler001b ] 100 ave-time ! 0 ms run / 0 ms GC ave time - 100 trials -MAIN: euler001 +SOLUTION: euler001 diff --git a/extra/project-euler/002/002.factor b/extra/project-euler/002/002.factor index 136ebbb6da..9995e434e7 100644 --- a/extra/project-euler/002/002.factor +++ b/extra/project-euler/002/002.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007, 2008 Aaron Schaefer, Alexander Solovyov, Vishal Talwar. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math sequences ; +USING: kernel math sequences project-euler.common ; IN: project-euler.002 ! http://projecteuler.net/index.php?section=problems&id=2 @@ -77,4 +77,4 @@ PRIVATE> ! [ euler002b ] 100 ave-time ! 0 ms ave run time - 0.0 SD (100 trials) -MAIN: euler002b +SOLUTION: euler002b diff --git a/extra/project-euler/003/003.factor b/extra/project-euler/003/003.factor index 09374bcee3..36dc862de6 100644 --- a/extra/project-euler/003/003.factor +++ b/extra/project-euler/003/003.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: math.primes.factors sequences ; +USING: math.primes.factors sequences project-euler.common ; IN: project-euler.003 ! http://projecteuler.net/index.php?section=problems&id=3 @@ -22,4 +22,4 @@ IN: project-euler.003 ! [ euler003 ] 100 ave-time ! 1 ms ave run time - 0.49 SD (100 trials) -MAIN: euler003 +SOLUTION: euler003 diff --git a/extra/project-euler/004/004.factor b/extra/project-euler/004/004.factor index e1918f5fa6..ff62b4e181 100644 --- a/extra/project-euler/004/004.factor +++ b/extra/project-euler/004/004.factor @@ -34,4 +34,4 @@ PRIVATE> ! [ euler004 ] 100 ave-time ! 1164 ms ave run time - 39.35 SD (100 trials) -MAIN: euler004 +SOLUTION: euler004 diff --git a/extra/project-euler/005/005.factor b/extra/project-euler/005/005.factor index 8b446f2376..7fef29a6b9 100644 --- a/extra/project-euler/005/005.factor +++ b/extra/project-euler/005/005.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: math math.functions sequences ; +USING: math math.functions sequences project-euler.common ; IN: project-euler.005 ! http://projecteuler.net/index.php?section=problems&id=5 @@ -23,4 +23,4 @@ IN: project-euler.005 ! [ euler005 ] 100 ave-time ! 0 ms ave run time - 0.14 SD (100 trials) -MAIN: euler005 +SOLUTION: euler005 diff --git a/extra/project-euler/006/006.factor b/extra/project-euler/006/006.factor index 2149353658..00a5c44771 100644 --- a/extra/project-euler/006/006.factor +++ b/extra/project-euler/006/006.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007, 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.ranges sequences ; +USING: kernel math math.ranges sequences project-euler.common ; IN: project-euler.006 ! http://projecteuler.net/index.php?section=problems&id=6 @@ -40,4 +40,4 @@ PRIVATE> ! [ euler006 ] 100 ave-time ! 0 ms ave run time - 0.24 SD (100 trials) -MAIN: euler006 +SOLUTION: euler006 diff --git a/extra/project-euler/007/007.factor b/extra/project-euler/007/007.factor index f40108e4d7..f9208e11b3 100644 --- a/extra/project-euler/007/007.factor +++ b/extra/project-euler/007/007.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: lists math math.primes.lists ; +USING: lists math math.primes.lists project-euler.common ; IN: project-euler.007 ! http://projecteuler.net/index.php?section=problems&id=7 @@ -26,4 +26,4 @@ IN: project-euler.007 ! [ euler007 ] 100 ave-time ! 5 ms ave run time - 1.13 SD (100 trials) -MAIN: euler007 +SOLUTION: euler007 diff --git a/extra/project-euler/008/008.factor b/extra/project-euler/008/008.factor index 1e8dade646..dcc669b125 100644 --- a/extra/project-euler/008/008.factor +++ b/extra/project-euler/008/008.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007, 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: grouping math.order math.parser sequences ; +USING: grouping math.order math.parser sequences project-euler.common ; IN: project-euler.008 ! http://projecteuler.net/index.php?section=problems&id=8 @@ -69,4 +69,4 @@ PRIVATE> ! [ euler008 ] 100 ave-time ! 2 ms ave run time - 0.79 SD (100 trials) -MAIN: euler008 +SOLUTION: euler008 diff --git a/extra/project-euler/009/009.factor b/extra/project-euler/009/009.factor index a1040d2bf2..f75950520d 100644 --- a/extra/project-euler/009/009.factor +++ b/extra/project-euler/009/009.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007, 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel make math sequences sorting ; +USING: kernel make math sequences sorting project-euler.common ; IN: project-euler.009 ! http://projecteuler.net/index.php?section=problems&id=9 @@ -50,4 +50,4 @@ PRIVATE> ! [ euler009 ] 100 ave-time ! 1 ms ave run time - 0.73 SD (100 trials) -MAIN: euler009 +SOLUTION: euler009 diff --git a/extra/project-euler/010/010.factor b/extra/project-euler/010/010.factor index 593f9cc0e8..648699e1db 100644 --- a/extra/project-euler/010/010.factor +++ b/extra/project-euler/010/010.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer, Samuel Tardieu. ! See http://factorcode.org/license.txt for BSD license. -USING: math.primes sequences ; +USING: math.primes sequences project-euler.common ; IN: project-euler.010 ! http://projecteuler.net/index.php?section=problems&id=10 @@ -22,4 +22,4 @@ IN: project-euler.010 ! [ euler010 ] 100 ave-time ! 15 ms ave run time - 0.41 SD (100 trials) -MAIN: euler010 +SOLUTION: euler010 diff --git a/extra/project-euler/011/011.factor b/extra/project-euler/011/011.factor index 122eec2c2e..9d98ac6766 100644 --- a/extra/project-euler/011/011.factor +++ b/extra/project-euler/011/011.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007, 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: grouping kernel make math.order sequences ; +USING: grouping kernel make math.order sequences project-euler.common ; IN: project-euler.011 ! http://projecteuler.net/index.php?section=problems&id=11 @@ -101,4 +101,4 @@ PRIVATE> ! [ euler011 ] 100 ave-time ! 3 ms ave run time - 0.77 SD (100 trials) -MAIN: euler011 +SOLUTION: euler011 diff --git a/extra/project-euler/012/012.factor b/extra/project-euler/012/012.factor index ff482c6812..d2679f6309 100644 --- a/extra/project-euler/012/012.factor +++ b/extra/project-euler/012/012.factor @@ -39,4 +39,4 @@ IN: project-euler.012 ! [ euler012 ] 10 ave-time ! 6573 ms ave run time - 346.27 SD (10 trials) -MAIN: euler012 +SOLUTION: euler012 diff --git a/extra/project-euler/013/013.factor b/extra/project-euler/013/013.factor index 857bd62cc4..25aad2d749 100644 --- a/extra/project-euler/013/013.factor +++ b/extra/project-euler/013/013.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: math.parser sequences ; +USING: math.parser sequences project-euler.common ; IN: project-euler.013 ! http://projecteuler.net/index.php?section=problems&id=13 @@ -230,4 +230,4 @@ PRIVATE> ! [ euler013 ] 100 ave-time ! 0 ms ave run time - 0.31 SD (100 trials) -MAIN: euler013 +SOLUTION: euler013 diff --git a/extra/project-euler/014/014.factor b/extra/project-euler/014/014.factor index e93e3d11bc..a9a8dbce3f 100644 --- a/extra/project-euler/014/014.factor +++ b/extra/project-euler/014/014.factor @@ -1,6 +1,7 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: combinators.short-circuit kernel make math math.ranges sequences ; +USING: combinators.short-circuit kernel make math math.ranges +sequences project-euler.common ; IN: project-euler.014 ! http://projecteuler.net/index.php?section=problems&id=14 @@ -72,4 +73,4 @@ PRIVATE> ! TODO: try using memoization -MAIN: euler014a +SOLUTION: euler014a diff --git a/extra/project-euler/015/015.factor b/extra/project-euler/015/015.factor index fb720c7e7c..03823deab4 100644 --- a/extra/project-euler/015/015.factor +++ b/extra/project-euler/015/015.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.combinatorics ; +USING: kernel math math.combinatorics project-euler.common ; IN: project-euler.015 ! http://projecteuler.net/index.php?section=problems&id=15 @@ -30,4 +30,4 @@ PRIVATE> ! [ euler015 ] 100 ave-time ! 0 ms ave run time - 0.2 SD (100 trials) -MAIN: euler015 +SOLUTION: euler015 diff --git a/extra/project-euler/016/016.factor b/extra/project-euler/016/016.factor index 216fcb3523..b81619b980 100644 --- a/extra/project-euler/016/016.factor +++ b/extra/project-euler/016/016.factor @@ -22,4 +22,4 @@ IN: project-euler.016 ! [ euler016 ] 100 ave-time ! 0 ms ave run time - 0.67 SD (100 trials) -MAIN: euler016 +SOLUTION: euler016 diff --git a/extra/project-euler/017/017.factor b/extra/project-euler/017/017.factor index 21e277da00..53513691ff 100644 --- a/extra/project-euler/017/017.factor +++ b/extra/project-euler/017/017.factor @@ -1,6 +1,7 @@ ! Copyright (c) 2007, 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: ascii kernel math.ranges math.text.english sequences ; +USING: ascii kernel math.ranges math.text.english sequences +project-euler.common ; IN: project-euler.017 ! http://projecteuler.net/index.php?section=problems&id=17 @@ -28,4 +29,4 @@ IN: project-euler.017 ! [ euler017 ] 100 ave-time ! 15 ms ave run time - 1.71 SD (100 trials) -MAIN: euler017 +SOLUTION: euler017 diff --git a/extra/project-euler/018/018.factor b/extra/project-euler/018/018.factor index 21831b90d4..a4aded7096 100644 --- a/extra/project-euler/018/018.factor +++ b/extra/project-euler/018/018.factor @@ -86,4 +86,4 @@ PRIVATE> ! [ euler018a ] 100 ave-time ! 0 ms ave run time - 0.39 SD (100 trials) -MAIN: euler018a +SOLUTION: euler018a diff --git a/extra/project-euler/019/019.factor b/extra/project-euler/019/019.factor index 4b750ac180..fc9cdacad7 100644 --- a/extra/project-euler/019/019.factor +++ b/extra/project-euler/019/019.factor @@ -1,7 +1,7 @@ ! Copyright (c) 2007 Samuel Tardieu, Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. USING: calendar combinators kernel math math.ranges namespaces sequences - math.order ; + math.order project-euler.common ; IN: project-euler.019 ! http://projecteuler.net/index.php?section=problems&id=19 @@ -63,4 +63,4 @@ PRIVATE> ! [ euler019a ] 100 ave-time ! 17 ms ave run time - 2.13 SD (100 trials) -MAIN: euler019 +SOLUTION: euler019 diff --git a/extra/project-euler/020/020.factor b/extra/project-euler/020/020.factor index e75747b57c..85aeebb5ad 100644 --- a/extra/project-euler/020/020.factor +++ b/extra/project-euler/020/020.factor @@ -22,4 +22,4 @@ IN: project-euler.020 ! [ euler020 ] 100 ave-time ! 0 ms ave run time - 0.55 (100 trials) -MAIN: euler020 +SOLUTION: euler020 diff --git a/extra/project-euler/021/021.factor b/extra/project-euler/021/021.factor index 55060a7c71..0401aad9be 100644 --- a/extra/project-euler/021/021.factor +++ b/extra/project-euler/021/021.factor @@ -35,4 +35,4 @@ IN: project-euler.021 ! [ euler021 ] 100 ave-time ! 335 ms ave run time - 18.63 SD (100 trials) -MAIN: euler021 +SOLUTION: euler021 diff --git a/extra/project-euler/022/022.factor b/extra/project-euler/022/022.factor index a12838406a..1b675d41c4 100644 --- a/extra/project-euler/022/022.factor +++ b/extra/project-euler/022/022.factor @@ -42,4 +42,4 @@ PRIVATE> ! [ euler022 ] 100 ave-time ! 74 ms ave run time - 5.13 SD (100 trials) -MAIN: euler022 +SOLUTION: euler022 diff --git a/extra/project-euler/023/023.factor b/extra/project-euler/023/023.factor index 80aa40f449..7c28ebfa6c 100644 --- a/extra/project-euler/023/023.factor +++ b/extra/project-euler/023/023.factor @@ -58,4 +58,4 @@ PRIVATE> ! [ euler023 ] time ! 52780 ms run / 3839 ms GC -MAIN: euler023 +SOLUTION: euler023 diff --git a/extra/project-euler/024/024.factor b/extra/project-euler/024/024.factor index c10ce418c4..f6b4d497c0 100755 --- a/extra/project-euler/024/024.factor +++ b/extra/project-euler/024/024.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math.combinatorics math.parser ; +USING: kernel math.combinatorics math.parser project-euler.common ; IN: project-euler.024 ! http://projecteuler.net/index.php?section=problems&id=24 @@ -28,4 +28,4 @@ IN: project-euler.024 ! [ euler024 ] 100 ave-time ! 0 ms ave run time - 0.27 SD (100 trials) -MAIN: euler024 +SOLUTION: euler024 diff --git a/extra/project-euler/025/025.factor b/extra/project-euler/025/025.factor index a2934c23c7..80a933dc63 100644 --- a/extra/project-euler/025/025.factor +++ b/extra/project-euler/025/025.factor @@ -78,4 +78,4 @@ PRIVATE> ! [ euler025a ] 100 ave-time ! 0 ms ave run time - 0.17 SD (100 trials) -MAIN: euler025a +SOLUTION: euler025a diff --git a/extra/project-euler/026/026.factor b/extra/project-euler/026/026.factor index cf30d0ee42..8e0cf37fa2 100644 --- a/extra/project-euler/026/026.factor +++ b/extra/project-euler/026/026.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions math.primes math.ranges sequences ; +USING: kernel math math.functions math.primes math.ranges sequences project-euler.common ; IN: project-euler.026 ! http://projecteuler.net/index.php?section=problems&id=26 @@ -68,4 +68,4 @@ PRIVATE> ! [ euler026 ] 100 ave-time ! 290 ms ave run time - 19.2 SD (100 trials) -MAIN: euler026 +SOLUTION: euler026 diff --git a/extra/project-euler/027/027.factor b/extra/project-euler/027/027.factor index 5bf753074e..4bcfb66a94 100644 --- a/extra/project-euler/027/027.factor +++ b/extra/project-euler/027/027.factor @@ -1,6 +1,7 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.primes project-euler.common sequences ; +USING: kernel math math.primes project-euler.common sequences +project-euler.common ; IN: project-euler.027 ! http://projecteuler.net/index.php?section=problems&id=27 @@ -72,4 +73,4 @@ PRIVATE> ! TODO: generalize max-consecutive/max-product (from #26) into a new word -MAIN: euler027 +SOLUTION: euler027 diff --git a/extra/project-euler/028/028.factor b/extra/project-euler/028/028.factor index cd359c70a9..6dc284f802 100644 --- a/extra/project-euler/028/028.factor +++ b/extra/project-euler/028/028.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.ranges sequences ; +USING: kernel math math.ranges sequences project-euler.common ; IN: project-euler.028 ! http://projecteuler.net/index.php?section=problems&id=28 @@ -43,4 +43,4 @@ PRIVATE> ! [ euler028 ] 100 ave-time ! 0 ms ave run time - 0.39 SD (100 trials) -MAIN: euler028 +SOLUTION: euler028 diff --git a/extra/project-euler/029/029.factor b/extra/project-euler/029/029.factor index 2586e6182a..73773e1887 100644 --- a/extra/project-euler/029/029.factor +++ b/extra/project-euler/029/029.factor @@ -34,4 +34,4 @@ IN: project-euler.029 ! [ euler029 ] 100 ave-time ! 704 ms ave run time - 28.07 SD (100 trials) -MAIN: euler029 +SOLUTION: euler029 diff --git a/extra/project-euler/030/030.factor b/extra/project-euler/030/030.factor index 63693f96d8..54d48660d5 100644 --- a/extra/project-euler/030/030.factor +++ b/extra/project-euler/030/030.factor @@ -43,4 +43,4 @@ PRIVATE> ! [ euler030 ] 100 ave-time ! 1700 ms ave run time - 64.84 SD (100 trials) -MAIN: euler030 +SOLUTION: euler030 diff --git a/extra/project-euler/031/031.factor b/extra/project-euler/031/031.factor index 1b6d1c83eb..f564872149 100644 --- a/extra/project-euler/031/031.factor +++ b/extra/project-euler/031/031.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math ; +USING: kernel math project-euler.common ; IN: project-euler.031 ! http://projecteuler.net/index.php?section=problems&id=31 @@ -60,4 +60,4 @@ PRIVATE> ! TODO: generalize to eliminate duplication; use a sequence to specify denominations? -MAIN: euler031 +SOLUTION: euler031 diff --git a/extra/project-euler/032/032.factor b/extra/project-euler/032/032.factor index 07c643659c..5ff5234679 100755 --- a/extra/project-euler/032/032.factor +++ b/extra/project-euler/032/032.factor @@ -75,4 +75,4 @@ PRIVATE> ! [ euler032a ] 10 ave-time ! 2624 ms ave run time - 131.91 SD (10 trials) -MAIN: euler032a +SOLUTION: euler032a diff --git a/extra/project-euler/033/033.factor b/extra/project-euler/033/033.factor index d0c79c220a..c7c3fea5da 100644 --- a/extra/project-euler/033/033.factor +++ b/extra/project-euler/033/033.factor @@ -52,4 +52,4 @@ PRIVATE> ! [ euler033 ] 100 ave-time ! 7 ms ave run time - 1.31 SD (100 trials) -MAIN: euler033 +SOLUTION: euler033 diff --git a/extra/project-euler/034/034.factor b/extra/project-euler/034/034.factor index 11b7efa8b5..f7a4865da7 100644 --- a/extra/project-euler/034/034.factor +++ b/extra/project-euler/034/034.factor @@ -44,4 +44,4 @@ PRIVATE> ! [ euler034 ] 10 ave-time ! 5506 ms ave run time - 144.0 SD (10 trials) -MAIN: euler034 +SOLUTION: euler034 diff --git a/extra/project-euler/035/035.factor b/extra/project-euler/035/035.factor index 517e5211d2..3784618423 100755 --- a/extra/project-euler/035/035.factor +++ b/extra/project-euler/035/035.factor @@ -58,4 +58,4 @@ PRIVATE> ! TODO: try using bit arrays or other methods outlined here: ! http://home.comcast.net/~babdulbaki/Circular_Primes.html -MAIN: euler035 +SOLUTION: euler035 diff --git a/extra/project-euler/036/036.factor b/extra/project-euler/036/036.factor index f5afeceb21..e6c257969e 100644 --- a/extra/project-euler/036/036.factor +++ b/extra/project-euler/036/036.factor @@ -36,4 +36,4 @@ PRIVATE> ! [ euler036 ] 100 ave-time ! 1703 ms ave run time - 96.6 SD (100 trials) -MAIN: euler036 +SOLUTION: euler036 diff --git a/extra/project-euler/037/037.factor b/extra/project-euler/037/037.factor index 4562c4588f..e59f506962 100755 --- a/extra/project-euler/037/037.factor +++ b/extra/project-euler/037/037.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.parser math.primes sequences ; +USING: kernel math math.parser math.primes sequences project-euler.common ; IN: project-euler.037 ! http://projecteuler.net/index.php?section=problems&id=37 @@ -49,4 +49,4 @@ PRIVATE> ! [ euler037 ] 100 ave-time ! 130 ms ave run time - 6.27 SD (100 trials) -MAIN: euler037 +SOLUTION: euler037 diff --git a/extra/project-euler/038/038.factor b/extra/project-euler/038/038.factor index 2df993b341..3c6e2eac02 100755 --- a/extra/project-euler/038/038.factor +++ b/extra/project-euler/038/038.factor @@ -53,4 +53,4 @@ PRIVATE> ! [ euler038 ] 100 ave-time ! 11 ms ave run time - 1.5 SD (100 trials) -MAIN: euler038 +SOLUTION: euler038 diff --git a/extra/project-euler/039/039.factor b/extra/project-euler/039/039.factor index 6b56015667..dee3f9804c 100755 --- a/extra/project-euler/039/039.factor +++ b/extra/project-euler/039/039.factor @@ -62,4 +62,4 @@ PRIVATE> ! [ euler039 ] 100 ave-time ! 1 ms ave run time - 0.37 SD (100 trials) -MAIN: euler039 +SOLUTION: euler039 diff --git a/extra/project-euler/040/040.factor b/extra/project-euler/040/040.factor index 6b8a3f267a..86fb34629e 100755 --- a/extra/project-euler/040/040.factor +++ b/extra/project-euler/040/040.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.parser sequences strings ; +USING: kernel math math.parser sequences strings project-euler.common ; IN: project-euler.040 ! http://projecteuler.net/index.php?section=problems&id=40 @@ -48,4 +48,4 @@ PRIVATE> ! [ euler040 ] 100 ave-time ! 444 ms ave run time - 23.64 SD (100 trials) -MAIN: euler040 +SOLUTION: euler040 diff --git a/extra/project-euler/041/041.factor b/extra/project-euler/041/041.factor index d6d428a11f..751ddd3450 100644 --- a/extra/project-euler/041/041.factor +++ b/extra/project-euler/041/041.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math.combinatorics math.parser math.primes sequences ; +USING: kernel math.combinatorics math.parser math.primes sequences project-euler.common ; IN: project-euler.041 ! http://projecteuler.net/index.php?section=problems&id=41 @@ -37,4 +37,4 @@ IN: project-euler.041 ! [ euler041 ] 100 ave-time ! 64 ms ave run time - 4.22 SD (100 trials) -MAIN: euler041 +SOLUTION: euler041 diff --git a/extra/project-euler/042/042.factor b/extra/project-euler/042/042.factor index c8236db118..8c74cc9b31 100644 --- a/extra/project-euler/042/042.factor +++ b/extra/project-euler/042/042.factor @@ -71,4 +71,4 @@ PRIVATE> ! [ euler042a ] 100 ave-time ! 21 ms ave run time - 2.2 SD (100 trials) -MAIN: euler042a +SOLUTION: euler042a diff --git a/extra/project-euler/043/043.factor b/extra/project-euler/043/043.factor index 21e9ec8e60..7edcd14364 100644 --- a/extra/project-euler/043/043.factor +++ b/extra/project-euler/043/043.factor @@ -97,4 +97,4 @@ PRIVATE> ! [ euler043a ] 100 ave-time ! 10 ms ave run time - 1.37 SD (100 trials) -MAIN: euler043a +SOLUTION: euler043a diff --git a/extra/project-euler/044/044.factor b/extra/project-euler/044/044.factor index 46b20253ee..8fc979e8bc 100644 --- a/extra/project-euler/044/044.factor +++ b/extra/project-euler/044/044.factor @@ -45,4 +45,4 @@ PRIVATE> ! TODO: this solution is ugly and not very efficient...find a better algorithm -MAIN: euler044 +SOLUTION: euler044 diff --git a/extra/project-euler/045/045.factor b/extra/project-euler/045/045.factor index ca5cd83f41..939b8416bb 100644 --- a/extra/project-euler/045/045.factor +++ b/extra/project-euler/045/045.factor @@ -46,4 +46,4 @@ PRIVATE> ! [ euler045 ] 100 ave-time ! 12 ms ave run time - 1.71 SD (100 trials) -MAIN: euler045 +SOLUTION: euler045 diff --git a/extra/project-euler/046/046.factor b/extra/project-euler/046/046.factor index b5ff6a9b81..e4b8dcc955 100755 --- a/extra/project-euler/046/046.factor +++ b/extra/project-euler/046/046.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions math.primes math.ranges sequences ; +USING: kernel math math.functions math.primes math.ranges sequences project-euler.common ; IN: project-euler.046 ! http://projecteuler.net/index.php?section=problems&id=46 @@ -49,4 +49,4 @@ PRIVATE> ! [ euler046 ] 100 ave-time ! 37 ms ave run time - 3.39 SD (100 trials) -MAIN: euler046 +SOLUTION: euler046 diff --git a/extra/project-euler/047/047.factor b/extra/project-euler/047/047.factor index 9caaa8776f..e251045cd4 100644 --- a/extra/project-euler/047/047.factor +++ b/extra/project-euler/047/047.factor @@ -1,7 +1,7 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. USING: arrays kernel math math.primes math.primes.factors - math.ranges namespaces sequences ; + math.ranges namespaces sequences project-euler.common ; IN: project-euler.047 ! http://projecteuler.net/index.php?section=problems&id=47 @@ -93,4 +93,4 @@ PRIVATE> ! TODO: I don't like that you have to specify the upper bound, maybe try making ! this lazy so it could also short-circuit when it finds the answer? -MAIN: euler047a +SOLUTION: euler047a diff --git a/extra/project-euler/048/048.factor b/extra/project-euler/048/048.factor index baa1a430e8..e56b9e9548 100644 --- a/extra/project-euler/048/048.factor +++ b/extra/project-euler/048/048.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions sequences ; +USING: kernel math math.functions sequences project-euler.common ; IN: project-euler.048 ! http://projecteuler.net/index.php?section=problems&id=48 @@ -22,4 +22,4 @@ IN: project-euler.048 ! [ euler048 ] 100 ave-time ! 276 ms run / 1 ms GC ave time - 100 trials -MAIN: euler048 +SOLUTION: euler048 diff --git a/extra/project-euler/050/050.factor b/extra/project-euler/050/050.factor index f8ce68d173..a97e16d0fa 100644 --- a/extra/project-euler/050/050.factor +++ b/extra/project-euler/050/050.factor @@ -87,4 +87,4 @@ PRIVATE> ! [ euler050 ] 100 ave-time ! 291 ms run / 20.6 ms GC ave time - 100 trials -MAIN: euler050 +SOLUTION: euler050 diff --git a/extra/project-euler/052/052.factor b/extra/project-euler/052/052.factor index 6245a794af..1b3b9ba1f1 100644 --- a/extra/project-euler/052/052.factor +++ b/extra/project-euler/052/052.factor @@ -49,4 +49,4 @@ PRIVATE> ! [ euler052 ] 100 ave-time ! 92 ms ave run time - 6.29 SD (100 trials) -MAIN: euler052 +SOLUTION: euler052 diff --git a/extra/project-euler/053/053.factor b/extra/project-euler/053/053.factor index d264bca4bf..111b8147fb 100644 --- a/extra/project-euler/053/053.factor +++ b/extra/project-euler/053/053.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.combinatorics math.ranges sequences ; +USING: kernel math math.combinatorics math.ranges sequences project-euler.common ; IN: project-euler.053 ! http://projecteuler.net/index.php?section=problems&id=53 @@ -32,4 +32,4 @@ IN: project-euler.053 ! [ euler053 ] 100 ave-time ! 52 ms ave run time - 4.44 SD (100 trials) -MAIN: euler053 +SOLUTION: euler053 diff --git a/extra/project-euler/055/055.factor b/extra/project-euler/055/055.factor index d07d0c8e31..43f380b3ba 100644 --- a/extra/project-euler/055/055.factor +++ b/extra/project-euler/055/055.factor @@ -66,4 +66,4 @@ PRIVATE> ! [ euler055 ] 100 ave-time ! 478 ms ave run time - 30.63 SD (100 trials) -MAIN: euler055 +SOLUTION: euler055 diff --git a/extra/project-euler/056/056.factor b/extra/project-euler/056/056.factor index e2d95e27c1..76c275e4dd 100644 --- a/extra/project-euler/056/056.factor +++ b/extra/project-euler/056/056.factor @@ -29,4 +29,4 @@ IN: project-euler.056 ! [ euler056 ] 100 ave-time ! 22 ms ave run time - 2.13 SD (100 trials) -MAIN: euler056 +SOLUTION: euler056 diff --git a/extra/project-euler/057/057.factor b/extra/project-euler/057/057.factor index 53240b0ec1..681a17dd9e 100644 --- a/extra/project-euler/057/057.factor +++ b/extra/project-euler/057/057.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Samuel Tardieu ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions math.parser sequences ; +USING: kernel math math.functions math.parser sequences project-euler.common ; IN: project-euler.057 ! http://projecteuler.net/index.php?section=problems&id=57 @@ -40,4 +40,4 @@ IN: project-euler.057 ! [ euler057 ] time ! 3.375118 seconds -MAIN: euler057 +SOLUTION: euler057 diff --git a/extra/project-euler/059/059.factor b/extra/project-euler/059/059.factor index 0abd753c09..9a2fb8c868 100644 --- a/extra/project-euler/059/059.factor +++ b/extra/project-euler/059/059.factor @@ -2,7 +2,7 @@ ! See http://factorcode.org/license.txt for BSD license. USING: arrays ascii assocs hashtables io.encodings.ascii io.files kernel math math.parser namespaces make sequences sequences.private sorting - splitting grouping strings sets accessors ; + splitting grouping strings sets accessors project-euler.common ; IN: project-euler.059 ! http://projecteuler.net/index.php?section=problems&id=59 @@ -89,4 +89,4 @@ PRIVATE> ! [ euler059 ] 100 ave-time ! 8 ms ave run time - 1.4 SD (100 trials) -MAIN: euler059 +SOLUTION: euler059 diff --git a/extra/project-euler/067/067.factor b/extra/project-euler/067/067.factor index 3f9d67091d..7f3472f306 100644 --- a/extra/project-euler/067/067.factor +++ b/extra/project-euler/067/067.factor @@ -59,4 +59,4 @@ PRIVATE> ! [ euler067a ] 100 ave-time ! 21 ms ave run time - 2.65 SD (100 trials) -MAIN: euler067a +SOLUTION: euler067a diff --git a/extra/project-euler/071/071.factor b/extra/project-euler/071/071.factor index 69d9eb1a03..cccf6bf708 100644 --- a/extra/project-euler/071/071.factor +++ b/extra/project-euler/071/071.factor @@ -46,4 +46,4 @@ PRIVATE> ! [ euler071 ] 100 ave-time ! 155 ms ave run time - 6.95 SD (100 trials) -MAIN: euler071 +SOLUTION: euler071 diff --git a/extra/project-euler/073/073.factor b/extra/project-euler/073/073.factor index 68dcd01e0d..c7e8805722 100644 --- a/extra/project-euler/073/073.factor +++ b/extra/project-euler/073/073.factor @@ -49,4 +49,4 @@ PRIVATE> ! [ euler073 ] 10 ave-time ! 20506 ms ave run time - 937.07 SD (10 trials) -MAIN: euler073 +SOLUTION: euler073 diff --git a/extra/project-euler/075/075.factor b/extra/project-euler/075/075.factor index 2b5b931165..5f54d8508e 100755 --- a/extra/project-euler/075/075.factor +++ b/extra/project-euler/075/075.factor @@ -75,4 +75,4 @@ PRIVATE> ! [ euler075 ] 10 ave-time ! 3341 ms ave run timen - 157.77 SD (10 trials) -MAIN: euler075 +SOLUTION: euler075 diff --git a/extra/project-euler/076/076.factor b/extra/project-euler/076/076.factor index e332d9ef3e..e6ed9035d2 100644 --- a/extra/project-euler/076/076.factor +++ b/extra/project-euler/076/076.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: arrays assocs kernel locals math math.order math.ranges sequences ; +USING: arrays assocs kernel locals math math.order math.ranges sequences project-euler.common ; IN: project-euler.076 ! http://projecteuler.net/index.php?section=problems&id=76 @@ -56,4 +56,4 @@ PRIVATE> ! [ euler076 ] 100 ave-time ! 560 ms ave run time - 17.74 SD (100 trials) -MAIN: euler076 +SOLUTION: euler076 diff --git a/extra/project-euler/079/079.factor b/extra/project-euler/079/079.factor index ad75c43c42..3ad7406703 100644 --- a/extra/project-euler/079/079.factor +++ b/extra/project-euler/079/079.factor @@ -1,7 +1,7 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. USING: assocs io.encodings.ascii io.files kernel make math math.parser - sequences sets ; + sequences sets project-euler.common ; IN: project-euler.079 ! http://projecteuler.net/index.php?section=problems&id=79 @@ -63,4 +63,4 @@ PRIVATE> ! TODO: prune and diff are relatively slow; topological sort could be ! cleaned up and generalized much better, but it works for this problem -MAIN: euler079 +SOLUTION: euler079 diff --git a/extra/project-euler/092/092.factor b/extra/project-euler/092/092.factor index c778fd9525..4901eae342 100644 --- a/extra/project-euler/092/092.factor +++ b/extra/project-euler/092/092.factor @@ -50,4 +50,4 @@ PRIVATE> ! TODO: this solution is not very efficient, much better optimizations exist -MAIN: euler092 +SOLUTION: euler092 diff --git a/extra/project-euler/097/097.factor b/extra/project-euler/097/097.factor index 6e6547a7e9..a8895c215a 100644 --- a/extra/project-euler/097/097.factor +++ b/extra/project-euler/097/097.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. -USING: math math.functions ; +USING: math math.functions project-euler.common ; IN: project-euler.097 ! http://projecteuler.net/index.php?section=problems&id=97 @@ -28,4 +28,4 @@ IN: project-euler.097 ! [ euler097 ] 100 ave-time ! 0 ms ave run timen - 0.22 SD (100 trials) -MAIN: euler097 +SOLUTION: euler097 diff --git a/extra/project-euler/099/099.factor b/extra/project-euler/099/099.factor index ebc830cf00..30bf52bebb 100644 --- a/extra/project-euler/099/099.factor +++ b/extra/project-euler/099/099.factor @@ -1,7 +1,7 @@ ! Copyright (c) 2008 Aaron Schaefer. ! See http://factorcode.org/license.txt for BSD license. USING: io.encodings.ascii io.files kernel math math.functions math.parser - math.vectors sequences splitting ; + math.vectors sequences splitting project-euler.common ; IN: project-euler.099 ! http://projecteuler.net/index.php?section=problems&id=99 @@ -49,4 +49,4 @@ PRIVATE> ! [ euler099 ] 100 ave-time ! 16 ms ave run timen - 1.67 SD (100 trials) -MAIN: euler099 +SOLUTION: euler099 diff --git a/extra/project-euler/100/100.factor b/extra/project-euler/100/100.factor index ec372add3b..6f05eb7120 100644 --- a/extra/project-euler/100/100.factor +++ b/extra/project-euler/100/100.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions sequences ; +USING: kernel math math.functions sequences project-euler.common ; IN: project-euler.100 ! http://projecteuler.net/index.php?section=problems&id=100 @@ -33,4 +33,4 @@ IN: project-euler.100 ! [ euler100 ] 100 ave-time ! 0 ms ave run time - 0.14 SD (100 trials) -MAIN: euler100 +SOLUTION: euler100 diff --git a/extra/project-euler/116/116.factor b/extra/project-euler/116/116.factor index 742fe9d625..174618e147 100644 --- a/extra/project-euler/116/116.factor +++ b/extra/project-euler/116/116.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.ranges sequences ; +USING: kernel math math.ranges sequences project-euler.common ; IN: project-euler.116 ! http://projecteuler.net/index.php?section=problems&id=116 @@ -57,4 +57,4 @@ PRIVATE> ! [ euler116 ] 100 ave-time ! 0 ms ave run time - 0.34 SD (100 trials) -MAIN: euler116 +SOLUTION: euler116 diff --git a/extra/project-euler/117/117.factor b/extra/project-euler/117/117.factor index b90a98173e..cb485d3ce2 100644 --- a/extra/project-euler/117/117.factor +++ b/extra/project-euler/117/117.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.order sequences splitting ; +USING: kernel math math.order sequences splitting project-euler.common ; IN: project-euler.117 ! http://projecteuler.net/index.php?section=problems&id=117 @@ -41,4 +41,4 @@ PRIVATE> ! [ euler117 ] 100 ave-time ! 0 ms ave run time - 0.29 SD (100 trials) -MAIN: euler117 +SOLUTION: euler117 diff --git a/extra/project-euler/134/134.factor b/extra/project-euler/134/134.factor index 0f009919d9..ef1cf30dc0 100644 --- a/extra/project-euler/134/134.factor +++ b/extra/project-euler/134/134.factor @@ -45,4 +45,4 @@ PRIVATE> ! [ euler134 ] 10 ave-time ! 933 ms ave run timen - 19.58 SD (10 trials) -MAIN: euler134 +SOLUTION: euler134 diff --git a/extra/project-euler/148/148.factor b/extra/project-euler/148/148.factor index 5aa0299dda..582e103e56 100644 --- a/extra/project-euler/148/148.factor +++ b/extra/project-euler/148/148.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions sequences ; +USING: kernel math math.functions sequences project-euler.common ; IN: project-euler.148 ! http://projecteuler.net/index.php?section=problems&id=148 @@ -51,4 +51,4 @@ PRIVATE> ! [ euler148 ] 100 ave-time ! 0 ms ave run time - 0.17 SD (100 trials) -MAIN: euler148 +SOLUTION: euler148 diff --git a/extra/project-euler/150/150.factor b/extra/project-euler/150/150.factor index 1b84b25d37..e013e16575 100644 --- a/extra/project-euler/150/150.factor +++ b/extra/project-euler/150/150.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: hints kernel locals math math.order sequences sequences.private ; +USING: hints kernel locals math math.order sequences sequences.private project-euler.common ; IN: project-euler.150 ! http://projecteuler.net/index.php?section=problems&id=150 @@ -75,4 +75,4 @@ PRIVATE> ! [ euler150 ] 10 ave-time ! 30208 ms ave run time - 593.45 SD (10 trials) -MAIN: euler150 +SOLUTION: euler150 diff --git a/extra/project-euler/151/151.factor b/extra/project-euler/151/151.factor index 7913cf9540..66c5a6301e 100644 --- a/extra/project-euler/151/151.factor +++ b/extra/project-euler/151/151.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: assocs combinators kernel math math.order namespaces sequences ; +USING: assocs combinators kernel math math.order namespaces sequences project-euler.common ; IN: project-euler.151 ! http://projecteuler.net/index.php?section=problems&id=151 @@ -76,4 +76,4 @@ DEFER: (euler151) ! [ euler151 ] 100 ave-time ! ? ms run time - 100 trials -MAIN: euler151 +SOLUTION: euler151 diff --git a/extra/project-euler/164/164.factor b/extra/project-euler/164/164.factor index 5bc4fdc74e..cea1472c0b 100644 --- a/extra/project-euler/164/164.factor +++ b/extra/project-euler/164/164.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: arrays assocs kernel math math.ranges sequences ; +USING: arrays assocs kernel math math.ranges sequences project-euler.common ; IN: project-euler.164 ! http://projecteuler.net/index.php?section=problems&id=164 @@ -35,4 +35,4 @@ PRIVATE> ! [ euler164 ] 100 ave-time ! 7 ms ave run time - 1.23 SD (100 trials) -MAIN: euler164 +SOLUTION: euler164 diff --git a/extra/project-euler/169/169.factor b/extra/project-euler/169/169.factor index ef43fc3c34..5f0b853f0d 100644 --- a/extra/project-euler/169/169.factor +++ b/extra/project-euler/169/169.factor @@ -1,7 +1,7 @@ ! Copyright (c) 2007 Samuel Tardieu. ! See http://factorcode.org/license.txt for BSD license. IN: project-euler.169 -USING: combinators kernel math math.functions memoize ; +USING: combinators kernel math math.functions memoize project-euler.common ; ! http://projecteuler.net/index.php?section=problems&id=169 @@ -39,4 +39,4 @@ MEMO: fn ( n -- x ) ! [ euler169 ] 100 ave-time ! 0 ms ave run time - 0.2 SD (100 trials) -MAIN: euler169 +SOLUTION: euler169 diff --git a/extra/project-euler/173/173.factor b/extra/project-euler/173/173.factor index 757dfb017a..3fbef562eb 100644 --- a/extra/project-euler/173/173.factor +++ b/extra/project-euler/173/173.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Samuel Tardieu. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel math math.functions math.ranges sequences ; +USING: kernel math math.functions math.ranges sequences project-euler.common ; IN: project-euler.173 ! http://projecteuler.net/index.php?section=problems&id=173 @@ -35,4 +35,4 @@ PRIVATE> ! [ euler173 ] 100 ave-time ! 0 ms ave run time - 0.35 SD (100 trials) -MAIN: euler173 +SOLUTION: euler173 diff --git a/extra/project-euler/175/175.factor b/extra/project-euler/175/175.factor index 9aebcf565c..c99d670808 100644 --- a/extra/project-euler/175/175.factor +++ b/extra/project-euler/175/175.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2007 Samuel Tardieu. ! See http://factorcode.org/license.txt for BSD license. -USING: combinators kernel math math.parser math.ranges sequences vectors ; +USING: combinators kernel math math.parser math.ranges sequences vectors project-euler.common ; IN: project-euler.175 ! http://projecteuler.net/index.php?section=problems&id=175 @@ -55,4 +55,4 @@ PRIVATE> ! [ euler175 ] 100 ave-time ! 0 ms ave run time - 0.31 SD (100 trials) -MAIN: euler175 +SOLUTION: euler175 diff --git a/extra/project-euler/186/186.factor b/extra/project-euler/186/186.factor index 679748b3c2..a9e62ec3a9 100644 --- a/extra/project-euler/186/186.factor +++ b/extra/project-euler/186/186.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: circular disjoint-sets kernel math math.ranges sequences ; +USING: circular disjoint-sets kernel math math.ranges sequences project-euler.common ; IN: project-euler.186 ! http://projecteuler.net/index.php?section=problems&id=186 @@ -73,4 +73,4 @@ IN: project-euler.186 ! [ euler186 ] 10 ave-time ! 18572 ms ave run time - 796.87 SD (10 trials) -MAIN: euler186 +SOLUTION: euler186 diff --git a/extra/project-euler/190/190.factor b/extra/project-euler/190/190.factor index 84ab74bb03..ec52af0415 100644 --- a/extra/project-euler/190/190.factor +++ b/extra/project-euler/190/190.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel sequences math math.functions math.ranges locals ; +USING: kernel sequences math math.functions math.ranges locals project-euler.common ; IN: project-euler.190 ! http://projecteuler.net/index.php?section=problems&id=190 @@ -51,4 +51,4 @@ PRIVATE> ! [ euler150 ] 100 ave-time ! 5 ms ave run time - 1.01 SD (100 trials) -MAIN: euler190 +SOLUTION: euler190 diff --git a/extra/project-euler/203/203.factor b/extra/project-euler/203/203.factor index f2b5a2e212..2f165f6548 100644 --- a/extra/project-euler/203/203.factor +++ b/extra/project-euler/203/203.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: fry kernel math math.primes.factors sequences sets ; +USING: fry kernel math math.primes.factors sequences sets project-euler.common ; IN: project-euler.203 ! http://projecteuler.net/index.php?section=problems&id=203 @@ -61,4 +61,4 @@ PRIVATE> ! [ euler203 ] 100 ave-time ! 12 ms ave run time - 1.6 SD (100 trials) -MAIN: euler203 +SOLUTION: euler203 diff --git a/extra/project-euler/215/215.factor b/extra/project-euler/215/215.factor index 297fb69de3..30c42cc4be 100644 --- a/extra/project-euler/215/215.factor +++ b/extra/project-euler/215/215.factor @@ -1,6 +1,6 @@ ! Copyright (c) 2008 Eric Mertens. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel locals math ; +USING: accessors kernel locals math project-euler.common ; IN: project-euler.215 ! http://projecteuler.net/index.php?section=problems&id=215 @@ -89,4 +89,4 @@ PRIVATE> ! [ euler215 ] 100 ave-time ! 208 ms ave run time - 9.06 SD (100 trials) -MAIN: euler215 +SOLUTION: euler215 diff --git a/extra/project-euler/common/common.factor b/extra/project-euler/common/common.factor index ac8986b3ff..bd50f817b6 100644 --- a/extra/project-euler/common/common.factor +++ b/extra/project-euler/common/common.factor @@ -2,7 +2,8 @@ ! See http://factorcode.org/license.txt for BSD license. USING: arrays kernel make math math.functions math.matrices math.miller-rabin math.order math.parser math.primes.factors math.ranges math.ratios - sequences sorting strings unicode.case ; + sequences sorting strings unicode.case parser accessors vocabs.parser + namespaces vocabs words quotations prettyprint ; IN: project-euler.common ! A collection of words used by more than one Project Euler solution @@ -127,3 +128,10 @@ PRIVATE> : d-transform ( triple -- new-triple ) { { -1 -2 -2 } { 2 1 2 } { 2 2 3 } } transform ; +: SOLUTION: + scan-word + [ name>> "-main" append create-in ] keep + [ drop in get vocab (>>main) ] + [ [ . ] swap prefix (( -- )) define-declared ] + 2bi ; parsing + diff --git a/extra/project-euler/project-euler.factor b/extra/project-euler/project-euler.factor index f5bc95a8f7..3d10dbcfbd 100644 --- a/extra/project-euler/project-euler.factor +++ b/extra/project-euler/project-euler.factor @@ -44,8 +44,8 @@ PRIVATE> : run-project-euler ( -- ) problem-prompt dup problem-solved? [ + "Answer: " write dup number>euler "project-euler." prepend run - "Answer: " write dup number? [ number>string ] when print "Source: " write solution-path . ] [ drop "That problem has not been solved yet..." print