PlayaVector.cpp

00001 /* @HEADER@ */
00002 //   
00003 /* @HEADER@ */
00004 
00005 
00006 #include "PlayaDefs.hpp"
00007 
00008 #ifdef HAVE_TEUCHOS_EXPLICIT_INSTANTIATION
00009 
00010 #include "PlayaVectorImpl.hpp"
00011 #include "PlayaLinearCombinationImpl.hpp"
00012 
00013 namespace Playa
00014 {
00015 
00016 template class Vector<double>;
00017 
00018 template LoadableVector<double>* loadable(Vector<double> vec);
00019 
00020 template 
00021 double* dataPtr(Vector<double> vec) ;
00022 
00023 template 
00024 const double* dataPtr(const Vector<double>& vec) ;
00025 
00026 template class LCN<double, 1>;
00027 template class LCN<double, 2>;
00028 template class LCN<double, 3>;
00029 template class LCN<double, 4>;
00030 
00031 template Vector<double> operator*(
00032   const LinearOperator<double>& A,
00033   const Vector<double>& x);
00034 
00035 template Vector<double> operator*(
00036   const LinearOperator<double>& A,
00037   const LCN<double, 1>& x);
00038 
00039 template Vector<double> operator*(
00040   const LinearOperator<double>& A,
00041   const LCN<double, 2>& x);
00042 
00043 template Vector<double> operator*(
00044   const LinearOperator<double>& A,
00045   const LCN<double, 3>& x);
00046 
00047 template Vector<double>& Vector<double>::operator+=(const LCN<double, 3>& x);
00048 template Vector<double>& Vector<double>::operator-=(const LCN<double, 3>& x);
00049 
00050 template double norm1(const LCN<double, 1>& x);
00051 template double norm1(const LCN<double, 2>& x);
00052 template double norm1(const LCN<double, 3>& x);
00053 
00054 template double norm2(const LCN<double, 1>& x);
00055 template double norm2(const LCN<double, 2>& x);
00056 template double norm2(const LCN<double, 3>& x);
00057 
00058 template double normInf(const LCN<double, 1>& x);
00059 template double normInf(const LCN<double, 2>& x);
00060 template double normInf(const LCN<double, 3>& x);
00061 
00062 template double min(const LCN<double, 1>& x);
00063 template double min(const LCN<double, 2>& x);
00064 template double min(const LCN<double, 3>& x);
00065 
00066 template double max(const LCN<double, 1>& x);
00067 template double max(const LCN<double, 2>& x);
00068 template double max(const LCN<double, 3>& x);
00069 
00070 template Vector<double> abs(const LCN<double, 1>& x);
00071 template Vector<double> abs(const LCN<double, 2>& x);
00072 template Vector<double> abs(const LCN<double, 3>& x);
00073 
00074 template Vector<double> reciprocal(const LCN<double, 1>& x);
00075 template Vector<double> reciprocal(const LCN<double, 2>& x);
00076 template Vector<double> reciprocal(const LCN<double, 3>& x);
00077 
00078 template LCN<double, 1> operator*(const double& a, const Vector<double>& x);
00079 template LCN<double, 1> operator*(const Vector<double>& x, const double& a);
00080 template LCN<double, 1> operator/(const Vector<double>& x, const double& a);
00081 
00082 template LCN<double, 1> operator*(const double& a, const LCN<double, 1>& x);
00083 template LCN<double, 1> operator*(const LCN<double, 1>& x, const double& a);
00084 template LCN<double, 1> operator/(const LCN<double, 1>& x, const double& a);
00085 
00086 template LCN<double, 2> operator*(const double& a, const LCN<double, 2>& x);
00087 template LCN<double, 2> operator*(const LCN<double, 2>& x, const double& a);
00088 template LCN<double, 2> operator/(const LCN<double, 2>& x, const double& a);
00089 
00090 template LCN<double, 3> operator*(const double& a, const LCN<double, 3>& x);
00091 template LCN<double, 3> operator*(const LCN<double, 3>& x, const double& a);
00092 template LCN<double, 3> operator/(const LCN<double, 3>& x, const double& a);
00093 
00094 template LCN<double, 2> 
00095 operator+(const Vector<double>& y, const LCN<double, 1>& x);
00096 template LCN<double, 2> 
00097 operator+(const LCN<double, 1>& x, const Vector<double>& y);
00098 template LCN<double, 2> 
00099 operator+(const LCN<double, 1>& x, const LCN<double, 1>& y);
00100 
00101 template LCN<double, 2> 
00102 operator-(const Vector<double>& y, const LCN<double, 1>& x);
00103 template LCN<double, 2> 
00104 operator-(const LCN<double, 1>& x, const Vector<double>& y);
00105 template LCN<double, 2> 
00106 operator-(const LCN<double, 1>& x, const LCN<double, 1>& y);
00107 
00108 
00109 template LCN<double, 3> 
00110 operator+(const Vector<double>& y, const LCN<double, 2>& x);
00111 template LCN<double, 3> 
00112 operator+(const LCN<double, 2>& x, const Vector<double>& y);
00113 template LCN<double, 3> 
00114 operator+(const LCN<double, 2>& x, const LCN<double, 1>& y);
00115 template LCN<double, 3> 
00116 operator+(const LCN<double, 1>& x, const LCN<double, 2>& y);
00117 
00118 template LCN<double, 3> 
00119 operator-(const Vector<double>& y, const LCN<double, 2>& x);
00120 template LCN<double, 3> 
00121 operator-(const LCN<double, 2>& x, const Vector<double>& y);
00122 template LCN<double, 3> 
00123 operator-(const LCN<double, 2>& x, const LCN<double, 1>& y);
00124 template LCN<double, 3> 
00125 operator-(const LCN<double, 1>& x, const LCN<double, 2>& y);
00126 
00127 
00128 
00129 }
00130 
00131 #endif

doxygen