From c37d9bd1a00877e736e39acc60eda055a60dbf00 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Tue, 3 Dec 2024 12:32:55 -0800 Subject: [PATCH 1/3] add fish implementations for loop & fibonacci --- fibonacci/fish/code.fish | 18 ++++++++++++++++++ loops/fish/code.fish | 10 ++++++++++ run.sh | 1 + 3 files changed, 29 insertions(+) create mode 100755 fibonacci/fish/code.fish create mode 100755 loops/fish/code.fish diff --git a/fibonacci/fish/code.fish b/fibonacci/fish/code.fish new file mode 100755 index 00000000..52a953bc --- /dev/null +++ b/fibonacci/fish/code.fish @@ -0,0 +1,18 @@ +#!/usr/bin/env fish + +function fibonacci + if test $argv[1] -eq 0 + echo 0 + else if test $argv[1] -eq 1 + echo 1 + else + echo (fibonacci (math $argv[1] - 1)) + (fibonacci (math $argv[1] - 2)) + end +end + +set -l u (math $argv[1] - 1) +set -l r 0 +for i in (seq 0 $u) + set r (math $r + (fibonacci $i)) +end +echo $r diff --git a/loops/fish/code.fish b/loops/fish/code.fish new file mode 100755 index 00000000..1fcff980 --- /dev/null +++ b/loops/fish/code.fish @@ -0,0 +1,10 @@ +#!/usr/bin/env fish + +set -l u (math $argv[1]) +set -l r (math (random) % 10000) +set -l a (seq 10000) + +for i in $a + set a[$i] (math $a[$i] + $r) +end +echo $a[$r] diff --git a/run.sh b/run.sh index 4b59224e..c04b5df4 100755 --- a/run.sh +++ b/run.sh @@ -49,3 +49,4 @@ run "C#" "./csharp/code/csharp 40" run "Ruby" "ruby ./ruby/code.rb 40" run "Ruby YJIT" "miniruby --yjit ./ruby/code.rb 40" run "Haskell" "./hs/code 40" +run "Fish" "./fish/code 40" \ No newline at end of file From 3276d7076e430a901005e73ac2bcd74ebfdf04e2 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Fri, 6 Dec 2024 09:32:40 -0800 Subject: [PATCH 2/3] fish: fix loop logic --- loops/fish/code.fish | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/loops/fish/code.fish b/loops/fish/code.fish index 1fcff980..2c84071e 100755 --- a/loops/fish/code.fish +++ b/loops/fish/code.fish @@ -2,9 +2,15 @@ set -l u (math $argv[1]) set -l r (math (random) % 10000) -set -l a (seq 10000) +set -l a +for i in (seq 10000) + set -a a 0 +end -for i in $a +for i in (seq 10000) + for j in (seq 100000) + set a[$i] (math $a[$i] + $j % $u) + end set a[$i] (math $a[$i] + $r) end echo $a[$r] From 8e24daa6092658be0a46a5be150731ae57c73385 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Fri, 6 Dec 2024 09:49:59 -0800 Subject: [PATCH 3/3] fix: .fish extension in run script --- run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.sh b/run.sh index f6bbb00e..d0fcc49b 100755 --- a/run.sh +++ b/run.sh @@ -54,4 +54,4 @@ run "AWK" "awk -f ./awk/code.awk 40" run "MAWK" "mawk -f ./awk/code.awk 40" run "Clojure" "java -cp clojure/classes:$(clojure -Spath) code 40" run "Babashka" "bb -cp clojure -m code 40" -run "Fish" "./fish/code 40" +run "Fish" "./fish/code.fish 40"