예제 #1
0
def test_input_uncertainties_no_distributions(sensitivity_dps):
    mm = MappedMatrix(
        packages=sensitivity_dps,
        matrix="matrix",
        use_vectors=True,
        use_arrays=True,
        use_distributions=False,
    )

    magic = 191664963

    expected = np.array(
        [
            (99, magic % 100, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, magic % 100, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, magic % 100, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (98, -8.5, 1.118034, np.NaN, np.NaN, np.NaN, False),
            (98, 9.5, 1.118034, np.NaN, np.NaN, np.NaN, False),
            (0, 1, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (0, 2, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (0, -1, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (0, -3, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, 1, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, 2, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, 3, np.NaN, np.NaN, np.NaN, np.NaN, False),
        ],
        dtype=bwp.UNCERTAINTY_DTYPE,
    )
    ua = mm.input_uncertainties()
    for field, _ in bwp.UNCERTAINTY_DTYPE:
        assert np.allclose(ua[field], expected[field], equal_nan=True)
예제 #2
0
def test_input_uncertainties_limit_samples(sensitivity_dps):
    mm = MappedMatrix(
        packages=sensitivity_dps,
        matrix="matrix",
        use_vectors=True,
        use_arrays=True,
        use_distributions=True,
    )

    magic = 191664963

    expected = np.array(
        [
            (99, magic % 100, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, magic % 100, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, magic % 100, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (98, -8, 0.8164966, np.NaN, np.NaN, np.NaN, False),
            (98, 9, 0.8164966, np.NaN, np.NaN, np.NaN, False),
            (4, 1, np.NaN, np.NaN, 0.5, 1.5, False),
            (4, 2, np.NaN, np.NaN, 1.5, 2.5, False),
            (0, 1, np.NaN, np.NaN, np.NaN, np.NaN, True),
            (4, 3, np.NaN, np.NaN, 2.5, 3.5, True),
            (99, 1, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, 2, np.NaN, np.NaN, np.NaN, np.NaN, False),
            (99, 3, np.NaN, np.NaN, np.NaN, np.NaN, False),
        ],
        dtype=bwp.UNCERTAINTY_DTYPE,
    )
    ua = mm.input_uncertainties(number_samples=3)
    for field, _ in bwp.UNCERTAINTY_DTYPE:
        assert np.allclose(ua[field], expected[field], equal_nan=True)