Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
a18e7cc
Adding flood fill in Coconut
Amaras Aug 5, 2020
7d2739b
Correcting copy-paste fails
Amaras Aug 5, 2020
5da3ae8
Flood Fill in C (#741)
Gathros Aug 6, 2020
d21dacd
Huffman Encoding Scratch Implementation (#682)
dovisutu Sep 10, 2020
aa08db0
Update monte_carlo.py (#751)
DougBR Sep 10, 2020
a4dbc2a
Fixed infinite loop issue in "euclidean_example.py" (#749)
valdaarhun Sep 11, 2020
9dcc06f
fix both error of issue 739 (#756)
Oct 12, 2020
627aed9
Add Flood Fill in Python (#753)
lazyprop Oct 12, 2020
fee7e83
Remove color function from flood fill because it is redundant (#766)
leios Oct 15, 2020
85f8e9a
Added Bogosort in Coconut (#735)
Amaras Oct 15, 2020
18944ea
Added Bubblesort in Coconut (#736)
Amaras Oct 15, 2020
f1aa057
Add Scheme alongside Racket in EditorConfig (#779)
berquist Nov 4, 2020
7bc0e22
Added CSS for printing (#777)
0xJonas Nov 5, 2020
91d5625
Added Cooley-Tukey in Lisp
0xJonas Nov 11, 2020
5a6ebd0
Make Euclid's algorithm in Nim more idiomatic (#784)
berquist Nov 11, 2020
153317d
Make Verlet integration in Nim more idiomatic (#782)
berquist Nov 11, 2020
0ca5ac6
Make Bogosort in Nim more idiomatic (#783)
berquist Nov 11, 2020
7ada7da
Formatting and refactoring
0xJonas Dec 27, 2020
c72caaf
Update contents/cooley_tukey/code/clisp/fft.lisp
0xJonas Dec 28, 2020
70822e9
Update contents/cooley_tukey/code/clisp/fft.lisp
0xJonas Dec 28, 2020
9d0a5bb
Update contents/cooley_tukey/code/clisp/fft.lisp
0xJonas Dec 28, 2020
2793edf
Update contents/cooley_tukey/code/clisp/fft.lisp
0xJonas Dec 28, 2020
8426216
Update contents/cooley_tukey/code/clisp/fft.lisp
0xJonas Dec 28, 2020
e92bcb7
Update contents/cooley_tukey/code/clisp/fft.lisp
0xJonas Dec 28, 2020
e631b57
Updated line number
0xJonas Dec 28, 2020
02dd353
Merge pull request #786 from 0xJonas/cooley-tukey-lisp
Trashtalk217 Jan 1, 2021
f9a6eda
Add Computus in Nim (#780)
berquist Jan 2, 2021
b49f034
Domain Coloring in Python using Matplotlib (#788)
0xJonas Jan 4, 2021
9d7349a
adding gif to show people how to change languages (#797)
leios Jan 25, 2021
5be74ec
Adding flood fill in Coconut
Amaras Aug 5, 2020
1949a10
Correcting copy-paste fails
Amaras Aug 5, 2020
a5c0f6b
Addressed part of Trashtalk's review
Amaras Feb 4, 2021
db00314
Merge remote-tracking branch 'origin/flood_fill_coconut' into flood_f…
Amaras Feb 4, 2021
f312994
Got closer to Julia's code logic + reworked the line numbers
Amaras Feb 4, 2021
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add Computus in Nim (#780)
  • Loading branch information
berquist authored Jan 2, 2021
commit f9a6edad0a9eb6d2e7f795fc539c41af88c30a99
45 changes: 45 additions & 0 deletions contents/computus/code/nim/gauss_easter.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import strformat

func computus(year: int, servois: bool = false): string =
let
# Year's position on the 19 year metonic cycle
a = year mod 19
# Century index
k = year div 100
# Shift of metonic cycle, add a day offset every 300 years
p = (13 + 8 * k) div 25
# Correction for non-observed leap days
q = k div 4
# Correction to starting point of calculation each century
m = (15 - p + k - q) mod 30
# Number of days from March 21st until the full moon
d = (19 * a + m) mod 30
# Returning of user wants value for Servois' table
if servois:
return $((21 + d) mod 31)
let
# Find the next Sunday
# Century-based offset in weekly calculation
n = (4 + k - q) mod 7
# Correction for leap days
b = year mod 4
c = year mod 7
# Days from d to next Sunday
temp_e = (2 * b + 4 * c + 6 * d + n) mod 7
# Historical corrections for April 26 and 25
e = if (d == 29 and temp_e == 6) or (d == 28 and temp_e == 6 and a > 10):
-1
else:
temp_e
# Determination of the correct month for Easter
if (22 + d + e) > 31:
result = "April {d + e - 9}".fmt
else:
result = "March {22 + d + e}".fmt

when isMainModule:
echo "The following are the dates of the Paschal full moon (using Servois "
echo "notation) and the date of Easter for 2020-2030 AD:"
echo "Year Servois number Easter"
for year in 2020..2030:
echo "{year} {computus(year, true):14} {computus(year, false):6}".fmt
2 changes: 2 additions & 0 deletions contents/computus/computus.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,8 @@ For now, we have the code outputting a tuple of $$d$$ and $$e$$, so users can us
[import, lang:"cpp"](code/c++/gauss_easter.cpp)
{% sample lang="lisp" %}
[import, lang:"lisp"](code/clisp/gauss-easter.lisp)
{% sample lang="nim" %}
[import, lang:"nim"](code/nim/gauss_easter.nim)
{% endmethod %}


Expand Down