|
LORENE
|
Basic integer array class. More...
#include <itbl.h>
Public Member Functions | |
| Itbl (int size0) | |
| 1D constructor. More... | |
| Itbl (int size1, int size0) | |
| 2D constructor. More... | |
| Itbl (int size2, int size1, int size0) | |
3D constructor This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int, int, int ) . More... | |
| Itbl (const Dim_tbl &) | |
Constructor from a Dim_tbl . More... | |
| Itbl (FILE *) | |
Constructor from a file (see sauve(FILE* ) ) More... | |
| Itbl (const Itbl &) | |
| Copy constructor. More... | |
| ~Itbl () | |
| Destructor. More... | |
| void | operator= (const Itbl &) |
Assignment to another Itbl. More... | |
| void | operator= (int) |
Assignment 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 Itbl to zero in a hard way. More... | |
| int & | set (int i) |
Read/write of a particular element (index i ) (1D case) More... | |
| int | operator() (int i) const |
Read-only of a particular element (index i ) (1D case) More... | |
| int & | set (int j, int i) |
Read/write of a particular element (index (j,i) ) (2D case) More... | |
| int | operator() (int j, int i) const |
Read-only of a particular element (index (j,i) ) (2D case) More... | |
| int & | set (int k, int j, int i) |
Read/write of a particular element (index (k,j,i) ) (3D case) More... | |
| int | operator() (int k, int j, int i) const |
Read-only of a particular element (index (k,j,i) ) (3D case) More... | |
| int | get_etat () const |
| Gives the logical state. More... | |
| int | get_taille () const |
Gives the total size (ie dim.taille ) More... | |
| int | get_ndim () const |
Gives the number of dimensions (ie dim.ndim ) More... | |
| int | get_dim (int i) const |
Gives the i th dimension (ie {tt dim.dim[i] ) More... | |
| void | sauve (FILE *) const |
| Save in a file. More... | |
| void | operator+= (const Itbl &) |
Addition of a Itbl to this. More... | |
| void | operator+= (int) |
Addition of a int to this. More... | |
| void | operator-= (const Itbl &) |
Subtraction of a Itbl to this. More... | |
| void | operator-= (int) |
Subtraction of a int to this. More... | |
| void | operator*= (const Itbl &) |
Multiplication of this by a Itbl. More... | |
| void | operator*= (int) |
Multiplication of this by a int. More... | |
Public Attributes | |
| Dim_tbl | dim |
| Number of dimensions, size,... More... | |
| int * | t |
The array of int 's. More... | |
Private Member Functions | |
| void | del_t () |
Logical destructor: dellocates the memory occupied by the array t and sets the logical state to ETATNONDEF. More... | |
Private Attributes | |
| int | etat |
logical state (ETATNONDEF , ETATQCQ or ETATZERO ). More... | |
Friends | |
| ostream & | operator<< (ostream &, const Itbl &) |
| Display. More... | |
Basic integer array class.
This class is essentially an int array class. The elements of the array are stored continuously using the C convention.
The general logical state of an initialized Itbl is ETATQCQ ; it is the only state for which the memory allocation is performed for the int array t . The value zero is treated as a special logical state (ETATZERO ), without any memory allocation.
Contrary to a Tbl , an Itbl is initialy created in a logical state ETATQCQ (i.e. ordinary state, with memory allocated for the array t ).
Arithmetic operations are provided with the usual meaning (see below).
A 1D Itbl can be of dimension 0 (size 0). Its logical state is then ETATZERO (by convention).
()
|
explicit |
1D constructor.
This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int ) .
| size0 | [input] Number of elements of the array t . Will be assigned to dim.dim[0] . The size 0 is allowed (the corresponding logical state will be then ETATZERO). |
| Lorene::Itbl::Itbl | ( | int | size1, |
| int | size0 | ||
| ) |
2D constructor.
This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int, int ) .
| size1 | [input] Defines the range [0, size1-1] of the outermost index in the storage of the array t . Will be assigned to dim.dim[1] . |
| size0 | [input] Defines the range [0, size0-1] of the innermost index in the storage of the array t . Will be assigned to dim.dim[0] . |
| Lorene::Itbl::Itbl | ( | int | size2, |
| int | size1, | ||
| int | size0 | ||
| ) |
3D constructor This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int, int, int ) .
| size2 | [input] Defines the range [0, size2-1] of the outermost index in the storage of the array t . Will be assigned to dim.dim[2] . |
| size1 | [input] Defines the range [0, size1-1] of the intermediate index in the storage of the array t . Will be assigned to dim.dim[1] . |
| size0 | [input] Defines the range [0, size0-1] of the innermost index in the storage of the array t . Will be assigned to dim.dim[0] . |
|
explicit |
|
explicit |
Constructor from a file (see sauve(FILE* ) )
Definition at line 152 of file itbl.C.
References etat, and Lorene::fread_be().
| Lorene::Itbl::Itbl | ( | const Itbl & | tc | ) |
| void Lorene::Itbl::annule_hard | ( | ) |
Sets the Itbl 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 int array t , and fills it with zeros. NB: this function must be used for debugging purposes only. For other operations, the function set_etat_zero() must be perferred.
Definition at line 275 of file itbl.C.
References etat, get_taille(), and t.
|
private |
|
inline |
Gives the i th dimension (ie {tt dim.dim[i] )
Definition at line 326 of file itbl.h.
References Lorene::Dim_tbl::dim, dim, and Lorene::Dim_tbl::ndim.
|
inline |
|
inline |
Gives the number of dimensions (ie dim.ndim )
Definition at line 323 of file itbl.h.
References dim, and Lorene::Dim_tbl::ndim.
|
inline |
Gives the total size (ie dim.taille )
Definition at line 320 of file itbl.h.
References dim, and Lorene::Dim_tbl::taille.
|
inline |
|
inline |
|
inline |
| void Lorene::Itbl::operator*= | ( | const Itbl & | ti | ) |
Multiplication of this by a Itbl.
Definition at line 465 of file itbl_arithm.C.
| void Lorene::Itbl::operator*= | ( | int | x | ) |
| void Lorene::Itbl::operator+= | ( | const Itbl & | ti | ) |
| void Lorene::Itbl::operator+= | ( | int | x | ) |
| void Lorene::Itbl::operator-= | ( | const Itbl & | ti | ) |
Subtraction of a Itbl to this.
Definition at line 393 of file itbl_arithm.C.
| void Lorene::Itbl::operator-= | ( | int | x | ) |
| void Lorene::Itbl::operator= | ( | const Itbl & | tx | ) |
| void Lorene::Itbl::operator= | ( | int | a | ) |
Assignment to a int.
Definition at line 206 of file itbl.C.
References get_taille(), set_etat_qcq(), set_etat_zero(), and t.
| void Lorene::Itbl::sauve | ( | FILE * | fd | ) | const |
Save in a file.
Definition at line 229 of file itbl.C.
References dim, etat, Lorene::fwrite_be(), and Lorene::Dim_tbl::sauve().
|
inline |
|
inline |
|
inline |
| void Lorene::Itbl::set_etat_nondef | ( | ) |
| void Lorene::Itbl::set_etat_qcq | ( | ) |
| void Lorene::Itbl::set_etat_zero | ( | ) |
|
friend |
|
private |