remove \r
[extl.git] / extl / math / test / basic_vmatrix_test.h
blobb724ff054e02325ea65a45028e7f201769c243be
1 /* ///////////////////////////////////////////////////////////////////////
2 * File: basic_vmatrix_test.h
4 * Created: 08.08.10
5 * Updated: 08.08.10
7 * Brief: Unit-testing
9 * [<Home>]
10 * Copyright (c) 2008-2020, Waruqi All rights reserved.
11 * //////////////////////////////////////////////////////////////////// */
12 #ifndef EXTL_MATH_BASIC_VMATRIX_TEST_H
13 #define EXTL_MATH_BASIC_VMATRIX_TEST_H
15 /* ///////////////////////////////////////////////////////////////////////
16 * ::unit_test namespace
18 EXTL_BEGIN_NAMESPACE
19 EXTL_TEST_NAME_BEGIN_NAMESPACE(basic_vmatrix_test)
21 /* ///////////////////////////////////////////////////////////////////////
22 * Unit-testing
24 static int basic_vmatrix_test()
26 typedef buffer_selector<int>::buffer_type buffer_type;
27 typedef basic_vmatrix<int, buffer_type> vmatrix_type;
29 int buf1[] = { 1, 2, 3, 4 ,
30 5, 6, 7, 8,
31 9, 10, 11, 12 };
32 vmatrix_type ma1(buf1, 3, 4);
34 EXTL_ASSERT(ma1.find_min() == 1);
35 EXTL_ASSERT(ma1.find_max() == 12);
36 EXTL_ASSERT(ma1.sum() == 78);
39 EXTL_ASSERT(ma1.dim0() == 3);
40 EXTL_ASSERT(ma1.dim1() == 4);
41 EXTL_ASSERT(ma1[0].dim0() == 4);
42 EXTL_ASSERT(ma1.size() == 12);
44 EXTL_ASSERT(ma1[1][0] == 5);
45 EXTL_ASSERT(ma1.front() == 1);
46 EXTL_ASSERT(ma1.back() == 12);
48 vmatrix_type ma2(1, 3, 4);
50 ma2.swap(ma1);
52 EXTL_ASSERT(ma2.at(1, 0) == 5);
53 EXTL_ASSERT(ma2.front() == 1);
54 EXTL_ASSERT(ma2.back() == 12);
56 ma2 += ma1;
58 EXTL_ASSERT(ma2[1][0] == 6);
59 EXTL_ASSERT(ma2.front() == 2);
60 EXTL_ASSERT(ma2.back() == 13);
62 ma2 -= 1;
64 EXTL_ASSERT(ma2[1][0] == 5);
65 EXTL_ASSERT(ma2.front() == 1);
66 EXTL_ASSERT(ma2.back() == 12);
68 ma2 = ma1 + 1;
70 EXTL_ASSERT(ma2[1][0] == 2);
71 EXTL_ASSERT(ma2.front() == 2);
72 EXTL_ASSERT(ma2.back() == 2);
74 ma2 = 1 - ma2;
76 EXTL_ASSERT(ma2[1][0] == -1);
77 EXTL_ASSERT(ma2.front() == -1);
78 EXTL_ASSERT(ma2.back() == -1);
80 ma2 = ma2 - ma2;
82 EXTL_ASSERT(ma2[1][0] == 0);
83 EXTL_ASSERT(ma2.front() == 0);
84 EXTL_ASSERT(ma2.back() == 0);
86 ma2++;
88 EXTL_ASSERT(ma2[1][0] == 1);
89 EXTL_ASSERT(ma2.front() == 1);
90 EXTL_ASSERT(ma2.back() == 1);
92 /*for (vmatrix_type::const_iterator p = ma2.begin(); p != ma2.end(); ++p)
94 printf("%d ", *p);
97 for (vmatrix_type::const_reverse_iterator rp = ma2.rbegin(); rp != ma2.rend(); ++rp)
99 printf("%d ", *rp);
102 /*int p1[] = { 1, 2, 3};
103 int p2[] = { 4, 5, 5};
104 basic_vvector<int> v1(p1, 3, false);
105 basic_vvector<int> v2(p2, 3);
106 basic_vmatrix<int> vm;
108 vm = v1 * v2;
109 printf("%d\n", vm[0][0]);
110 printf("%d\n", vm[0][1]);
111 printf("%d\n", vm[1][0]);
112 printf("%d\n", vm[1][1]);
113 printf("%d\n", vm[2][0]);
114 printf("%d\n", vm[2][1]);*/
115 return 0;
117 int basic_vmatrix_test_ret = basic_vmatrix_test();
119 /* ///////////////////////////////////////////////////////////////////////
120 * ::unit_test namespace
122 EXTL_TEST_NAME_END_NAMESPACE(basic_vmatrix_test)
123 EXTL_END_NAMESPACE
125 /* //////////////////////////////////////////////////////////////////// */
126 #endif /* EXTL_MATH_BASIC_VMATRIX_TEST_H */
127 /* //////////////////////////////////////////////////////////////////// */