FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
fei_FillableMat.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 _fei_FillableMat_hpp_
10
#define _fei_FillableMat_hpp_
11
12
#include <
fei_CSVec.hpp
>
13
#include <
fei_Pool_alloc.hpp
>
14
#include <
fei_EqnBuffer.hpp
>
15
#include <vector>
16
#include <map>
17
18
namespace
fei
{
19
20
class
FillableMat
{
21
public
:
22
FillableMat
();
23
FillableMat
(
EqnBuffer
& eqnbuf);
24
virtual
~FillableMat
();
25
26
FillableMat
&
operator=
(
const
FillableMat
& src);
27
28
void
setValues
(
double
value);
29
30
void
createPosition
(
int
row,
int
col);
31
32
void
sumInCoef
(
int
row,
int
col,
double
coef);
33
void
putCoef
(
int
row,
int
col,
double
coef);
34
35
void
sumInRow
(
int
row,
const
int
* cols,
const
double
* coefs,
unsigned
len);
36
void
putRow
(
int
row,
const
int
* cols,
const
double
* coefs,
unsigned
len);
37
38
unsigned
getNumRows
()
const
;
39
40
bool
hasRow
(
int
row)
const
;
41
42
const
CSVec
*
getRow
(
int
row)
const
;
43
CSVec
*
create_or_getRow
(
int
row);
44
45
typedef
std::map<int, CSVec*, std::less<int>,
46
fei_Pool_alloc<std::pair<const int,CSVec*>
> >
feipoolmat
;
47
48
typedef
feipoolmat::iterator
iterator
;
49
typedef
feipoolmat::const_iterator
const_iterator
;
50
51
iterator
begin
() {
return
matdata_
.begin();}
52
iterator
end
() {
return
matdata_
.end();}
53
54
const_iterator
begin
()
const
{
return
matdata_
.begin();}
55
const_iterator
end
()
const
{
return
matdata_
.end();}
56
57
void
clear
();
58
59
bool
operator==
(
const
FillableMat
& rhs)
const
;
60
61
bool
operator!=
(
const
FillableMat
& rhs)
const
;
62
63
private
:
64
feipoolmat
matdata_
;
65
fei_Pool_alloc<CSVec>
vecpool_
;
66
};
//class FillableMat
67
69
void
print
(std::ostream& os,
const
FillableMat
& mat);
70
72
int
count_nnz
(
const
FillableMat
& mat);
73
75
void
get_row_numbers
(
const
FillableMat
& mat, std::vector<int>& rows);
76
77
}
//namespace fei
78
79
#endif
80
EqnBuffer
Definition
fei_EqnBuffer.hpp:21
fei::CSVec
Definition
fei_CSVec.hpp:24
fei::FillableMat
Definition
fei_FillableMat.hpp:20
fei::FillableMat::clear
void clear()
Definition
fei_FillableMat.cpp:206
fei::FillableMat::putCoef
void putCoef(int row, int col, double coef)
Definition
fei_FillableMat.cpp:132
fei::FillableMat::matdata_
feipoolmat matdata_
Definition
fei_FillableMat.hpp:64
fei::FillableMat::getNumRows
unsigned getNumRows() const
Definition
fei_FillableMat.cpp:165
fei::FillableMat::FillableMat
FillableMat()
Definition
fei_FillableMat.cpp:16
fei::FillableMat::end
const_iterator end() const
Definition
fei_FillableMat.hpp:55
fei::FillableMat::getRow
const CSVec * getRow(int row) const
Definition
fei_FillableMat.cpp:180
fei::FillableMat::hasRow
bool hasRow(int row) const
Definition
fei_FillableMat.cpp:172
fei::FillableMat::putRow
void putRow(int row, const int *cols, const double *coefs, unsigned len)
Definition
fei_FillableMat.cpp:153
fei::FillableMat::end
iterator end()
Definition
fei_FillableMat.hpp:52
fei::FillableMat::create_or_getRow
CSVec * create_or_getRow(int row)
Definition
fei_FillableMat.cpp:193
fei::FillableMat::~FillableMat
virtual ~FillableMat()
Definition
fei_FillableMat.cpp:45
fei::FillableMat::operator=
FillableMat & operator=(const FillableMat &src)
Definition
fei_FillableMat.cpp:57
fei::FillableMat::createPosition
void createPosition(int row, int col)
Definition
fei_FillableMat.cpp:96
fei::FillableMat::const_iterator
feipoolmat::const_iterator const_iterator
Definition
fei_FillableMat.hpp:49
fei::FillableMat::sumInCoef
void sumInCoef(int row, int col, double coef)
Definition
fei_FillableMat.cpp:123
fei::FillableMat::begin
iterator begin()
Definition
fei_FillableMat.hpp:51
fei::FillableMat::begin
const_iterator begin() const
Definition
fei_FillableMat.hpp:54
fei::FillableMat::operator!=
bool operator!=(const FillableMat &rhs) const
Definition
fei_FillableMat.cpp:246
fei::FillableMat::setValues
void setValues(double value)
Definition
fei_FillableMat.cpp:84
fei::FillableMat::vecpool_
fei_Pool_alloc< CSVec > vecpool_
Definition
fei_FillableMat.hpp:65
fei::FillableMat::iterator
feipoolmat::iterator iterator
Definition
fei_FillableMat.hpp:48
fei::FillableMat::operator==
bool operator==(const FillableMat &rhs) const
Definition
fei_FillableMat.cpp:220
fei::FillableMat::feipoolmat
std::map< int, CSVec *, std::less< int >, fei_Pool_alloc< std::pair< const int, CSVec * > > > feipoolmat
Definition
fei_FillableMat.hpp:46
fei::FillableMat::sumInRow
void sumInRow(int row, const int *cols, const double *coefs, unsigned len)
Definition
fei_FillableMat.cpp:141
fei_Pool_alloc
Definition
fei_Pool_alloc.hpp:34
fei_CSVec.hpp
fei_EqnBuffer.hpp
fei_Pool_alloc.hpp
fei
Definition
fei_ArrayUtils.hpp:16
fei::count_nnz
int count_nnz(const FillableMat &mat)
Definition
fei_FillableMat.cpp:270
fei::print
void print(std::ostream &os, const FillableMat &mat)
Definition
fei_FillableMat.cpp:252
fei::get_row_numbers
void get_row_numbers(const FillableMat &mat, std::vector< int > &rows)
Definition
fei_FillableMat.cpp:287
Generated by
1.17.0