changeset 81744:f245856314bf

(math-julian-date-beginning,math-julian-date-beginning-int) New constants. (math-format-date-part,math-parse-standard-date,calcFunc-julian): Use the new constants.
author Jay Belanger <jay.p.belanger@gmail.com>
date Sun, 08 Jul 2007 00:00:30 +0000
parents 79a229b4a7de
children 886906acf1e7
files lisp/calc/calc-forms.el
diffstat 1 files changed, 16 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/calc/calc-forms.el	Sat Jul 07 23:57:23 2007 +0000
+++ b/lisp/calc/calc-forms.el	Sun Jul 08 00:00:30 2007 +0000
@@ -544,6 +544,14 @@
 	       (setcdr math-fd-dt nil))
 	  fmt))))
 
+(defconst math-julian-date-beginning '(float 17214235 -1)
+  "The beginning of the Julian calendar,
+as measured in the number of days before January 1 of the year 1AD.")
+
+(defconst math-julian-date-beginning-int 1721424
+  "The beginning of the Julian calendar,
+as measured in the integer number of days before January 1 of the year 1AD.")
+
 (defun math-format-date-part (x)
   (cond ((stringp x)
 	 x)
@@ -559,14 +567,11 @@
 	 (math-format-number (math-floor math-fd-date)))
 	((eq x 'J)
 	 (math-format-number 
-          (math-add math-fd-date 
-                    (eval-when-compile
-                      (math-read-number-simple "1721423.5")))))
+          (math-add math-fd-date math-julian-date-beginning)))
 	((eq x 'j)
 	 (math-format-number (math-add 
                               (math-floor math-fd-date) 
-                              (eval-when-compile
-                                (math-read-number-simple "1721424")))))
+                              math-julian-date-beginning-int)))
 	((eq x 'U)
 	 (math-format-number (nth 1 (math-date-parts math-fd-date 719164))))
 	((progn
@@ -941,10 +946,8 @@
 					      0
 					    (if (or (eq this 'j)
 						    (math-integerp num))
-                                                (eval-when-compile
-                                                  (math-read-number-simple "1721424"))
-                                              (eval-when-compile
-                                                (math-read-number-simple "1721423.5")))))
+                                                math-julian-date-beginning-int
+                                              math-julian-date-beginning)))
 			    hour (or (nth 3 num) hour)
 			    minute (or (nth 4 num) minute)
 			    second (or (nth 5 num) second)
@@ -1153,20 +1156,14 @@
 (defun calcFunc-julian (date &optional zone)
   (if (math-realp date)
       (list 'date (if (math-integerp date)
-		      (math-sub date (eval-when-compile
-                                       (math-read-number-simple "1721424")))
-		    (setq date (math-sub date 
-                                         (eval-when-compile
-                                           (math-read-number-simple "1721423.5"))))
+		      (math-sub date math-julian-date-beginning-int)
+		    (setq date (math-sub date math-julian-date-beginning))
 		    (math-sub date (math-div (calcFunc-tzone zone date)
 					     '(float 864 2)))))
     (if (eq (car date) 'date)
 	(math-add (nth 1 date) (if (math-integerp (nth 1 date))
-                                   (eval-when-compile
-                                     (math-read-number-simple "1721424"))
-				 (math-add  
-                                  (eval-when-compile
-                                    (math-read-number-simple "1721423.5"))
+                                   math-julian-date-beginning-int
+				 (math-add math-julian-date-beginning
 					   (math-div (calcFunc-tzone zone date)
 						     '(float 864 2)))))
       (math-reject-arg date 'datep))))