Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,53 @@
include "cowgol.coh";
record Date is
year: uint16;
month: uint8;
day: uint8;
end record;
sub weekday(d: [Date]): (dayname: [uint8]) is
var daynames: [uint8][] := {
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"
};
var leapdoom: uint8[] := {4,7,1,4,2,6,4,1,5,3,7,5};
var normdoom: uint8[] := {3,7,7,4,2,6,4,1,5,3,7,5};
var c := d.year / 100;
var r := d.year % 100;
var s := r / 12;
var t := r % 12;
var can := (5 * (c%4) + 2) % 7;
var doom := (s + t + (t/4) + can) % 7;
var anchor: int16;
if d.year%4 == 0 and (d.year%100 != 0 or d.year%400 == 0) then
anchor := leapdoom[d.month-1] as int16;
else
anchor := normdoom[d.month-1] as int16;
end if;
var dayno := (doom as int16 + d.day as int16 - anchor + 7) % 7;
dayname := daynames[dayno as @indexof daynames];
end sub;
sub print_date(d: [Date]) is
print_i8(d.month); print_char('/');
print_i8(d.day); print_char('/');
print_i16(d.year); print(": ");
print(weekday(d));
print_nl();
end sub;
var dates: Date[] := {
{1800,1,6}, {1875,3,29}, {1915,12,7}, {1970,12,23}, {2043,5,14},
{2077,2,12}, {2101,4,2}
};
var i: @indexof dates := 0;
while i < @sizeof dates loop
print_date(&dates[i]);
i := i + 1;
end loop;