00001 /* 00002 LA: linear algebra C++ interface library 00003 Copyright (C) 2008 Jiri Pittner <jiri.pittner@jh-inst.cas.cz> or <jiri@pittnerovi.com> 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00019 //traits classes 00020 00021 #ifndef _SPARSEMAT_TRAITS_INCL 00022 #define _SPARSEMAT_TRAITS_INCL 00023 00024 00025 template<> struct NRMat_traits<SparseMat<double> > { 00026 typedef double elementtype; 00027 typedef SparseMat<double> producttype; 00028 static double norm (const SparseMat<double> &x) {return x.norm();} 00029 static void axpy (SparseMat<double>&s, const SparseMat<double> &x, const double c) {s.axpy(c,x);} 00030 }; 00031 00032 #endif