コード例 #1
0
def build_max_normal(eb, sb, _, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, 2**rv.w - 2, 2**rv.t - 1)
    return rv
コード例 #2
0
def build_rnd_normal_small(eb, sb, rng, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, rng.random_int(1, 2**(rv.w - 1)),
            rng.random_int(0, 2**rv.t - 1))
    return rv
コード例 #3
0
def build_rnd_normal_large(eb, sb, rng, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, rng.random_int(2**(rv.w - 1), 2**rv.w - 2),
            rng.random_int(0, 2**rv.t - 1))
    return rv
コード例 #4
0
def build_min_normal(eb, sb, _, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, 1, 0)
    return rv
コード例 #5
0
def build_rnd_subnormal(eb, sb, rng, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, 0, rng.random_int(2, 2**rv.t - 2))
    return rv
コード例 #6
0
def build_min_subnormal(eb, sb, _, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, 0, 1)
    return rv
コード例 #7
0
def build_nan(eb, sb, rng):
    rv = MPF(eb, sb)
    rv.pack(rng.random_int(0, 1), 2**rv.w - 1, rng.random_int(1, 2**rv.t - 1))
    return rv
コード例 #8
0
def build_inf(eb, sb, _, sign):
    rv = MPF(eb, sb)
    rv.pack(sign, 2**rv.w - 1, 0)
    return rv