Go to the documentation of this file.
46RowColumn :: RowColumn(
int n):
56RowColumn :: RowColumn(
int n,
int start):
67double &RowColumn :: atU(
int i)
70 return column [ i - start ];
73double RowColumn :: atU(
int i)
const
76 return column [ i - start ];
79double &RowColumn :: atL(
int i)
82 return row [ i - start ];
85double RowColumn :: atL(
int i)
const
88 return row [ i - start ];
93void RowColumn :: checkBounds(
int i)
const
95 if ( i < start || i >=
number ) {
101void RowColumn :: checkSizeTowards(
const IntArray &loc)
103 int i, c, first =
start;
111 for ( i = 1; i <= n; i++ ) {
112 if ( ( first = loc.
at(i) ) ) {
118 for (
int j = i + 1; j <= n; j++ ) {
119 if ( ( c = loc.
at(j) ) ) {
120 first =
min(c, first);
125 if ( first <
start && first ) {
131double RowColumn :: dot(
const FloatArray &b,
char c,
int first,
int last)
const
136 int i = last - first + 1;
146 const double *p2 = b.givePointer() + first-1 ;
149 answer += *p1++ * *p2++ ;
158RowColumn :: growTo(
int newStart)
161 if ( newStart <= 0 || newStart >
start ) {
165 int increase =
start - newStart;
170 std::rotate(
row.rbegin(),
row.rbegin()+increase,
row.rend());
177void RowColumn :: printYourself()
const
179 printf(
"Row-column %d : start = %d, diag = %.5f\n col : ",
182 printf(
" % .5f",
column [ i ]);
187 printf(
" % .5f",
row [ i ]);
197 std::fill(
row.begin(),
row.end(), 0.);
std::vector< double > row
std::vector< double > column
FloatArrayF< N > min(const FloatArrayF< N > &a, const FloatArrayF< N > &b)
FloatArrayF< N > column(const FloatMatrixF< N, M > &mat, std::size_t col)
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011