Beispiel #1
0
int main()
{
    ArrayViewTest<int, 2> av(extent<2>(10, 10));
    ArrayViewTest<int, 1, 2> projection = av.section(index<2>(), extent<2>(5, 5)).projection(1);
    
    projection.view()[1] = 15;
    projection.set_known_value(index<1>(1), 15);
    return av.view()[index<2>(1, 1)] == 15 ? av.pass() : av.fail();
}
Beispiel #2
0
runall_result test_main()
{
    ArrayViewTest<const int, 1> original(extent<1>(10));
    ArrayViewTest<const int, 1> section = original.section(extent<1>(5));
    
    // set values through the data pointer
    original.set_value(index<1>(4), 13);
    section.set_value(index<1>(3), 15);
    
    return (original.view()(3) == 15 && section.view()(4) == 13) ? original.pass() : original.fail();
}
Beispiel #3
0
runall_result only_extent()
{
	ArrayTest<int, 1> original(extent<1>(10));
    ArrayViewTest<int, 1> section = original.section(original.arr().section(extent<1>(5)), index<1>(0));
    
    original.set_value(index<1>(2), 13);
    
    section.view()(3) = 15;
    section.set_known_value(index<1>(3), 15);
    
    return (gpu_read(original.arr(),index<1>(3)) == 15 && section.view()(2) == 13) ? original.pass() : original.fail();
}
Beispiel #4
0
runall_result only_extent()
{
	ArrayViewTest<int, 3> original(extent<3>(2, 3, 4));
    ArrayViewTest<int, 3> section = original.section(original.view().section(extent<3>(2, 2, 2)), index<3>(0, 0, 0));
    
    original.view()(1, 2, 2) = 13;
    original.set_known_value(index<3>(1, 2, 2), 13);
    
    section.view()(0, 0, 0) = 15;
    section.set_known_value(index<3>(0, 0, 0), 15);
    
    return (original.view()(0, 0, 0) == 15 && section.view()(1, 2, 2) == 13) ? original.pass() : original.fail();
}
Beispiel #5
0
runall_result only_extent()
{
	ArrayViewTest<int, 2> original(extent<2>(10, 10));
    ArrayViewTest<int, 2> section = original.section(original.view().section(extent<2>(5, 3)), index<2>(0, 0));
    
    original.view()(3, 2) = 13;
    original.set_known_value(index<2>(3, 2), 13);
    
    section.view()(3, 1) = 15;
    section.set_known_value(index<2>(3, 1), 15);
    
    return (original.view()(3, 1) == 15 && section.view()(3, 2) == 13) ? original.pass() : original.fail();
}
Beispiel #6
0
runall_result scalar_values()
{
	ArrayViewTest<int, 2> original(extent<2>(10, 10));
    ArrayViewTest<int, 2> section = original.section(original.view().section(2, 3, 5, 2), index<2>(2, 3));
    
    original.view()(3, 4) = 13;
    original.set_known_value(index<2>(3, 4), 13);
    
    section.view()(3, 1) = 15;
    section.set_known_value(index<2>(3, 1), 15);
    
    return (original.view()(5, 4) == 15 && section.view()(1, 1) == 13) ? original.pass() : original.fail();
}
Beispiel #7
0
runall_result scalar_values()
{
	ArrayViewTest<int, 1> original(extent<1>(10));
    ArrayViewTest<int, 1> section = original.section(original.view().section(2, 5), index<1>(2));
    
    original.view()(2) = 13;
    original.set_known_value(index<1>(2), 13);
    
    section.view()(3) = 15;
    section.set_known_value(index<1>(3), 15);
    
    return (original.view()(5) == 15 && section.view()(0) == 13) ? original.pass() : original.fail();
}
Beispiel #8
0
int main()
{
    ArrayViewTest<int, 2> original(extent<2>(3, 3));
    ArrayViewTest<int, 2> section = original.section(original.view().section(index<2>(1, 1)), index<2>(1, 1));
    
    // set a value through the section -- this is (1,1) in the original view
    section.view()[index<2>(0, 0)] = 5;
    section.set_known_value(index<2>(0, 0), 5);
    
    // set a value through the original -- this is (1, 0) in the section
    original.view()[index<2>(2, 1)] = 2;
    original.set_known_value(index<2>(2, 1), 2);
    
    return
        original.view()[index<2>(1, 1)] == 5 &&
        section.view()[index<2>(1, 0)] == 2
        ? original.pass() : original.fail();
}
Beispiel #9
0
int main()
{
    ArrayViewTest<const int, 3> original(extent<3>(2, 3, 4));

    // create a projection
    ArrayViewTest<const int, 2, 3> projection = original.projection(original.view()[1], 1);

    // set some data in the original
    original.set_value(index<3>(1, 1, 2), 13);

    // set some data in the projections
    projection.set_value(index<2>(1, 1), 11);

    // verify each data point through the array_view interface
    return
        original.view()(1, 1, 1) == 11 &&
        projection.view()(1, 2) == 13
        ? original.pass() : original.fail();
}
Beispiel #10
0
int main()
{
    ArrayViewTest<int, 2> original(extent<2>(5, 5));

    // this section is from [2-5), 2-5) of the original
    ArrayViewTest<int, 2> section = original.section(original.view().section(index<2>(2, 2)), index<2>(2, 2));

    // create a projection -- this is row 2 of the original (2, [2-5))
    ArrayViewTest<int, 1, 2> projection = section.projection(section.view()[0], 0);

    // set some data in the original
    original.view()[index<2>(2, 3)] = 13;
    original.set_known_value(index<2>(2, 3), 13);

    // set some data in the section -- (2, 4) in the original
    section.view()[index<2>(0, 2)] = 17;
    section.set_known_value(index<2>(0, 2), 17);

    // set some data in the projection -- (2, 2) in the original
    projection.view()[index<1>(0)] = 11;
    projection.set_known_value(index<1>(0), 11);

    // verify each data point through the array_view interface
    return
        original.view()(2, 2) == 11 &&
        original.view()(2, 3) == 13 &&
        original.view()(2, 4) == 17 &&
        section.view()(0, 0) == 11 &&
        section.view()(0, 1) == 13 &&
        section.view()(0, 2) == 17 &&
        projection.view()(0) == 11 &&
        projection.view()(1) == 13 &&
        projection.view()(2) == 17
        ? original.pass() : original.fail();
}