#include "cxx_dprog.hh"
#include <iostream>
using namespace std;
using namespace dprog;
int
main()
{
Matrix<int> m_1dim(1, static_cast<size_t>(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<int> m_2dim(2, static_cast<size_t>(3), static_cast<size_t>(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<int> m2_2dim(static_cast<size_t>(3), static_cast<size_t>(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<int> m_3dim(3,
static_cast<size_t>(2),
static_cast<size_t>(3),
static_cast<size_t>(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;
}
syntax highlighted by Code2HTML, v. 0.9.1