Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Comment: | Correct qsort1, don't nest gear pairs, build up triples and concat
The qsort1 definition was wrong, hence the comment about the wrong http://www.kevinalbrecht.com/code/joy-mirror/j06prg.html isn't just `swap`, but rather `[swap] dip`. However, before I realised |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4535761621f7455fe961e4b415df644c |
User & Date: | base@atomicules.co.uk 2014-02-06 10:17:17 |
2014-02-06
| ||
13:07 |
Oooh, starting to get the hang of this. Ratios takes littlegears as arg
Biggears is still defined inline, but ratios is now a proper function. check-in: e2673caf01 user: base@atomicules.co.uk tags: origin/master, trunk | |
10:17 |
Correct qsort1, don't nest gear pairs, build up triples and concat
The qsort1 definition was wrong, hence the comment about the wrong http://www.kevinalbrecht.com/code/joy-mirror/j06prg.html isn't just `swap`, but rather `[swap] dip`. However, before I realised | |
2014-02-05
| ||
12:18 | First commit, adding new file. Almost working check-in: 8e5a99e87b user: base@atomicules.co.uk tags: origin/master, trunk | |
Changes to joycog.joy.
1 2 3 4 5 6 7 8 | (* joycog.joy *) (* Given two lists of gear sprockets will calculate all ratios *) DEFINE (* Constants. Ultimately these want to be arguments to the programme *) littlegears == [12 13 15 17 19 21 23 26]; | | | | > | | < < | | < | < < < | | < | | > | > | | | | | | | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | (* joycog.joy *) (* Given two lists of gear sprockets will calculate all ratios *) DEFINE (* Constants. Ultimately these want to be arguments to the programme *) littlegears == [12 13 15 17 19 21 23 26]; biggears == [34 50]; (* Build up list of ratios and gear pairs *) biggear1 == biggears first 1.0 *; biggear2 == biggears second 1.0 *; ratios1 == littlegears dup [biggear1 swap /] map swap zip [biggear1 unitlist concat] map; ratios2 == littlegears dup [biggear2 swap /] map swap zip [biggear2 unitlist concat] map; ratios == ratios1 ratios2 concat; (* Sort *) qsort1 == [ small ] [ ] [ uncons [[first] unary2 > ] split ] [ [swap] dip cons concat ] binrec; sorted == ratios qsort1. |