Mercurial > emacs
changeset 4521:2308b366bfc8
(calendar-/, calendar-%): Remove, since floor and mod
now subsume them. All callers changed.
author | Paul Eggert <eggert@twinsun.com> |
---|---|
date | Tue, 10 Aug 1993 04:14:17 +0000 |
parents | 362a75ca07d9 |
children | 8fbd7ec97c6d |
files | lisp/calendar/cal-dst.el lisp/calendar/cal-mayan.el |
diffstat | 2 files changed, 17 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calendar/cal-dst.el Tue Aug 10 04:14:17 1993 +0000 +++ b/lisp/calendar/cal-dst.el Tue Aug 10 04:14:17 1993 +0000 @@ -46,21 +46,6 @@ (calendar-absolute-from-gregorian '(1 1 1970)) "Absolute date of starting date of system clock.") -(defun calendar-/ (a b) - "Floor(A/B) = the greatest integer not greater than A divided by B. -A and B be must both be integers, and B must be positive." - (if (< a 0) - (- (/ (- b 1 a) b)) - (/ a b))) - -(defun calendar-% (a b) - "A modulo B; always nonnegative. -A and B be must both be integers, and B must be positive." - (let ((m (% a b))) - (if (< m 0) - (+ m b) - m))) - (defun calendar-absolute-from-time (x utc-diff) "Absolute local date of time X; local time is UTC-DIFF seconds from UTC. @@ -73,13 +58,13 @@ (let* ((h (car x)) (xtail (cdr x)) (l (+ utc-diff (if (numberp xtail) xtail (car xtail)))) - (u (+ (* 512 (calendar-% h 675)) (calendar-/ l 128)))) + (u (+ (* 512 (mod h 675)) (floor l 128)))) ;; Overflow is a terrible thing! (cons (+ calendar-system-time-basis ;; floor((2^16 h +l) / (60*60*24)) - (* 512 (calendar-/ h 675)) (calendar-/ u 675)) + (* 512 (mod h 675)) (floor u 675)) ;; (2^16 h +l) % (60*60*24) - (+ (* (calendar-% u 675) 128) (calendar-% l 128))))) + (+ (* (mod u 675) 128) (floor l 128))))) (defun calendar-time-from-absolute (abs-date s) "Time of absolute date ABS-DATE, S seconds after midnight. @@ -89,13 +74,13 @@ ignoring leap seconds, that is the equivalent moment to S seconds after midnight UTC on absolute date ABS-DATE." (let* ((a (- abs-date calendar-system-time-basis)) - (u (+ (* 163 (calendar-% a 512)) (calendar-/ s 128)))) + (u (+ (* 163 (mod a 512)) (floor s 128)))) ;; Overflow is a terrible thing! (cons ;; (60*60*24*a + s) / 2^16 - (+ a (* 163 (calendar-/ a 512)) (calendar-/ u 512)) + (+ a (* 163 (floor a 512)) (floor u 512)) ;; (60*60*24*a + s) % 2^16 - (+ (* 128 (calendar-% u 512)) (calendar-% s 128))))) + (+ (* 128 (mod u 512)) (mod s 128))))) (defun calendar-next-time-zone-transition (time) "Return the time of the next time zone transition after TIME.
--- a/lisp/calendar/cal-mayan.el Tue Aug 10 04:14:17 1993 +0000 +++ b/lisp/calendar/cal-mayan.el Tue Aug 10 04:14:17 1993 +0000 @@ -53,16 +53,9 @@ (require 'calendar) -(defun mayan-mod (m n) - "Returns M mod N; value is *always* non-negative when N>0." - (let ((v (% m n))) - (if (and (> 0 v) (> n 0)) - (+ v n) - v))) - (defun mayan-adjusted-mod (m n) "Non-negative remainder of M/N with N instead of 0." - (1+ (mayan-mod (1- m) n))) + (1+ (mod (1- m) n))) (defconst calendar-mayan-days-before-absolute-zero 1137140 "Number of days of the Mayan calendar epoch before absolute day 0. @@ -132,9 +125,9 @@ (defun calendar-mayan-haab-difference (date1 date2) "Number of days from Mayan haab DATE1 to next occurrence of haab date DATE2." - (mayan-mod (+ (* 20 (- (cdr date2) (cdr date1))) - (- (car date2) (car date1))) - 365)) + (mod (+ (* 20 (- (cdr date2) (cdr date1))) + (- (car date2) (car date1))) + 365)) (defun calendar-mayan-haab-on-or-before (haab-date date) "Absolute date of latest HAAB-DATE on or before absolute DATE." @@ -193,10 +186,10 @@ "Number of days from Mayan tzolkin DATE1 to next occurrence of tzolkin DATE2." (let ((number-difference (- (car date2) (car date1))) (name-difference (- (cdr date2) (cdr date1)))) - (mayan-mod (+ number-difference - (* 13 (mayan-mod (* 3 (- number-difference name-difference)) - 20))) - 260))) + (mod (+ number-difference + (* 13 (mod (* 3 (- number-difference name-difference)) + 20))) + 260))) (defun calendar-mayan-tzolkin-on-or-before (tzolkin-date date) "Absolute date of latest TZOLKIN-DATE on or before absolute DATE." @@ -250,9 +243,9 @@ (difference (- tzolkin-difference haab-difference))) (if (= (% difference 5) 0) (- date - (mayan-mod (- date - (+ haab-difference (* 365 difference))) - 18980)) + (mod (- date + (+ haab-difference (* 365 difference))) + 18980)) nil))) (defun calendar-read-mayan-haab-date ()