Calendar questions are not simple, as they are closely entangled with both astronomical phenomena and religious circumstances. The EASTER.EXE program calculates the correct Easter date for a given
year after 1582. It is written with PB 3.5; the Easter calculation is done in assembly language with JWASM for DOS.
The EASTER.PDF file contains some background information. Hopefully, these are comprehensible. I've made every effort to be factually correct. But the subject is really difficult and I didn't want to go into
too much detail. Did I succeed in doing that? I don't know. Some feedback on this would be nice.
The output of the program looks like that:
Application EASTER:
===================
This program performs astronomical and calendar calculations. First,
the date of Easter for an arbitrary year after 1582. The year must be
entered as an integer, otherwise the result will be nonsense.
Easter Sunday for the chosen year: April 17, 2022
Please, press any key to end the application...
In the text EASTER.PDF are mentioned boundary cases; these are of course calculated correctly. Here are the results for the lower limit:
- Easter Sunday for the chosen year: March 22, 1818
- Easter Sunday for the chosen year: March 22, 2285
For the upper limit applies:
- Easter Sunday for the chosen year: April 25, 1943
- Easter Sunday for the chosen year: April 25, 2038
The application only needs an 80386 and should therefore run under many DOS configurations. This, of course, must be tested. Any help for this I'm grateful.
Win3.1 + MS-DOS5.0 works ok.
Quote from: learn64bit on October 29, 2022, 06:21:19 PM
Win3.1 + MS-DOS5.0 works ok.
Thank you for the answer and your help. :thumbsup: Did you also read the background information in EASTER.PDF? Was that helpful?
But allow me to ask you one more question: On which machine are you still running Windows 3.1 -- obviously not 3.11 -- and DOS 5.0? That' s something you really
don't find very often these days.
Hi Gunther!
:thumbsup: Very interesting.
Perhaps "However, in that formula" could be better than "However, in this formula", because I was thinking in this program. :biggrin:
I think something is missing in: "avoiding the need for an exception." ( the need ... to prevent known exception ocurrences, exception catch, ¿?)
Regards, HSE.
HSE,
thank you for your response. :cool:
Quote from: HSE on October 30, 2022, 05:38:27 AM
Perhaps "However, in that formula" could be better than "However, in this formula", because I was thinking in this program. :biggrin:
Is that in EASTER.PDF or in the source code?
Quote from: HSE on October 30, 2022, 05:38:27 AM
I think something is missing in: "avoiding the need for an exception." ( the need ... to prevent known exception ocurrences, exception catch, ¿?)
That's probably correct. The Gaussian Easter formula mentioned in EASTER.PDF can be used in both the Julian and the Gregorian calendar. But there's a price to pay for that.
Although the Gaussian Easter formula elegantly summarizes the Easter algorithm, the specification of the latest Easter Sunday as April 25, contained in two exception rules,
is not captured by the formula itself. In other words: The Gaussian formula needs exceptional rules.
This is not the case with the Easter formula I've been using. However, this formula works only for the Gregorian calendar. Therefore, the program rejects any year before 1583.
Was that your point of critique?
Gunther,
Quote from: Gunther on October 30, 2022, 09:00:09 AM
Was that your point of critique?
I think "an exception" or "exceptional rules" is not English Language but jargon. A limited group of persons can understand perfectly what you mean, but not eveybody. It's not my jargon, I can imagine what could be, but perhaps I'm wrong because that is not in the text.
HSE,
Quote from: HSE on October 30, 2022, 09:47:47 AM
I think "an exception" or "exceptional rules" is not English Language but jargon.
Well, I'm not a native speaker. However, I think exception (https://www.merriam-webster.com/dictionary/exception#synonyms) is anything but jargon or slang. I also think that
the phrase
the exception that proves the rule (https://dictionary.cambridge.org/dictionary/english/exception-that-proves-the-rule) is understood by more than just a limited group of persons.
But hey, what do I know? How would you formulate it then? No offense intended.
Gunther,
Quote from: Gunther on October 30, 2022, 10:17:21 AM
No offense intended.
:biggrin: No problem
Quote from: Gunther on October 30, 2022, 10:17:21 AM
How would you formulate it then?
You know exactly what problems calculation of Gauss equation have, perhaps indetermination for some inputs, results are valid for a limited range of inputs. I don't know. Just sound incorrect to say that an equation have exceptions. Equations don't have exceptions.
If intended audience understand what you mean, that is Ok.
Gunther,
No, I never saw a real machine running MS-DOSv5 and Win3.1 in my life yet...
I run they in "fake machine", like VMwareWorkstation,VMvirtualBox,PCem,86box,AltairZ80simulator...
learn64bit,
Quote from: learn64bit on October 30, 2022, 05:59:36 PM
I run they in "fake machine", like VMwareWorkstation,VMvirtualBox,PCem,86box,AltairZ80simulator...
Ah, a virtual machine. That makes it clear. Where can I find the installation disks?
Hi,
Quote from: Gunther on October 29, 2022, 09:13:52 AM
The EASTER.PDF file contains some background information. Hopefully, these are comprehensible. I've made every effort to be factually correct. But the subject is really difficult and I didn't want to go into
too much detail. Did I succeed in doing that? I don't know. Some feedback on this would be nice.
I think the PDF is well written. The level of detail is rather good. Nice use
of the word 'manifold'. Perhaps the formulas could add information. But
you include source code and references, and it might be too complicated for
easy reading. To address HSE's concerns; "avoiding the need for an
exception." could be changed to "without needing a correction." However,
your wording is perfectly fine. Unambiguous in its context. A nice clean
document overall.
The program runs in Win 2000's NTVDM without problems.
Regards,
Steve N.
Abandoned files (https://winworldpc.com/library/operating-systems)
Gunther,
https://winworldpc.com
I download MS-Word 97, Word 6.0 for Win, DOSv5.0, Win3.1...Adobe Acrobat Read v3... from this site.
HSE,
more and more I understand what you mean.
Quote from: HSE on October 30, 2022, 11:38:12 AM
You know exactly what problems calculation of Gauss equation have, ...
But you are on thin ice with this. There are good reasons why it's called Gaussian Easter formula and not Gaussian Easter equation. It's not a classical equation, like the solution formula for quadratic equations.
The Gaussian Easter formula is more an algorithm. Why it was not called Gaussian Easter algorithm, I can speculate only. There is a Gaussian algorithm for solving linear equation systems. Perhaps one wanted
to avoid confusion? Be that as it may, we have to live with the name as it has become established.
Quote from: HSE on October 30, 2022, 11:38:12 AM
Just sound incorrect to say that an equation have exceptions. Equations don't have exceptions.
However, an algorithm may very well have exceptions. And by the way, there are many equations that have also exceptions. Here's an example. You can apply many mathematical operations to an equation as long
as it's done on both sides. But division by 0 is an exception in any case.
TimoVJL,
Quote from: TimoVJL on October 30, 2022, 11:59:25 PM
Abandoned files (https://winworldpc.com/library/operating-systems)
learn64bit,
Quote from: learn64bit on October 31, 2022, 12:02:36 AM
https://winworldpc.com
these are both interesting sites. But is downloading from there legal?
that's a very complicated question.... I don't know who set which specific law for you...
for your safety, you should use a VPN...
Gunther,
Quote from: Gunther on October 31, 2022, 12:36:05 AM
The Gaussian Easter formula is more an algorithm. Why it was not called Gaussian Easter algorithm, I can speculate only. There is a Gaussian algorithm for solving linear equation systems. Perhaps one wanted
to avoid confusion? Be that as it may, we have to live with the name as it has become established.
:thumbsup: Perhaps that worth to add a line for a broader audience.
Obviously Steve understood everything perfectly :biggrin:
HSE
it works well on dosbox here :thumbsup:
there are also gaussian blur formula
Steve,
Quote from: FORTRANS on October 30, 2022, 11:53:41 PM
The program runs in Win 2000's NTVDM without problems.
That's the way it's supposed to be. Surely it will run in the DOS emulation of OS/2 without any problems.
Thank you for the warm words about the PDF file. I thought about the individual formulations for a long time. I may include your suggestion in the next version. The EASTER program
is part of a larger project for calendar questions and astronomical calculations. Currently, I am struggling with the Julian date (not to be confused with the Julian calendar) and the
respective converting. This is not so simple also with regard to the required data types. PB for DOS has BCD floating point numbers. This data type would be well suited. I don't know
yet how I'll manage it with the MSVCRT.
Laws are simple, for not commercial usage, different for other purboses.
Usually acadimic people knows those thing, like is it allowed, that virusscanners can examine all programs not making contracts for every one ?
TimoVJL,
Quote from: TimoVJL on October 31, 2022, 01:11:02 AM
Laws are simple, for not commercial usage, different for other purboses.
In practice, it is not that simple. Ask Hutch what efforts he made to include the assembler and linker in the MASM32 project. Microsoft has a large legal department with many excellent lawyers.
I prefer not to make any acquaintance with them.
daydreamer,
Quote from: daydreamer on October 31, 2022, 01:02:10 AM
it works well on dosbox here :thumbsup:
thank you for your response and the test. :thumbsup:
Quote from: daydreamer on October 31, 2022, 01:02:10 AM
there are also gaussian blur formula
Yes, of course. Every halfway reasonable image processing program has it.
HSE,
Quote from: HSE on October 31, 2022, 01:00:07 AM
:thumbsup: Perhaps that worth to add a line for a broader audience.
Perhaps, when I find the time to do so.
Quote from: Gunther on October 31, 2022, 03:30:25 AM
Quote from: daydreamer on October 31, 2022, 01:02:10 AM
there are also gaussian blur formula
Yes, of course. Every halfway reasonable image processing program has it.
I do some 3d cg art,that sometimes need to postwork to correct render artifacts, sometimes knees and elbows need to be fixed and last step I use a weak gaussian blur to hide where I postwork image
Sometimes I create my own textures
Right now I working on asm program that creates greyscale heightmaps for import in 3d landscape program
daydreamer,
Quote from: daydreamer on October 31, 2022, 04:00:41 AM
I do some 3d cg art,that sometimes need to postwork to correct render artifacts, sometimes knees and elbows need to be fixed and last step I use a weak gaussian blur to hide where I postwork image
That sounds interesting.
Quote from: daydreamer on October 31, 2022, 04:00:41 AM
Sometimes I create my own textures
What is the purpose for that? Background for a computer game?
Quote from: daydreamer on October 31, 2022, 04:00:41 AM
Right now I working on asm program that creates greyscale heightmaps for import in 3d landscape program
Sounds a bit like George Lucas.
Hi Gunther,
The power went out for around an hour, so I tracked down
my copy of "Astronomical Algorithms". Amazing what one does
with time on their hands. Surprised me a bit that I actually found
it. Anyway, reading up on his description of the method of finding
the date of Easter, I can easily see why you did not include it in
your document. But including the reference did allow me to see
what it is.
Cheers,
Steve N.
Steve,
Quote from: FORTRANS on October 31, 2022, 05:42:58 AM
... Anyway, reading up on his description of the method of finding
the date of Easter, I can easily see why you did not include it in
your document. But including the reference did allow me to see
what it is.
There are no secrets in the Easter formula I've used. This has all been published long ago and anyone can read it. In the meantime, I even found the corresponding article (https://en.wikipedia.org/wiki/Date_of_Easter#Anonymous_Gregorian_algorithm) in Wikipedia. The only difference is that some variables
are named differently there. Is it really necessary to repeat everything again in the PDF document?
Hi,
Quote from: Gunther on October 31, 2022, 06:56:05 AM
Steve,
Quote from: FORTRANS on October 31, 2022, 05:42:58 AM
... Anyway, reading up on his description of the method of finding
the date of Easter, I can easily see why you did not include it in
your document. But including the reference did allow me to see
what it is.
There are no secrets in the Easter formula I've used. This has all been published long ago and anyone can read it. In the meantime, I even found the corresponding article (https://en.wikipedia.org/wiki/Date_of_Easter#Anonymous_Gregorian_algorithm) in Wikipedia. The only difference is that some variables
are named differently there. Is it really necessary to repeat everything again in the PDF document?
No.
Originally I thought a small formula would be easy to include
and might illustrate what was going on in your program. Reading about it
showed me it was dull, wordy, and would add little, if anything, to your
paper. So I think you were correct in not including it
now. I had
thought that was what I said above, more or less. Again, I think you
wrote a good paper aimed at the interested layperson. Thank you for
sharing it as well.
Regards,
Steve
Steve,
Quote from: FORTRANS on October 31, 2022, 07:28:13 AM
... Originally I thought a small formula would be easy to include
and might illustrate what was going on in your program.
it's more than just a little formula, unfortunately. Before Gauss developed his Easter formula, the calculation of the date of Easter was very cumbersome and mysterious.
For example, one needed the Golden Number of the respective year, the so-called epact and other values. Then, by using comprehensive tables, it was possible to determine
the date for Easter Sunday. This was a job for insiders and specialists. With Gauss' Easter formula, however, it then became possible to determine the date without tables
by a series of divisions and modulo calculations. This was a great step forward.
However, it means that you have to calculate 10 different parameters. With the algorithm I used, there are even 14. Roughly speaking, these algorithms split into 2 parts.
The first part is the approximate tracking of the lunar orbiting and the second part is the exact deterministic offsetting to obtain a Sunday following the full moon. But I didn't
want to bore readers with all the technical details.
Quote from: FORTRANS on October 31, 2022, 07:28:13 AM
... Again, I think you
wrote a good paper aimed at the interested layperson. Thank you for
sharing it as well.
Thank you. The question: what to explain, what to leave out is always a tightrope walk. I hope I've succeeded to some extent.
Funny, with SQL
https://www.sqlservercentral.com/scripts/calculating-easter-in-sql
Quote from: Gunther on October 31, 2022, 05:16:41 AM
What is the purpose for that? Background for a computer game?
Quote from: daydreamer on October 31, 2022, 04:00:41 AM
Right now I working on asm program that creates greyscale heightmaps for import in 3d landscape program
Sounds a bit like George Lucas.
the start of art interest was to make sprites,tiles,backgrounds and evolved to a nice relaxing hobby,but recent game art is lowpoly 3d models
its my interest of someday make a tiny demo that use lot of procedural creation and right now inspired by Carl Sagan tv series about space had Cg animations
I also coded the easter algo before,it seems like long ago it was the real full moon,but it now seem like a hypothetical fullmoon?,but today enough for calculate when easter shall be in calendar ?and that will suffice for churches
its nice to have document for lay persons,but programmers interest in formulas,could be instead in comments?
daydreamer,
Quote from: daydreamer on October 31, 2022, 09:55:02 AM
I also coded the easter algo before,it seems like long ago it was the real full moon,but it now seem like a hypothetical fullmoon?
Yes. Easter isn't determined according to the exact, astronomical course of the moon, but according to a simplified course. It can therefore happen that Easter is celebrated astronomically at the wrong time.
The ecclesiastical Easter reckoning uses for its calculations the fact that 19 revolutions of the earth around the sun (casually: 19 years) correspond quite exactly to 235 synodic months:
- 19 ∙ 365.24219 = 6939.6016 days or 6939 days and 14.439 hours
- 235 ∙ 29.53059 days = 6939.6887 days or 6939 days and 16.528 hours
Only after about 11.5 cycles or about 218 years, this small difference of about 2 hours will have added up to 1 day. This cycle of 19 years is called after its discoverer, the Astronomer Meton of Athens (5th century B.C.),
the Meton cycle. It has the consequence that the moon phases practically repeat after 19 earth revolutions around the sun or after 19 years. That is - illustratively speaking - the background for the effect.
Quote from: daydreamer on October 31, 2022, 09:55:02 AM
its nice to have document for lay persons,but programmers interest in formulas,could be instead in comments?
The source code of EASTER.ASM is part of the ZIP archive. The calculations are done by the procedure
EasterDate. I made sure that it was well commented.