Esempio n. 1
0
def test_time_to_mjd_string_versus_decimal(format, i_f):
    i, f = i_f
    with decimal.localcontext(decimal.Context(prec=40)):
        m = Decimal(i) + Decimal(f)
        t = Time(val=i, val2=f, format=format, scale="utc")
        assert (abs(Decimal(time_to_mjd_string(t)) - m) * u.day).to(
            u.ns) < 1 * u.ns
Esempio n. 2
0
def test_time_from_mjd_string_roundtrip(format, i_f):
    i, f = i_f
    assume(not (format == "pulsar_mjd" and i in leap_sec_days and
                (1 - f) * 86400 < 1e-9))
    t = Time(val=i, val2=f, format=format, scale="utc")
    assert (
        abs(t - time_from_mjd_string(time_to_mjd_string(t), format=format)).to(
            u.ns) < 1 * u.ns)
Esempio n. 3
0
def test_time_to_mjd_string_versus_longdouble(format, i_f):
    i, f = i_f
    m = i + np.longdouble(f)
    t = Time(val=i, val2=f, format=format, scale="utc")
    tstr = time_to_mjd_string(t)
    # NOTE: have to add str() here, because of a numpy bug which treats
    # numpy string type differently from python str.
    # See https://github.com/numpy/numpy/issues/15608
    tld_str = np.longdouble(str(tstr))
    assert abs(tld_str - m) * u.day < 1 * u.ns
Esempio n. 4
0
def test_time_from_mjd_string_roundtrip_very_close(format):
    i = 50000
    f = np.finfo(float).eps
    t = Time(val=i, val2=f, format=format, scale="utc")
    s = time_to_mjd_string(t)
    assert abs(time_from_mjd_string(s) - t).to(u.ns) <= 4 * time_eps
Esempio n. 5
0
def test_time_to_mjd_string_versus_decimal(dec, format, i_f):
    i, f = i_f
    m = Decimal(i) + Decimal(f)
    t = Time(val=i, val2=f, format=format, scale="utc")
    assert (abs(Decimal(time_to_mjd_string(t)) - m) * u.day).to(u.ns) < 1 * u.ns
Esempio n. 6
0
def test_time_to_mjd_string_versus_longdouble(format, i_f):
    i, f = i_f
    m = i + np.longdouble(f)
    t = Time(val=i, val2=f, format=format, scale="utc")
    assert (abs(np.longdouble(time_to_mjd_string(t)) - m) * u.day).to(u.ns) < 1 * u.ns
Esempio n. 7
0
def test_time_to_longdouble_no_longer_than_time_to_mjd_string(i_f):
    i, f = i_f
    t = Time(val=i, val2=f, format="mjd", scale="tai")
    assert len(time_to_mjd_string(t)) >= len(str(time_to_longdouble(t)))
Esempio n. 8
0
def test_time_to_longdouble_close_to_time_to_mjd_string(format, i_f):
    i, f = i_f
    t = Time(val=i, val2=f, format=format, scale="utc")
    assert (
        abs(np.longdouble(time_to_mjd_string(t)) - time_to_longdouble(t)) * u.day
    ).to(u.ns) < 1 * u.ns