//
// vec_test.cpp
//
// vec_test.cpp,v 1.11 2003/07/29 10:16:05 frenger Exp
//
/*
Test elementary operations within the Vec class using type double
The program vec_test_file.cpp produces the test file "vec_test.it".
Created by Tony Ottosson, 2001-10-11.
*/
#include <iostream>
#include "itbase.h"
using std::cout;
using std::endl;
using namespace itpp;
int main()
{
int N = 33;
vec a = randn(N), b = randn(N), r;
double c = randn(), s;
mat M;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "c = " << c << endl;
r = a+b;
cout << "r = a+b = " << r << endl;
r = a+c;
cout << "r = a+c = " << r << endl;
r = c+a;
cout << "r = c+a = " << r << endl;
r = a-b;
cout << "r = a-b = " << r << endl;
r = a-c;
cout << "r = a-c = " << r << endl;
r = c-a;
cout << "r = c-a = " << r << endl;
r = -a;
cout << "r = -a = " << r << endl;
s = a*b;
cout << "s = a*b = " << s << endl;
s = dot(a,b);
cout << "s = dot(a,b) = " << s << endl;
M = outer_product(a,b);
cout << "M = outer_product(a,b) = " << M << endl;
r = a*c;
cout << "r = a*c = " << r << endl;
r = c*a;
cout << "r = c*a = " << r << endl;
r = elem_mult(a,b);
cout << "r = elem_mult(a,b) = " << r << endl;
r = a/c;
cout << "r = a/c = " << r << endl;
r = elem_div(a,b);
cout << "r = elem_div(a,b) = " << r << endl;
r = concat(a,c);
cout << "r = concat(a,c) = " << r << endl;
r = concat(c,a);
cout << "r = concat(c,a) = " << r << endl;
r = concat(a,b);
cout << "r = concat(a,b) = " << r << endl;
r = concat(a,b,a);
cout << "r = concat(a,b,a) = " << r << endl;
r="23.3 1232.7 0.111 1.525 0.333";
cout << "Testing to set vector by string: r = " << r << endl;
s = a.size();
cout << "Testing Vec<T>.size(): s = " << s << endl;
r.set_length(17,false);
cout << "Testing Vec<T>.set_length(): r.size() = " << r.size() << endl;
r.zeros();
cout << "Testing Vec<T>.zeros(): r = " << r << endl;
r.ones();
cout << "Testing Vec<T>.ones(): r = " << r << endl;
//Test of all and any:
bvec b1 = "0 0 0 0 0 0 0 1 0 0";
bvec b2 = "0 0 0 0 0 0 0 0 0 0";
bvec b3 = "1 1 1 1 1 1 1 1 1 1 1 1 1";
bvec b4 = "1 1 1 1 1 1 1 1 1 1 1 0 1";
cout << "any(b1) = " << any(b1) << endl;
cout << "any(b2) = " << any(b2) << endl;
cout << "all(b3) = " << all(b3) << endl;
cout << "all(b4) = " << all(b4) << endl;
return 0;
}
syntax highlighted by Code2HTML, v. 0.9.1