LORENE
|
Multi-domain array. More...
#include <mtbl.h>
Public Member Functions | |
Mtbl (const Mg3d &mgrid) | |
Constructor. More... | |
Mtbl (const Mg3d *p_mgrid) | |
Constructor. More... | |
Mtbl (const Mg3d &, FILE *) | |
Constructor from a file (see sauve(FILE*) ) More... | |
Mtbl (const Coord &c) | |
Constructor from a Coord. More... | |
Mtbl (const Mtbl &a) | |
Copy constructor. More... | |
~Mtbl () | |
Destructor. More... | |
void | operator= (const Mtbl &) |
Assignement to another Mtbl . More... | |
void | operator= (double) |
Assignement to a double . More... | |
void | operator= (int) |
Assignement to a int . More... | |
void | set_etat_nondef () |
Sets the logical state to ETATNONDEF (undefined). More... | |
void | set_etat_zero () |
Sets the logical state to ETATZERO (zero). More... | |
void | set_etat_qcq () |
Sets the logical state to ETATQCQ (ordinary state). More... | |
void | annule_hard () |
Sets the Mtbl to zero in a hard way. More... | |
void | annule (int l_min, int l_max) |
Sets the Mtbl to zero in some domains. More... | |
Tbl & | set (int l) |
Read/write of the Tbl in a given domain. More... | |
const Tbl & | operator() (int l) const |
Read-only of the Tbl in a given domain. More... | |
double & | set (int l, int k, int j, int i) |
Read/write of a particular element. More... | |
double | operator() (int l, int k, int j, int i) const |
Read-only of a particular element. More... | |
const Mg3d * | get_mg () const |
Gives the Mg3d on which the Mtbl is defined. More... | |
int | get_etat () const |
Gives the logical state. More... | |
int | get_nzone () const |
Gives the number of zones (domains) More... | |
void | sauve (FILE *) const |
Save in a file. More... | |
void | affiche_seuil (ostream &ostr, int precision=4, double threshold=1.e-7) const |
Prints only the values greater than a given threshold. More... | |
void | operator+= (const Mtbl &) |
+= Mtbl More... | |
void | operator+= (double) |
+= double More... | |
void | operator-= (const Mtbl &) |
-= Mtbl More... | |
void | operator-= (double) |
-= double More... | |
void | operator*= (const Mtbl &) |
*= Mtbl More... | |
void | operator*= (double) |
*= double More... | |
void | operator/= (const Mtbl &) |
/= Mtbl More... | |
void | operator/= (double) |
/= double More... | |
Public Attributes | |
Tbl ** | t |
Array (size nzone ) of pointers on the Tbl 's. More... | |
Private Member Functions | |
void | del_t () |
Logical destructor: dellocates the memory occupied by the Tbl array t . More... | |
Private Attributes | |
const Mg3d * | mg |
Pointer on the multi-grid Mgd3 on which this is defined. More... | |
int | nzone |
Number of domains (zones) More... | |
int | etat |
Logical state (ETATNONDEF , ETATQCQ or ETATZERO ). More... | |
Friends | |
ostream & | operator<< (ostream &, const Mtbl &) |
Display. More... | |
Multi-domain array.
()
This class is essentially an array of Tbl
. It is intended to be used in conjunction with the class Mtbl_cf
. A Mtbl
is initialy created with a logical state NONDEF
. Arithmetic operations are provided with the usual meaning (see below).
|
explicit |
|
explicit |
Lorene::Mtbl::Mtbl | ( | const Mg3d & | g, |
FILE * | fd | ||
) |
Constructor from a file (see sauve(FILE*)
)
Definition at line 185 of file mtbl.C.
References etat, Lorene::fread_be(), Lorene::Mg3d::get_nzone(), mg, nzone, and t.
Lorene::Mtbl::Mtbl | ( | const Coord & | c | ) |
Constructor from a Coord.
Definition at line 139 of file mtbl.C.
References Lorene::Coord::c, etat, Lorene::Coord::fait(), get_mg(), Lorene::Mg3d::get_nzone(), mg, nzone, and t.
Lorene::Mtbl::Mtbl | ( | const Mtbl & | a | ) |
void Lorene::Mtbl::affiche_seuil | ( | ostream & | ostr, |
int | precision = 4 , |
||
double | threshold = 1.e-7 |
||
) | const |
void Lorene::Mtbl::annule | ( | int | l_min, |
int | l_max | ||
) |
Sets the Mtbl
to zero in some domains.
l_min | [input] The Mtbl will be set (logically) to zero in the domains whose indices are in the range [l_min,l_max] . |
l_max | [input] see the comments for l_min . |
Note that annule
(0,nzone-1) is equivalent to set_etat_zero()
.
Definition at line 332 of file mtbl.C.
References etat, nzone, and set_etat_zero().
void Lorene::Mtbl::annule_hard | ( | ) |
Sets the Mtbl
to zero in a hard way.
1/ Sets the logical state to ETATQCQ
, i.e. to an ordinary state. 2/ Allocates the memory of the Tbl
array t
, and fills it with zeros. NB: this function must be used for debugging purposes only. For other operations, the functions set_etat_zero()
or annule(int, int)
must be perferred.
Definition at line 315 of file mtbl.C.
References Lorene::Tbl::annule_hard(), etat, Lorene::Mg3d::get_grille3d(), mg, nzone, and t.
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Lorene::Mtbl::operator*= | ( | const Mtbl & | mi | ) |
void Lorene::Mtbl::operator*= | ( | double | ) |
void Lorene::Mtbl::operator+= | ( | const Mtbl & | mi | ) |
void Lorene::Mtbl::operator+= | ( | double | ) |
void Lorene::Mtbl::operator-= | ( | const Mtbl & | mi | ) |
void Lorene::Mtbl::operator-= | ( | double | ) |
void Lorene::Mtbl::operator/= | ( | double | ) |
void Lorene::Mtbl::operator= | ( | const Mtbl & | mtc | ) |
void Lorene::Mtbl::operator= | ( | double | x | ) |
Assignement to a double
.
Definition at line 246 of file mtbl.C.
References nzone, set_etat_qcq(), set_etat_zero(), and t.
void Lorene::Mtbl::operator= | ( | int | m | ) |
Assignement to a int
.
Definition at line 260 of file mtbl.C.
References nzone, set_etat_qcq(), set_etat_zero(), and t.
void Lorene::Mtbl::sauve | ( | FILE * | fd | ) | const |
Save in a file.
Definition at line 212 of file mtbl.C.
References etat, Lorene::fwrite_be(), mg, and Lorene::Mg3d::sauve().
|
inline |
|
inline |
void Lorene::Mtbl::set_etat_nondef | ( | ) |
void Lorene::Mtbl::set_etat_qcq | ( | ) |
void Lorene::Mtbl::set_etat_zero | ( | ) |
|
friend |
|
private |
|
private |
Tbl** Lorene::Mtbl::t |