These programs are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Most are made available under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, but see the License conditions for each individual program.
A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks
and storage devices to detect accidental changes to raw data.
See Wikipedia.
This is a demonstration of the method described in Wikipedia.
CRC-32.There are many programs which compute the date of Easter Sunday.
This is a demonstration of the method described in the Book of Common Prayer.
Date of Easter.The Ferranti Mercury Computer (circa 1957) had a floating-point arithmetic unit but did not have a floating-point divide instruction. Floating-point division was performed by scaling the number into the range [0.5, 1.0) and then computing the reciprocal using a Newton-Raphson iteration. The result was then rescaled appropriately.
This is a demonstration of the method used on the Mercury.
Divison by Multiplication.This is a demonstration of using a shear transformation to draw ellipses. It is based on a paper by Nathan Dinsmore.
Drawing Ellipses.Two methods to generate Normally Distributed Pseudorandom Numbers.
Normally Distributed Pseudorandom Numbers.
This is a program to generate Kaprekar Routine Sequences.
For the historical and mathematical background see this Wikipedia article.
Two methods are provided to test if a point (p0) lies between two other points p1 and p2.
This is a demonstration of a method used to perform multiplication using cosine tables.
Prosthaphaeresis.This is a demonstration of the methods that may have been used to perform calculations with numbers represented in Roman Numerals.
Roman Arithmetic.Last updated Wednesday, February 22, 2023.