shape_test.cpp 986 Bytes
Newer Older
Paul's avatar
Paul committed
1
2
3
4
5
6
7
8
9
10
11
12

#include <rtg/shape.hpp>
#include "test.hpp"

void test_shape_assign()
{
    rtg::shape s1{rtg::shape::float_type, {100, 32, 8, 8}};
    rtg::shape s2 = s1;
    EXPECT(s1 == s2);
    EXPECT(!(s1 != s2));
}

Paul's avatar
Paul committed
13
14
15
16
17
18
19
20
void test_shape_default()
{
    rtg::shape s1{};
    rtg::shape s2{};
    EXPECT(s1 == s2);
    EXPECT(!(s1 != s2));
}

Paul's avatar
Paul committed
21
22
23
24
25
26
27
28
29
30
31
32
void test_shape4()
{
    rtg::shape s{rtg::shape::float_type, {100, 32, 8, 8}};
    EXPECT(s.type() == rtg::shape::float_type);
    EXPECT(s.lens()[0] == 100);
    EXPECT(s.lens()[1] == 32);
    EXPECT(s.lens()[2] == 8);
    EXPECT(s.lens()[3] == 8);
    EXPECT(s.strides()[0] == s.lens()[1] * s.strides()[1]);
    EXPECT(s.strides()[1] == s.lens()[2] * s.strides()[2]);
    EXPECT(s.strides()[2] == s.lens()[3] * s.strides()[3]);
    EXPECT(s.strides()[3] == 1);
Paul's avatar
Paul committed
33
34
    EXPECT(s.elements() == 100 * 32 * 8 * 8);
    EXPECT(s.bytes() == 100 * 32 * 8 * 8 * sizeof(float));
Paul's avatar
Paul committed
35
36
37
38
}

int main() {
    test_shape_assign();
Paul's avatar
Paul committed
39
    test_shape_default();
Paul's avatar
Paul committed
40
41
42
    test_shape4();
}