blob: 01f02eccc539b402943806dc493e5bf807fc76fd [file]
/*
* $Id: alias.cc,v 1.1 2004/03/26 07:56:32 opetzold Exp $
*
* This example shows the solution of the problem with aliasing
* mentioned at
* http://tvmet.sourceforge.net/notes.html#alias
*/
#include <iostream>
#include <algorithm>
#include <tvmet/Matrix.h>
#include <tvmet/Vector.h>
#include <tvmet/util/Incrementor.h>
using namespace std;
int main()
{
typedef tvmet::Matrix<double, 3, 3> matrix_type;
matrix_type M;
std::generate(M.begin(), M.end(),
tvmet::util::Incrementor<matrix_type::value_type>());
std::cout << "M = " << M << std::endl;
alias(M) = M * trans(M);
std::cout << M << std::endl;
}