CVS difference for 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
-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
-[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]
Questions? Ask the ACAA Technical Agent