00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #define _NMBFMT std::setw(12) <<
00023
00024 #include <iostream>
00025 #include <cmath>
00026 #include <iomanip>
00027
00028 #include "linalg/lawrap.h"
00029 #include "linalg/vector.h"
00030 #include "util/exception.h"
00031
00032 using namespace std;
00033 using namespace LinAlg;
00034
00035 int main() try
00036 {
00037
00038 double a=2.0;
00039 Vector<REAL> X(5, "0 1 2 3 4");
00040 Vector<REAL> Y(5, "0 1 2 3 4");
00041
00042 cout << "a = " << a << endl;
00043 cout << "X = " << X << endl;
00044 cout << "Y = " << Y << endl;
00045
00046 cout << "-------------------------------------------------------------------------------- Scal\n";
00047 Scal(a, X);
00048 cout << "X <- a*X = " << X << endl;
00049
00050 cout << "-------------------------------------------------------------------------------- Copy\n";
00051 Copy(X, Y);
00052 cout << "Y <- X = " << Y << endl;
00053
00054 cout << "-------------------------------------------------------------------------------- Axpy\n";
00055 Axpy(a, X, Y);
00056 cout << "Y <- a*X + Y = " << Y << endl;
00057
00058 cout << "--------------------------------------------------------------------------------- Dot\n";
00059 cout << "s <- X dot Y = " << Dot(X,Y) << endl;
00060 Dot(X, Y);
00061
00062 return 0;
00063 }
00064 catch (Exception * e)
00065 {
00066 e->Cout();
00067 if (e->IsFatal()) {delete e; exit(1);}
00068 delete e;
00069 }
00070 catch (char const * m)
00071 {
00072 std::cout << "Fatal: " << m << std::endl;
00073 exit (1);
00074 }
00075 catch (...)
00076 {
00077 std::cout << "Some exception (...) ocurred\n";
00078 }
00079
00080