diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2007-09-26 12:43:45 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-09-26 12:43:45 +0200 |
commit | dd05ba2754e8bf033ce3258f0bc64fd7b2220ed9 (patch) | |
tree | e707496e9d85fb88cda71972a74e18f56f9a75e6 /gcc/ada/g-calend.ads | |
parent | 31b5873d01cfb8aa27f5da175b8e8740c3e76370 (diff) | |
download | gcc-dd05ba2754e8bf033ce3258f0bc64fd7b2220ed9.zip gcc-dd05ba2754e8bf033ce3258f0bc64fd7b2220ed9.tar.gz gcc-dd05ba2754e8bf033ce3258f0bc64fd7b2220ed9.tar.bz2 |
g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks.
2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
* g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
call to Jan_1_Day _Of_Week to optimize its performance.
(Is_Leap): Move the routine to the scope of Week_In_Year.
(Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
weekday on which January 1 falls of Year - 1 and Year + 1. This function
avoids calling Time_Of and Split, thus making it more efficent.
(Week_In_Year): Reimplemented in oder to follow ISO 8601.
* g-calend.ads (Week_In_Year): Change comment to reflect new
implementation.
From-SVN: r128790
Diffstat (limited to 'gcc/ada/g-calend.ads')
-rw-r--r-- | gcc/ada/g-calend.ads | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ada/g-calend.ads b/gcc/ada/g-calend.ads index e8b4345..cc7ae32 100644 --- a/gcc/ada/g-calend.ads +++ b/gcc/ada/g-calend.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1999-2006, Free Software Foundation, Inc. -- +-- Copyright (C) 1999-2007, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -72,7 +72,13 @@ package GNAT.Calendar is -- December is day 365 or 366 for leap year). function Week_In_Year (Date : Ada.Calendar.Time) return Week_In_Year_Number; - -- Returns the week number in the year with Monday as first day of week + -- Returns the week number as defined in ISO 8601. A week always starts on + -- a Monday and the first week of a particular year is the one containing + -- the first Thursday. A year may have 53 weeks when January 1st is a + -- Wednesday and the year is leap or January 1st is a Thursday. Note that + -- the last days of December may belong to the first week on the next year + -- and conversely, the first days of January may belong to the last week + -- of the last year. procedure Split (Date : Ada.Calendar.Time; |