FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
snl_fei_BlockMatrixTraits.hpp
Go to the documentation of this file.
1/*--------------------------------------------------------------------*/
2/* Copyright 2005 Sandia Corporation. */
3/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4/* non-exclusive license for use of this work by or on behalf */
5/* of the U.S. Government. Export of this program may require */
6/* a license from the United States Government. */
7/*--------------------------------------------------------------------*/
8
9#ifndef _snl_fei_BlockMatrixTraits_hpp_
10#define _snl_fei_BlockMatrixTraits_hpp_
11
12#include <fei_macros.hpp>
13
14namespace snl_fei {
21 template<typename T>
23
25 static const char* typeName()
26 { static const char name[] = "unsupported"; return(name); }
27
30 static int putScalar(T* /*mat*/, double /*scalar*/)
31 { return(-1); }
32
35 static int getRowLength(T* /*mat*/, int /*row*/, int& /*length*/)
36 { return(-1); }
37
41 static int getPointRowLength(T* /*mat*/, int /*row*/, int& /*length*/)
42 { return(-1); }
43
67 static int copyOutRow(T* /*mat*/,
68 int /*row*/,
69 int /*numBlkCols*/,
70 int /*rowDim*/,
71 int* /*blkCols*/,
72 int* /*colDims*/,
73 double* /*coefs*/,
74 int /*coefsLen*/,
75 int& /*blkRowLength*/)
76 { return(-1); }
77
95 static int copyOutPointRow(T* /*mat*/,
96 int /*firstLocalOffset*/,
97 int /*row*/, int /*len*/,
98 double* /*coefs*/, int* /*indices*/,
99 int& /*rowLength*/)
100 { return(-1); }
101
105 static int sumIn(T* /*mat*/,
106 int /*blockRow*/,
107 int /*rowDim*/,
108 int /*numBlockCols*/,
109 const int* /*blockCols*/,
110 const int* /*colDims*/,
111 int /*LDA*/,
112 const double* /*values*/)
113 { return(-1); }
114
118 static int copyIn(T* /*mat*/,
119 int /*blockRow*/,
120 int /*rowDim*/,
121 int /*numBlockCols*/,
122 const int* /*blockCols*/,
123 const int* /*colDims*/,
124 int /*LDA*/,
125 const double* /*values*/)
126 { return(-1); }
127
130 static int sumIn(T* /*mat*/,
131 int /*row*/, int /*rowDim*/,
132 int /*numCols*/, const int* /*cols*/,
133 const int* /*LDAs*/,
134 const int* /*colDims*/,
135 const double* const* /*values*/)
136 { return(-1); }
137
141 static int copyIn(T* /*mat*/,
142 int /*row*/, int /*rowDim*/,
143 int /*numCols*/, const int* /*cols*/,
144 const int* /*LDAs*/,
145 const int* /*colDims*/,
146 const double* const* /*values*/)
147 { return(-1); }
148
152 static int globalAssemble(T* /*mat*/)
153 { return(-1); }
154
155 };//struct BlockMatrixTraits
156}//namespace snl_fei
157
158#endif // _snl_fei_BlockMatrixTraits_hpp_
static int sumIn(T *, int, int, int, const int *, const int *, int, const double *)
static int copyIn(T *, int, int, int, const int *, const int *, const int *, const double *const *)
static int copyOutPointRow(T *, int, int, int, double *, int *, int &)
static int copyOutRow(T *, int, int, int, int *, int *, double *, int, int &)
static int sumIn(T *, int, int, int, const int *, const int *, const int *, const double *const *)
static int getPointRowLength(T *, int, int &)
static int getRowLength(T *, int, int &)
static int copyIn(T *, int, int, int, const int *, const int *, int, const double *)