#include "cxx_dprog.hh" #include using namespace std; using namespace dprog; int main() { Matrix m_1dim(1, static_cast(10)); for (int i = 0; i < 5; ++i) { m_1dim.cell(i) = i; } assert(m_1dim.cell(0) == 0); assert(m_1dim.cell(1) == 1); assert(m_1dim.cell(2) == 2); assert(m_1dim.cell(3) == 3); assert(m_1dim.cell(4) == 4); Matrix m_2dim(2, static_cast(3), static_cast(2)); for (int i = 0; i < 3; ++i) for (int j = 0; j < 2; ++j) m_2dim.cell(i,j) = i*10 + j; assert(m_2dim.cell(0,0) == 0); assert(m_2dim.cell(0,1) == 1); assert(m_2dim.cell(1,0) == 10); assert(m_2dim.cell(1,1) == 11); assert(m_2dim.cell(2,0) == 20); assert(m_2dim.cell(2,1) == 21); Matrix2 m2_2dim(static_cast(3), static_cast(2)); for (int i = 0; i < 3; ++i) for (int j = 0; j < 2; ++j) m2_2dim.cell(i,j) = i*10 + j; assert(m2_2dim.cell(0,0) == 0); assert(m2_2dim.cell(0,1) == 1); assert(m2_2dim.cell(1,0) == 10); assert(m2_2dim.cell(1,1) == 11); assert(m2_2dim.cell(2,0) == 20); assert(m2_2dim.cell(2,1) == 21); Matrix m_3dim(3, static_cast(2), static_cast(3), static_cast(2)); for (int i = 0; i < 2; ++i) for (int j = 0; j < 3; ++j) for (int k = 0; k < 2; ++k) m_3dim.cell(i,j,k) = 10*(10*i + j) + k; assert(m_3dim.cell(0,0,0) == 0); assert(m_3dim.cell(0,0,1) == 1); assert(m_3dim.cell(0,1,0) == 10); assert(m_3dim.cell(0,1,1) == 11); assert(m_3dim.cell(0,2,0) == 20); assert(m_3dim.cell(0,2,1) == 21); assert(m_3dim.cell(1,0,0) == 100); assert(m_3dim.cell(1,0,1) == 101); assert(m_3dim.cell(1,1,0) == 110); assert(m_3dim.cell(1,1,1) == 111); assert(m_3dim.cell(1,2,0) == 120); assert(m_3dim.cell(1,2,1) == 121); return 0; }