root/library/bdm/base/itpp/base/svec.cpp @ 813

Revision 813, 3.3 kB (checked in by smidl, 14 years ago)
Line 
1/*!
2 * \file
3 * \brief Sparse Vector Class implementation
4 * \author Tony Ottosson and Tobias Ringstrom
5 *
6 * -------------------------------------------------------------------------
7 *
8 * IT++ - C++ library of mathematical, signal processing, speech processing,
9 *        and communications classes and functions
10 *
11 * Copyright (C) 1995-2009  (see AUTHORS file for a list of contributors)
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 *
27 * -------------------------------------------------------------------------
28 */
29
30#include <itpp/base/svec.h>
31
32//! \cond
33
34namespace itpp
35{
36
37// ---------------------------------------------------------------------
38// Instantiations
39// ---------------------------------------------------------------------
40
41template class Sparse_Vec<int>;
42template class Sparse_Vec<double>;
43template class Sparse_Vec<std::complex<double> >;
44
45template sparse_ivec operator+(const sparse_ivec &, const sparse_ivec &);
46template sparse_vec operator+(const sparse_vec &, const sparse_vec &);
47template sparse_cvec operator+(const sparse_cvec &, const sparse_cvec &);
48
49template int operator*(const sparse_ivec &, const sparse_ivec &);
50template double operator*(const sparse_vec &, const sparse_vec &);
51template std::complex<double> operator*(const sparse_cvec &, const sparse_cvec &);
52
53template int operator*(const sparse_ivec &, const ivec &);
54template double operator*(const sparse_vec &, const vec &);
55template std::complex<double> operator*(const sparse_cvec &, const cvec &);
56
57template int operator*(const ivec &, const sparse_ivec &);
58template double operator*(const vec &, const sparse_vec &);
59template std::complex<double> operator*(const cvec &, const sparse_cvec &);
60
61template sparse_ivec elem_mult(const sparse_ivec &, const sparse_ivec &);
62template sparse_vec elem_mult(const sparse_vec &, const sparse_vec &);
63template sparse_cvec elem_mult(const sparse_cvec &, const sparse_cvec &);
64
65template ivec elem_mult(const sparse_ivec &, const ivec &);
66template vec elem_mult(const sparse_vec &, const vec &);
67template cvec elem_mult(const sparse_cvec &, const cvec &);
68
69template sparse_ivec elem_mult_s(const sparse_ivec &, const ivec &);
70template sparse_vec elem_mult_s(const sparse_vec &, const vec &);
71template sparse_cvec elem_mult_s(const sparse_cvec &, const cvec &);
72
73template ivec elem_mult(const ivec &, const sparse_ivec &);
74template vec elem_mult(const vec &, const sparse_vec &);
75template cvec elem_mult(const cvec &, const sparse_cvec &);
76
77template sparse_ivec elem_mult_s(const ivec &, const sparse_ivec &);
78template sparse_vec elem_mult_s(const vec &, const sparse_vec &);
79template sparse_cvec elem_mult_s(const cvec &, const sparse_cvec &);
80
81} // namespace itpp
82
83//! \endcond
Note: See TracBrowser for help on using the browser.