// -*- c++ -*- //
/** \file main.cpp  \brief main routines */
/***************************************************************************
 -   begin                : 2003-09-05
 -   copyright            : (C) 2003 by Gunter Winkler
 -   email                : guwi17@gmx.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

/* Special thanks to Stefan Heinzman */

#include <iostream>

#include <boost/timer.hpp>

#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>


#include "storage_adaptors.hpp"


using namespace boost::numeric::ublas ;

using std::cout;
using std::endl;

static const double data[3][3] = {
  {65.481 , 128.553, 24.966 },
  {-37.797, -74.203, 112.   },
  {112.   , -93.786, -18.214}
};

int main(int argc, char *argv[])
{

  {
	vector<double> vfm(3);
	vfm = make_vector_from_pointer(3, &(data[1][0]));
	cout << vfm << endl;
  }

  {
    matrix<double> xfm(3, 3);
    xfm = make_matrix_from_pointer(3, 3, &(data[0][0]));
	cout << xfm << endl;
  }

  {
    cout << make_matrix_from_pointer(data) << endl;
    cout << make_matrix_from_pointer(&data) << endl;
  }

  return EXIT_SUCCESS;

}


