View in color | License | Download script | History | Other scripts by: didec |
30-Apr 16:30 UTC
[0.066] 11.229k
[0.066] 11.229k
easter-day.rRebol [
title: "Compute the date of Easter day"
author: "Didier Cadieu, but many more"
date: 1-mar-2005
version: 1.1.0
file: %easter-day.r
purpose: {
Just a small function to compute the date of the Easter day.
Can be used to compute other dates related to Easter.
Should be accurate for years starting at 1583 to 2050, and
maybe more.
}
comment: {
I have implemented this function from known algorithm.
Many others have done the same (TomC, Allen Kamp...)
I have just uploaded to the Library before them ;-)
}
history: [
1.0.0 25-02-2005 {First release.}
1.1.1 01-03-2005 {Litle optimisation in the computation and locales words.}
]
library: [
level: 'beginner
platform: 'all
type: [function]
domain: [math scientific]
tested-under: [View 1.2.48.3.1 WinWP]
support: none
license: 'public-domain
see-also: none
]
]
easter-day: func [
{Compute the easter date for the wanted year.}
year [integer!] {Year for whitch you want the easter date}
/local a b c d z f g h i k
] [
a: year // 19
b: to integer! year / 100
c: year // 100
d: to integer! b / 4
z: b // 4
f: to integer! b + 8 / 25
g: to integer! b - f + 1 / 3
h: 19 * a + b - d - g + 15 // 30
i: to integer! c / 4
k: c // 4
c: z + i * 2 + 32 - h - k // 7
b: to integer! a + (11 * h) + (22 * c) / 451
a: h + c - (7 * b) + 114
to date! reduce [
a // 31 + 1
to integer! a / 31
year
]
] |