• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 //  Copyright (c) 2000-2002
3 //  Joerg Walter, Mathias Koch
4 //
5 //  Distributed under the Boost Software License, Version 1.0. (See
6 //  accompanying file LICENSE_1_0.txt or copy at
7 //  http://www.boost.org/LICENSE_1_0.txt)
8 //
9 //  The authors gratefully acknowledge the support of
10 //  GeNeSys mbH & Co. KG in producing this work.
11 //
12 
13 #include "test2.hpp"
14 
15 template<class V, std::size_t N>
test()16 void test_blas_1<V, N>::test () {
17     {
18         value_type t;
19         real_type n;
20         V v1 (N), v2 (N);
21 
22         // _asum
23         initialize_vector (v1);
24         n = ublas::blas_1::asum (v1);
25         std::cout << "asum (v1) = " << n << std::endl;
26 
27         // _amax
28         initialize_vector (v1);
29         n = ublas::blas_1::amax (v1);
30         std::cout << "amax (v1) = " << n << std::endl;
31 
32         // _nrm2
33         initialize_vector (v1);
34         n = ublas::blas_1::nrm2 (v1);
35         std::cout << "nrm2 (v1) = " << n << std::endl;
36 
37         // _dot
38         // _dotu
39         // _dotc
40         initialize_vector (v1);
41         initialize_vector (v2);
42         t = ublas::blas_1::dot (v1, v2);
43         std::cout << "dot (v1, v2) = " << t << std::endl;
44         t = ublas::blas_1::dot (ublas::conj (v1), v2);
45         std::cout << "dot (conj (v1), v2) = " << t << std::endl;
46 
47         // _copy
48         initialize_vector (v2);
49         ublas::blas_1::copy (v1, v2);
50         std::cout << "copy (v1, v2) = " << v1 << std::endl;
51 
52         // _swap
53         initialize_vector (v1);
54         initialize_vector (v2);
55         ublas::blas_1::swap (v1, v2);
56         std::cout << "swap (v1, v2) = " << v1 << " " << v2 << std::endl;
57 
58         // _scal
59         // csscal
60         // zdscal
61         initialize_vector (v1);
62         ublas::blas_1::scal (v1, value_type (1));
63         std::cout << "scal (v1, 1) = " << v1 << std::endl;
64 
65         // _axpy
66         initialize_vector (v1);
67         initialize_vector (v2);
68         ublas::blas_1::axpy (v1, value_type (1), v2);
69         std::cout << "axpy (v1, 1, v2) = " << v1 << std::endl;
70 
71         // _rot
72         initialize_vector (v1);
73         initialize_vector (v2);
74         ublas::blas_1::rot (value_type (1), v1, value_type (1), v2);
75         std::cout << "rot (1, v1, 1, v2) = " << v1 << " " << v2 << std::endl;
76     }
77 }
78 
79 #ifdef USE_FLOAT
80 template struct test_blas_1<ublas::vector<float>, 3>;
81 #endif
82 
83 #ifdef USE_DOUBLE
84 template struct test_blas_1<ublas::vector<double>, 3>;
85 #endif
86 
87 #ifdef USE_STD_COMPLEX
88 #ifdef USE_FLOAT
89 template struct test_blas_1<ublas::vector<std::complex<float> >, 3>;
90 #endif
91 
92 #ifdef USE_DOUBLE
93 template struct test_blas_1<ublas::vector<std::complex<double> >, 3>;
94 #endif
95 #endif
96