summaryrefslogtreecommitdiff
path: root/glpk-5.0/examples/cal.mod
diff options
context:
space:
mode:
authorPasha <pasha@member.fsf.org>2023-01-27 00:54:07 +0000
committerPasha <pasha@member.fsf.org>2023-01-27 00:54:07 +0000
commitef800d4ffafdbde7d7a172ad73bd984b1695c138 (patch)
tree920cc189130f1e98f252283fce94851443641a6d /glpk-5.0/examples/cal.mod
parentec4ae3c2b5cb0e83fb667f14f832ea94f68ef075 (diff)
downloadoneapi-master.tar.gz
oneapi-master.tar.bz2
simplex-glpk with modified glpk for fpgaHEADmaster
Diffstat (limited to 'glpk-5.0/examples/cal.mod')
-rw-r--r--glpk-5.0/examples/cal.mod49
1 files changed, 49 insertions, 0 deletions
diff --git a/glpk-5.0/examples/cal.mod b/glpk-5.0/examples/cal.mod
new file mode 100644
index 0000000..2555182
--- /dev/null
+++ b/glpk-5.0/examples/cal.mod
@@ -0,0 +1,49 @@
+/* cal.mod - print an ASCII calendar of the given year */
+
+/* Written in GNU MathProg by Andrew Makhorin <mao@gnu.org> */
+
+param year, integer, >= 0001, <= 3999, default 2010;
+
+param first_day{m in 1..12}, integer, >= 0, <= 6, :=
+ time2str(str2time(year & "-" & m & "-01", "%Y-%m-%d"), "%w");
+
+param days_in_month{m in 1..12}, integer, >= 28, <= 31, :=
+ (str2time(year + (if m < 12 then 0 else 1) & "-" &
+ (if m < 12 then m+1 else 1) & "-01", "%Y-%m-%d") -
+ str2time(year & "-" & m & "-01", "%Y-%m-%d")) / 86400;
+
+param foo{m in 1..12, k in 0..5, d in 0..6}, integer, :=
+ 7 * k + d + 1 - first_day[m];
+
+param cal{m in 1..12, k in 0..5, d in 0..6}, integer, :=
+ if 1 <= foo[m,k,d] and foo[m,k,d] <= days_in_month[m] then
+ foo[m,k,d];
+
+printf "\n";
+printf "%33s%04d\n", "", year;
+printf "\n";
+for {t in 1..12 by 3}
+{ for {m in t..t+2}
+ { printf "%7s%-14s", "", time2str(str2time(m, "%m"), "%B");
+ printf{0..0: m < t+2} " ";
+ }
+ printf "\n";
+ for {m in t..t+2}
+ { printf " S M Tu W Th F S";
+ printf{0..0: m < t+2} " ";
+ }
+ printf "\n";
+ for {k in 0..5}
+ { for {m in t..t+2}
+ { for {d in 0..6}
+ { printf{0..0: cal[m,k,d] = 0} " ";
+ printf{0..0: cal[m,k,d] != 0} " %2d", cal[m,k,d];
+ }
+ printf{0..0: m < t+2} " ";
+ }
+ printf "\n";
+ }
+}
+printf "\n";
+
+end;