Py ERFA:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- PyERFA v2.0.1.5 »
- erfa Package »
- d2tf

# d2tf

erfa.d2tf(ndp, days)

  Decompose days to hours, minutes, seconds, fraction.

  Parameters:
    ndp int array
    days double array
  Returns:
    sign char array
    ihmsf int array

  Notes

  Wraps ERFA function `eraD2tf`. The ERFA documentation is:

      - - - - - - - -
       e r a D 2 t f
      - - - - - - - -

      Decompose days to hours, minutes, seconds, fraction.

      Given:
         ndp     int     resolution (Note 1)
         days    double  interval in days

      Returned:
         sign    char         '+' or '-'
         ihmsf   int[4]  hours, minutes, seconds, fraction

      Notes:

      1) The argument ndp is interpreted as follows:

         ndp         resolution
          :      ...0000 00 00
         -7         1000 00 00
         -6          100 00 00
         -5           10 00 00
         -4            1 00 00
         -3            0 10 00
         -2            0 01 00
         -1            0 00 10
          0            0 00 01
          1            0 00 00.1
          2            0 00 00.01
          3            0 00 00.001
          :            0 00 00.000...

      2) The largest positive useful value for ndp is determined by the
         size of days, the format of double on the target platform, and
         the risk of overflowing ihmsf[3].  On a typical platform, for
         days up to 1.0, the available floating-point precision might
         correspond to ndp=12.  However, the practical limit is typically
         ndp=9, set by the capacity of a 32-bit int, or ndp=4 if int is
         only 16 bits.

      3) The absolute value of days may exceed 1.0.  In cases where it
         does not, it is up to the caller to test for and handle the
         case where days is very nearly 1.0 and rounds up to 24 hours,
         by testing for ihmsf[0]=24 and setting ihmsf[0-3] to zero.

      This revision:  2021 May 11

      Copyright (C) 2013-2023, NumFOCUS Foundation.
      Derived, with permission, from the SOFA library.  See notes at end of file.