Memosa-FVM  0.2
DiagonalTensor.h File Reference
#include "NumType.h"
#include "Vector.h"
#include <sstream>
Include dependency graph for DiagonalTensor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DiagonalTensor< T, N >
 

Functions

template<class T , int N>
ostream & operator<< (ostream &os, const DiagonalTensor< T, N > &v)
 
template<class T , int N>
DiagonalTensor< T, N > operator+ (const DiagonalTensor< T, N > &a, const DiagonalTensor< T, N > &b)
 
template<class T , int N>
DiagonalTensor< T, N > operator- (const DiagonalTensor< T, N > &a, const DiagonalTensor< T, N > &b)
 
template<class T , int N>
DiagonalTensor< T, N > operator- (const DiagonalTensor< T, N > &a)
 
template<class T , int N>
DiagonalTensor< T, N > operator* (const DiagonalTensor< T, N > &a, const DiagonalTensor< T, N > &b)
 
template<class T , int N>
DiagonalTensor< T, N > operator* (const T s, const DiagonalTensor< T, N > &a)
 
template<class T , int N>
DiagonalTensor< T, N > operator* (const DiagonalTensor< T, N > &a, const T s)
 
template<class T , int N>
Vector< T, N > operator* (const DiagonalTensor< T, N > &a, const Vector< T, N > &b)
 
template<class T , int N>
DiagonalTensor< T, N > operator/ (const DiagonalTensor< T, N > &a, const T s)
 
template<class T , int N>
Vector< T, N > operator/ (const Vector< T, N > &a, const DiagonalTensor< T, N > &b)
 
template<class T , int N>
DiagonalTensor< T, N > operator/ (const DiagonalTensor< T, N > &a, const DiagonalTensor< T, N > &b)
 
template<class T , int N>
DiagonalTensor< T, N > operator/ (const T s, const DiagonalTensor< T, N > &a)
 
template<class T , int N>
DiagToOffDiag (const DiagonalTensor< T, N > &x)
 

Function Documentation

template<class T , int N>
T DiagToOffDiag ( const DiagonalTensor< T, N > &  x)

Definition at line 336 of file DiagonalTensor.h.

337 {
338  return x[0];
339 }
template<class T , int N>
DiagonalTensor<T,N> operator* ( const DiagonalTensor< T, N > &  a,
const DiagonalTensor< T, N > &  b 
)

Definition at line 273 of file DiagonalTensor.h.

274 {
275  return DiagonalTensor<T,N>(a) *= b;
276 }
template<class T , int N>
DiagonalTensor<T,N> operator* ( const T  s,
const DiagonalTensor< T, N > &  a 
)

Definition at line 280 of file DiagonalTensor.h.

281 {
282  return DiagonalTensor<T,N>(a) *= s;
283 }
template<class T , int N>
DiagonalTensor<T,N> operator* ( const DiagonalTensor< T, N > &  a,
const T  s 
)

Definition at line 287 of file DiagonalTensor.h.

288 {
289  return DiagonalTensor<T,N>(a) *= s;
290 }
template<class T , int N>
Vector<T,N> operator* ( const DiagonalTensor< T, N > &  a,
const Vector< T, N > &  b 
)

Definition at line 294 of file DiagonalTensor.h.

295 {
296  Vector<T,N> r;
297  for(int i=0; i<N; i++) r[i] = a[i]*b[i];
298  return r;
299 }
Definition: Vector.h:19
template<class T , int N>
DiagonalTensor<T,N> operator+ ( const DiagonalTensor< T, N > &  a,
const DiagonalTensor< T, N > &  b 
)

Definition at line 252 of file DiagonalTensor.h.

253 {
254  return DiagonalTensor<T,N>(a) += b;
255 }
template<class T , int N>
DiagonalTensor<T,N> operator- ( const DiagonalTensor< T, N > &  a,
const DiagonalTensor< T, N > &  b 
)

Definition at line 259 of file DiagonalTensor.h.

260 {
261  return DiagonalTensor<T,N>(a) -= b;
262 }
template<class T , int N>
DiagonalTensor<T,N> operator- ( const DiagonalTensor< T, N > &  a)

Definition at line 266 of file DiagonalTensor.h.

267 {
268  return -DiagonalTensor<T,N>(a);
269 }
template<class T , int N>
DiagonalTensor<T,N> operator/ ( const DiagonalTensor< T, N > &  a,
const T  s 
)

Definition at line 303 of file DiagonalTensor.h.

304 {
305  return DiagonalTensor<T,N>(a) /= s;
306 }
template<class T , int N>
Vector<T,N> operator/ ( const Vector< T, N > &  a,
const DiagonalTensor< T, N > &  b 
)

Definition at line 310 of file DiagonalTensor.h.

311 {
312  Vector<T,N> r;
313  for(int i=0; i<N; i++) r[i] = a[i]/b[i];
314  return r;
315 }
Definition: Vector.h:19
template<class T , int N>
DiagonalTensor<T,N> operator/ ( const DiagonalTensor< T, N > &  a,
const DiagonalTensor< T, N > &  b 
)

Definition at line 319 of file DiagonalTensor.h.

320 {
322  for(int i=0; i<N; i++) r[i] = a[i]/b[i];
323  return r;
324 }
template<class T , int N>
DiagonalTensor<T,N> operator/ ( const T  s,
const DiagonalTensor< T, N > &  a 
)

Definition at line 328 of file DiagonalTensor.h.

329 {
331  for(int i=0; i<N; i++) r[i] = s/a[i];
332  return r;
333 }
template<class T , int N>
ostream& operator<< ( ostream &  os,
const DiagonalTensor< T, N > &  v 
)
inline

Definition at line 242 of file DiagonalTensor.h.

References DiagonalTensor< T, N >::printFromC().

244 {
245  v.printFromC(os);
246  return os;
247 }
void printFromC(ostream &os) const