CVS difference for ais/ai-00427.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00427.txt

--- ais/ai-00427.txt	2005/04/11 00:56:54	1.1
+++ ais/ai-00427.txt	2005/04/13 00:30:27	1.2
@@ -1,4 +1,4 @@
-!standard 9.6.1(1)                                   05-04-10  AI95-00427/01
+!standard 9.6.1(1)                                   05-04-11  AI95-00427/02
 !class amendment 05-04-10
 !status work item 05-04-10
 !status received 05-04-10
@@ -37,10 +37,8 @@
 parameters which follow it have to use named notation. Since there are
 5, 7 and 8 of these, this is tiresome.
 
-The parameter Time_Zone of the functions Second and Sub_Second cannot
-sensibly be other than zero (the default).
-[Huh? The parameter's value can have no effect, but it certainly is sensible
-to have any value. - ED]
+The result of the functions Second and Sub_Second cannot depend upon the
+parameter Time_Zone which is therefore superfluous.
 
 There are no functions Year, Month and Day with a time zone parameter,
 this forces the use of Split.
@@ -76,8 +74,9 @@
 Replace 9.6.1(11/2) by
 
 
-    subtype Leap_Seconds_Count  is Integer;
+    subtype Leap_Seconds_Count  is Integer range -2047 .. 2047;
 
+
 Add after 9.6.1(23/2)
 
     function Year       (Date : Time;
@@ -226,11 +225,16 @@
 why provide Hour and Minute in that case since they can be done the same
 way?
 
-The range on the subtype Leap_Second is -999 .. 999. This is arbitrary. If
-there were a leap second twice a year until 2399 then the maximum possible
-would be some 800. In practice the values of this subtype that will arise
-will be less than 100. The range constraint is of no practical benefit and
-should be removed.
+The range on the subtype Leap_Second is -999 .. 999. This is arbitrary.
+In practice the values of this subtype that will arise will be less than
+100. However, in principle there could be a leap second every quarter and
+since there were 32 between 1901 and now the maximum possible value is
+
+32 + 4 * (2399 - 2005 + 1) = 1612
+
+The real advantage in having a range constraint is that it gives some
+guidance to an implementation regarding how many bits to allow for this
+information. Accordingly the range is made -2047 .. 2047. A nice dozen bits.
 
 The note regarding Difference says "The number of days is calculated
 midnight-to-midnight". The draft rationale notes "Maybe it means that if
@@ -284,10 +288,6 @@
 improvement to change the identifier of the Split acting on Seconds to
 something else anyway, say, Split_Seconds. At least that would make some
 differentiation.
-
-[No justification is given for the change to subtype Leap_Seconds_Count.
-Limiting the number of bits possible in these counts is important if the
-implementation choses to store the value in type Time. - ED]
 
 
 !example

Questions? Ask the ACAA Technical Agent