From 7a724a02312acf7bf6df2bff93b80a79b2ad208d Mon Sep 17 00:00:00 2001 From: "Thomas G. Lockhart" <lockhart@fourpalms.org> Date: Sat, 13 Feb 1999 04:15:33 +0000 Subject: [PATCH] Include some Julian date declarations to share between various date/time modules. Used to be in dt.c I think. --- src/include/utils/dt.h | 25 ++++++++++++++++++++++++- src/include/utils/int8.h | 9 ++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/include/utils/dt.h b/src/include/utils/dt.h index 52802d99935..c7ba840c495 100644 --- a/src/include/utils/dt.h +++ b/src/include/utils/dt.h @@ -8,7 +8,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: dt.h,v 1.34 1999/01/20 16:26:45 thomas Exp $ + * $Id: dt.h,v 1.35 1999/02/13 04:15:33 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -262,6 +262,29 @@ extern int datetime_is_epoch(double j); #define JROUND(j) (rint(((double) (j))*TIME_PREC_INV)/TIME_PREC_INV) + +/* + * Date/time validation + * Include check for leap year. + */ + +extern int day_tab[2][13]; + +#define isleap(y) (((y % 4) == 0 && (y % 100) != 0) || (y % 400) == 0) + +/* Julian date support for date2j() and j2date() + * Set the minimum year to one greater than the year of the first valid day + * to avoid having to check year and day both. - tgl 97/05/08 + */ + +#define JULIAN_MINYEAR (-4713) +#define JULIAN_MINMONTH (11) +#define JULIAN_MINDAY (23) + +#define IS_VALID_JULIAN(y,m,d) ((y > JULIAN_MINYEAR) \ + || ((y == JULIAN_MINYEAR) && ((m > JULIAN_MINMONTH) \ + || ((m == JULIAN_MINMONTH) && (d >= JULIAN_MINDAY))))) + /* * Date/time validation * Include check for leap year. diff --git a/src/include/utils/int8.h b/src/include/utils/int8.h index 9a276108305..9cc4dc0ccbf 100644 --- a/src/include/utils/int8.h +++ b/src/include/utils/int8.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: int8.h,v 1.8 1998/09/11 17:16:11 momjian Exp $ + * $Id: int8.h,v 1.9 1999/02/13 04:13:56 thomas Exp $ * * NOTES * These data types are supported on all 64-bit architectures, and may @@ -88,13 +88,16 @@ extern int64 *int48div(int32 val1, int64 * val2); extern int64 *int48(int32 val); extern int32 int84(int64 * val); -#if FALSE +#if NOT_USED extern int64 *int28 (int16 val); extern int16 int82(int64 * val); - #endif extern float64 i8tod(int64 * val); extern int64 *dtoi8(float64 val); +extern text *int8_text(int64 *val); +extern int64 *text_int8(text *str); + #endif /* INT8_H */ + -- GitLab