Beispiel #1
0
def test_push_indices_up_and_down():

    indices = list(range(12))

    contr_diag_indices = [(0, 6), (2, 8)]
    assert CodegenArrayContraction._push_indices_down(
        contr_diag_indices,
        indices) == (1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15)
    assert CodegenArrayContraction._push_indices_up(
        contr_diag_indices,
        indices) == (None, 0, None, 1, 2, 3, None, 4, None, 5, 6, 7)

    assert CodegenArrayDiagonal._push_indices_down(
        contr_diag_indices, indices,
        10) == (1, 3, 4, 5, 7, 9, (0, 6), (2, 8), None, None, None, None)
    assert CodegenArrayDiagonal._push_indices_up(contr_diag_indices, indices,
                                                 10) == (6, 0, 7, 1, 2, 3, 6,
                                                         4, 7, 5, None, None)

    contr_diag_indices = [(1, 2), (7, 8)]
    assert CodegenArrayContraction._push_indices_down(
        contr_diag_indices,
        indices) == (0, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15)
    assert CodegenArrayContraction._push_indices_up(
        contr_diag_indices,
        indices) == (0, None, None, 1, 2, 3, 4, None, None, 5, 6, 7)

    assert CodegenArrayDiagonal._push_indices_down(
        contr_diag_indices, indices,
        10) == (0, 3, 4, 5, 6, 9, (1, 2), (7, 8), None, None, None, None)
    assert CodegenArrayDiagonal._push_indices_up(contr_diag_indices, indices,
                                                 10) == (0, 6, 6, 1, 2, 3, 4,
                                                         7, 7, 5, None, None)
def test_push_indices_up_and_down():

    indices = list(range(10))

    contraction_indices = [(0, 6), (2, 8)]
    assert CodegenArrayContraction._push_indices_down(
        contraction_indices, indices) == (1, 3, 4, 5, 7, 9, 10, 11, 12, 13)
    assert CodegenArrayContraction._push_indices_up(contraction_indices,
                                                    indices) == (None, 0, None,
                                                                 1, 2, 3, None,
                                                                 4, None, 5)

    assert CodegenArrayDiagonal._push_indices_down(
        contraction_indices, indices) == (0, 1, 2, 3, 4, 5, 7, 9, 10, 11)
    assert CodegenArrayDiagonal._push_indices_up(contraction_indices,
                                                 indices) == (0, 1, 2, 3, 4, 5,
                                                              None, 6, None, 7)

    contraction_indices = [(1, 2), (7, 8)]
    assert CodegenArrayContraction._push_indices_down(
        contraction_indices, indices) == (0, 3, 4, 5, 6, 9, 10, 11, 12, 13)
    assert CodegenArrayContraction._push_indices_up(contraction_indices,
                                                    indices) == (0, None, None,
                                                                 1, 2, 3, 4,
                                                                 None, None, 5)

    assert CodegenArrayContraction._push_indices_down(
        contraction_indices, indices) == (0, 3, 4, 5, 6, 9, 10, 11, 12, 13)
    assert CodegenArrayDiagonal._push_indices_up(contraction_indices,
                                                 indices) == (0, 1, None, 2, 3,
                                                              4, 5, 6, None, 7)
Beispiel #3
0
def test_push_indices_up_and_down():

    indices = list(range(10))

    contraction_indices = [(0, 6), (2, 8)]
    assert CodegenArrayContraction._push_indices_down(contraction_indices, indices) == (1, 3, 4, 5, 7, 9, 10, 11, 12, 13)
    assert CodegenArrayContraction._push_indices_up(contraction_indices, indices) == (None, 0, None, 1, 2, 3, None, 4, None, 5)

    assert CodegenArrayDiagonal._push_indices_down(contraction_indices, indices) == (0, 1, 2, 3, 4, 5, 7, 9, 10, 11)
    assert CodegenArrayDiagonal._push_indices_up(contraction_indices, indices) == (0, 1, 2, 3, 4, 5, None, 6, None, 7)

    contraction_indices = [(1, 2), (7, 8)]
    assert CodegenArrayContraction._push_indices_down(contraction_indices, indices) == (0, 3, 4, 5, 6, 9, 10, 11, 12, 13)
    assert CodegenArrayContraction._push_indices_up(contraction_indices, indices) == (0, None, None, 1, 2, 3, 4, None, None, 5)

    assert CodegenArrayContraction._push_indices_down(contraction_indices, indices) == (0, 3, 4, 5, 6, 9, 10, 11, 12, 13)
    assert CodegenArrayDiagonal._push_indices_up(contraction_indices, indices) == (0, 1, None, 2, 3, 4, 5, 6, None, 7)