#include <Smatrix.hpp>
Inheritance diagram for smatrix::const_svector_ref::
Public Types | |
typedef map< size_t, size_t >::const_iterator | const_iterator |
Public Methods | |
const_svector_ref (const smatrix< t > *pm, const rng &i, size_t j) | |
const_svector_ref (const smatrix< t > *pm, size_t i, const rng &j) | |
const map< size_t, size_t > * | GetMap () const |
const_iterator | lower_bound (size_t i) const |
svector | operator * (const t &b) |
t | GetEpsilon () const |
t | Coef (const_iterator p) const |
t | operator() (size_t n) const |
bool | operator!= (const const_svector_ref &b) |
template<class tb> t | operator * (const tb &b) |
template<class tb> svector | operator+ (const tb &b) const |
template<class tb> svector | operator- (const tb &b) const |
Static Public Methods | |
size_t | Index (const_iterator p) |
Public Attributes | |
const smatrix< t > * | cm |
rng | range |
size_t | n |
bool | bColVect |
|
Definition at line 362 of file Smatrix.hpp. |
|
Definition at line 364 of file Smatrix.hpp. |
|
Definition at line 366 of file Smatrix.hpp. |
|
Definition at line 392 of file Smatrix.hpp. Referenced by operator *(), and operator!=().
00392 { return(cm->e[p->second]); } |
|
Definition at line 390 of file Smatrix.hpp. Referenced by operator *(), operator+(), and operator-().
00390 { return(cm->epsilon); } |
|
Definition at line 368 of file Smatrix.hpp. Referenced by lower_bound(), and operator()().
|
|
Definition at line 391 of file Smatrix.hpp. Referenced by operator!=().
00391 { return(p->first); } |
|
Definition at line 376 of file Smatrix.hpp. Referenced by operator *(), and operator!=().
00377 { 00378 return(GetMap()->lower_bound(i)); 00379 } |
|
Definition at line 413 of file Smatrix.hpp. 00414 { 00415 return(smatrix<t>::svMultiply(*this, b)); 00416 } |
|
Definition at line 380 of file Smatrix.hpp. 00381 { 00382 svector c(GetEpsilon() * b); 00383 c.range = range; 00384 const_iterator i = lower_bound(range.first); 00385 const_iterator iEnd = lower_bound(range.second + 1); 00386 for(; i != iEnd; i++) 00387 c.insert(c.end(), i->first, Coef(i) * b); 00388 return(c); 00389 } |
|
Definition at line 399 of file Smatrix.hpp. 00400 { 00401 if(range.first != b.range.first || range.second != b.range.second) return(true); 00402 const_iterator ia = lower_bound(range.first); 00403 const_iterator iaEnd = lower_bound(range.second + 1); 00404 const_iterator ib = b.lower_bound(b.range.first); 00405 const_iterator ibEnd = b.lower_bound(b.range.second + 1); 00406 for(; ia != iaEnd && ib != ibEnd; ia++, ib++) 00407 { 00408 if(Index(ia) != b.Index(ib)) return(true); 00409 if(Coef(ia) != b.Coef(ib)) return(true); 00410 } 00411 return(ia != iaEnd || ib != ibEnd); 00412 } |
|
Definition at line 393 of file Smatrix.hpp. 00394 { 00395 const map<size_t, size_t> *Map = GetMap(); 00396 const_iterator p = Map->find(n); 00397 return(p == Map->end() ? 0 : cm->e[p->second]); 00398 } |
|
Definition at line 417 of file Smatrix.hpp. 00418 { 00419 svector c(max(GetEpsilon(), b.GetEpsilon())); 00420 svAssign(c, *this); 00421 return(svAddEq(c, b, false)); 00422 } |
|
Definition at line 423 of file Smatrix.hpp. 00424 { 00425 svector c(max(GetEpsilon(), b.GetEpsilon())); 00426 svAssign(c, *this); 00427 return(svAddEq(c, b, true)); 00428 } |
|
Definition at line 360 of file Smatrix.hpp. |
|
Definition at line 357 of file Smatrix.hpp. |
|
Definition at line 359 of file Smatrix.hpp. |
|
Definition at line 358 of file Smatrix.hpp. |