Exemple #1
0
def test_angle_ops():

    sign, idmsf = erfa.a2af(6, -np.pi)
    assert sign == b'-'
    assert idmsf.item() == (180, 0, 0, 0)

    sign, ihmsf = erfa.a2tf(6, np.pi)
    assert sign == b'+'
    assert ihmsf.item() == (12, 0, 0, 0)

    rad = erfa.af2a('-', 180, 0, 0.0)
    np.testing.assert_allclose(rad, -np.pi)

    rad = erfa.tf2a('+', 12, 0, 0.0)
    np.testing.assert_allclose(rad, np.pi)

    rad = erfa.anp(3. * np.pi)
    np.testing.assert_allclose(rad, np.pi)

    rad = erfa.anpm(3. * np.pi)
    np.testing.assert_allclose(rad, -np.pi)

    sign, ihmsf = erfa.d2tf(1, -1.5)
    assert sign == b'-'
    assert ihmsf.item() == (36, 0, 0, 0)

    days = erfa.tf2d('+', 3, 0, 0.0)
    np.testing.assert_allclose(days, 0.125)
Exemple #2
0
def d2tf_nice(ndp, days):
    sgn, hmsf = erfa.d2tf(ndp, days)
    if sgn == b"+":
        sgn = "+"
    elif sgn == b"-":
        sgn = "-"
    else:
        raise ValueError("Mysterious sign found: {!r}".format(sgn))
    if not hmsf.dtype.names:
        hmsf = hmsf.view(_new_ihmsfs_dtype)
    h = hmsf["h"]
    m = hmsf["m"]
    s = hmsf["s"] + hmsf["f"] / 10.0**ndp

    return sgn, h, m, s
Exemple #3
0
print('convert time interval')
# The time
ih = 23
im = 5
s = 11.63079
print("%2d:%2.2d:%9.6f\n" % (ih, im, s))

print('Express as a fraction of 1 day:')
f = erfa.tf2d(ih, im, s)
print("%14.12f\n" % f)

print('Six hours earlier:')
f -= 0.25

#Report to 1 ms precision.
ihmsf = erfa.d2tf(3, f)
print("%s%2d:%2.2d:%2.2d.%3.3d\n" % ihmsf)

print('=====')
print('''
Date and time.''')
iy = 2008
im = 2
id = 29
ihour = 23
imin = 59
sec = 59.9
print("%4d/%2.2d/%2.2d%3d:%2.2d:%4.1f\n" % (iy, im, id, ihour, imin, sec))
print('Express as 2-part JD.')
d1, d2 = erfa.cal2jd(iy, im, id)
d = erfa.tf2d(ihour, imin, sec)
Exemple #4
0
print('convert time interval')
# The time
ih = 23
im = 5
s = 11.63079
print( "%2d:%2.2d:%9.6f\n"%(ih, im, s))

print('Express as a fraction of 1 day:')
f = erfa.tf2d(ih, im, s)
print ( "%14.12f\n"%f )

print('Six hours earlier:')
f -= 0.25

#Report to 1 ms precision.
ihmsf = erfa.d2tf(3, f)
print ( "%s%2d:%2.2d:%2.2d.%3.3d\n"%ihmsf)

print('=====')
print('''
Date and time.''')
iy = 2008; im = 2; id = 29;
ihour = 23; imin = 59; sec = 59.9;
print("%4d/%2.2d/%2.2d%3d:%2.2d:%4.1f\n"%
         (iy, im, id, ihour, imin, sec))
print('Express as 2-part JD.')
d1, d2 = erfa.cal2jd ( iy, im, id)
d = erfa.tf2d (ihour, imin, sec)
d2 += d
print("%9.1f +%13.6f =%15.6f\n"%( d1, d2, d1 + d))
print('Express as calendar date and fraction of a day.')