Index: trunk/psLib/src/astronomy/psTime.h
===================================================================
--- trunk/psLib/src/astronomy/psTime.h	(revision 2318)
+++ trunk/psLib/src/astronomy/psTime.h	(revision 2725)
@@ -5,58 +5,15 @@
  *
  *  A collection of functions are required by psLib to manipulate time data. These functions primarily consist
- *  of conversions between specific time formats.  PSLib currently uses the UNIX timeval time system as the
- *  base upon which International Atomic Time (TAI) and Universal Time Coordinated (UTC) are calculated. TAI
- *  time varies over time due to the earth's rotation and the movement of the continental plates. It is
- *  currentls 32 seconds faster than UTC/timeval time. The conversion between TAI and UTC time for other dates
- *  is given in the table below, which comes from:
- *
- *  ftp://maia.usno.navy.mil/ser7/tai-utc.dat
- *
- *  This table is placed into a static array and used by the psTime functions for conversions.
- *
- *   1961 JAN  1 =JD 2437300.5  TAI-UTC=   1.4228180 S + (MJD - 37300.) X 0.001296 S
- *   1961 AUG  1 =JD 2437512.5  TAI-UTC=   1.3728180 S + (MJD - 37300.) X 0.001296 S
- *   1962 JAN  1 =JD 2437665.5  TAI-UTC=   1.8458580 S + (MJD - 37665.) X 0.0011232S
- *   1963 NOV  1 =JD 2438334.5  TAI-UTC=   1.9458580 S + (MJD - 37665.) X 0.0011232S
- *   1964 JAN  1 =JD 2438395.5  TAI-UTC=   3.2401300 S + (MJD - 38761.) X 0.001296 S
- *   1964 APR  1 =JD 2438486.5  TAI-UTC=   3.3401300 S + (MJD - 38761.) X 0.001296 S
- *   1964 SEP  1 =JD 2438639.5  TAI-UTC=   3.4401300 S + (MJD - 38761.) X 0.001296 S
- *   1965 JAN  1 =JD 2438761.5  TAI-UTC=   3.5401300 S + (MJD - 38761.) X 0.001296 S
- *   1965 MAR  1 =JD 2438820.5  TAI-UTC=   3.6401300 S + (MJD - 38761.) X 0.001296 S
- *   1965 JUL  1 =JD 2438942.5  TAI-UTC=   3.7401300 S + (MJD - 38761.) X 0.001296 S
- *   1965 SEP  1 =JD 2439004.5  TAI-UTC=   3.8401300 S + (MJD - 38761.) X 0.001296 S
- *   1966 JAN  1 =JD 2439126.5  TAI-UTC=   4.3131700 S + (MJD - 39126.) X 0.002592 S
- *   1968 FEB  1 =JD 2439887.5  TAI-UTC=   4.2131700 S + (MJD - 39126.) X 0.002592 S
- *   1972 JAN  1 =JD 2441317.5  TAI-UTC=  10.0       S + (MJD - 41317.) X 0.0      S
- *   1972 JUL  1 =JD 2441499.5  TAI-UTC=  11.0       S + (MJD - 41317.) X 0.0      S
- *   1973 JAN  1 =JD 2441683.5  TAI-UTC=  12.0       S + (MJD - 41317.) X 0.0      S
- *   1974 JAN  1 =JD 2442048.5  TAI-UTC=  13.0       S + (MJD - 41317.) X 0.0      S
- *   1975 JAN  1 =JD 2442413.5  TAI-UTC=  14.0       S + (MJD - 41317.) X 0.0      S
- *   1976 JAN  1 =JD 2442778.5  TAI-UTC=  15.0       S + (MJD - 41317.) X 0.0      S
- *   1977 JAN  1 =JD 2443144.5  TAI-UTC=  16.0       S + (MJD - 41317.) X 0.0      S
- *   1978 JAN  1 =JD 2443509.5  TAI-UTC=  17.0       S + (MJD - 41317.) X 0.0      S
- *   1979 JAN  1 =JD 2443874.5  TAI-UTC=  18.0       S + (MJD - 41317.) X 0.0      S
- *   1980 JAN  1 =JD 2444239.5  TAI-UTC=  19.0       S + (MJD - 41317.) X 0.0      S
- *   1981 JUL  1 =JD 2444786.5  TAI-UTC=  20.0       S + (MJD - 41317.) X 0.0      S
- *   1982 JUL  1 =JD 2445151.5  TAI-UTC=  21.0       S + (MJD - 41317.) X 0.0      S
- *   1983 JUL  1 =JD 2445516.5  TAI-UTC=  22.0       S + (MJD - 41317.) X 0.0      S
- *   1985 JUL  1 =JD 2446247.5  TAI-UTC=  23.0       S + (MJD - 41317.) X 0.0      S
- *   1988 JAN  1 =JD 2447161.5  TAI-UTC=  24.0       S + (MJD - 41317.) X 0.0      S
- *   1990 JAN  1 =JD 2447892.5  TAI-UTC=  25.0       S + (MJD - 41317.) X 0.0      S
- *   1991 JAN  1 =JD 2448257.5  TAI-UTC=  26.0       S + (MJD - 41317.) X 0.0      S
- *   1992 JUL  1 =JD 2448804.5  TAI-UTC=  27.0       S + (MJD - 41317.) X 0.0      S
- *   1993 JUL  1 =JD 2449169.5  TAI-UTC=  28.0       S + (MJD - 41317.) X 0.0      S
- *   1994 JUL  1 =JD 2449534.5  TAI-UTC=  29.0       S + (MJD - 41317.) X 0.0      S
- *   1996 JAN  1 =JD 2450083.5  TAI-UTC=  30.0       S + (MJD - 41317.) X 0.0      S
- *   1997 JUL  1 =JD 2450630.5  TAI-UTC=  31.0       S + (MJD - 41317.) X 0.0      S
- *   1999 JAN  1 =JD 2451179.5  TAI-UTC=  32.0       S + (MJD - 41317.) X 0.0      S
+ *  of conversions between specific time formats.  They use the UNIX timeval time system as the
+ *  base upon which International Atomic Time (TAI) and Universal Time Coordinated (UTC) are calculated.
  *
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-11-10 18:27:08 $
+ *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-12-16 18:52:51 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  */
+
 
 #ifndef PSTIME_H
@@ -107,5 +64,5 @@
  * @return  bool: True for success, false for failure.
  */
-psBool psTimeInit(const char *fileName);
+psBool p_psTimeInit(const char *fileName);
 
 /** Free memory persistant time data.
@@ -115,5 +72,5 @@
  * @return  void: void.
  */
-psBool psTimeFinalize(void);
+psBool p_psTimeFinalize(void);
 
 /** Allocate time struct.
@@ -305,36 +262,24 @@
 );
 
-/** Add two TAI times.
- *
- *  Adds two TAI times. This function does not add or subtract leapseconds.
+/** Adds delta to time. Result is in TAI time.
+ *
+ *  Adds delta to time. Input time is converted to TAI format if necessary.
  *
  *  @return  psTime*: time.
  */
-psTime* psTimeAdd(
-    const psTime *tai1,                 ///< First TAI time.
-    const psTime *tai2                  ///< Second TAI time.
-);
-
-/** Subtract two TAI times.
- *
- *  Subtracts two TAI times. This function does not add or subtract leapseconds.
- *
- *  @return  psTime*: time.
- */
-psTime* psTimeSubtract(
-    const psTime *tai1,                 ///< First TAI time.
-    const psTime *tai2                  ///< Second TAI time.
-);
-
-
-/** Find delta of two TAI times.
- *
- *  Finds the absolute difference of two TAI times. This function does not add or subtract leapseconds.
- *
- *  @return  psTime*: time.
- */
-psTime* psTimeDelta(
-    const psTime *tai1,                 ///< First TAI time.
-    const psTime *tai2                  ///< Second TAI time.
+psTime* psTimeMath(
+    const psTime *time,                 ///< Time.
+    psF64 delta                         ///< Time delta.
+);
+
+/** Determine difference between two times. Result is in TAI time.
+ *
+ *  Determine difference between two times. Input times are converted to TAI format if necessary.
+ *
+ *  @return psF64: Time difference.
+ */
+psF64 psTimeDelta(
+    const psTime *time1,                ///< First time.
+    const psTime *time2                 ///< Second time.
 );
 
