30char ARITHM_TBL_VAL_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Valencia/arithm_tbl_val.C,v 1.5 2014/10/13 08:53:48 j_novak Exp $" ;
70 assert(t1.
get_etat() != ETATNONDEF) ;
80 assert(t1.
get_etat() != ETATNONDEF) ;
91 (r.
t)[i] = - (t1.
t)[i] ;
115 assert(t1.
get_etat() != ETATNONDEF) ;
116 assert(t2.
get_etat() != ETATNONDEF) ;
118 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
136 (r.
t)[i] += (t2.
t)[i] ;
157 assert(t1.
get_etat() != ETATNONDEF) ;
160 if ( x ==
double(0) ) {
193 return t1 + double(n) ;
200 return t1 + double(n) ;
214 assert(t1.
get_etat() != ETATNONDEF) ;
215 assert(t2.
get_etat() != ETATNONDEF) ;
217 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
235 (r.
t)[i] -= (t2.
t)[i] ;
257 assert(t1.
get_etat() != ETATNONDEF) ;
260 if ( x ==
double(0) ) {
287 return t1 - double(n) ;
295 assert(t1.
get_etat() != ETATNONDEF) ;
298 if ( x ==
double(0) ) {
324 return double(n) - t1 ;
336 assert(t1.
get_etat() != ETATNONDEF) ;
337 assert(t2.
get_etat() != ETATNONDEF) ;
339 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
357 (r.
t)[i] *= (t2.
t)[i] ;
377 assert(t1.
get_etat() != ETATNONDEF) ;
380 if ((t1.
get_etat() == ETATZERO) || ( x ==
double(1) )) {
389 if (x ==
double(0)) {
423 return t1 * double(n) ;
430 return t1 * double(n) ;
442 assert(t1.
get_etat() != ETATNONDEF) ;
443 assert(t2.
get_etat() != ETATNONDEF) ;
445 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
451 cout <<
"Division by 0 in Tbl_val/Tbl_val !" << endl ;
464 (r.
t)[i] /= (t2.
t)[i] ;
485 assert(t1.
get_etat() != ETATNONDEF) ;
486 if ( x ==
double(0) ) {
487 cout <<
"Division by 0 in Tbl_val/double !" << endl ;
492 if ((t1.
get_etat() == ETATZERO) || ( x ==
double(1) )) {
521 return t1 / double(n) ;
529 assert(t1.
get_etat() != ETATNONDEF) ;
533 cout <<
"Division by 0 in double/Tbl_val !" << endl ;
542 if ( x ==
double(0) ) {
548 (r.
t)[i] = x / (t1.
t)[i] ;
570 return double(n) / t1 ;
581 assert(
etat != ETATNONDEF) ;
582 assert(ti.
get_etat() != ETATNONDEF) ;
594 for (
int i=0 ; i<n ; i++) {
609 for (
int i=0 ; i<n ; i++) {
623 cout <<
"etat inconnu " << __FILE__ << endl ;
634 assert(
etat != ETATNONDEF) ;
637 if ( x ==
double(0) ) {
646 for (
int i=0 ; i<n ; i++) {
660 for (
int i=0 ; i<n ; i++) {
675 cout <<
"etat inconnu " << __FILE__ << endl ;
687 assert(
etat != ETATNONDEF) ;
688 assert(ti.
get_etat() != ETATNONDEF) ;
700 for (
int i=0 ; i<n ; i++) {
715 for (
int i=0 ; i<n ; i++) {
730 cout <<
"etat inconnu " << __FILE__ << endl ;
741 assert(
etat != ETATNONDEF) ;
744 if ( x ==
double(0) ) {
753 for (
int i=0 ; i<n ; i++) {
768 for (
int i=0 ; i<n ; i++) {
783 cout <<
"etat inconnu " << __FILE__ << endl ;
795 assert(
etat != ETATNONDEF) ;
796 assert(ti.
get_etat() != ETATNONDEF) ;
799 if (
etat == ETATZERO) {
808 assert(
etat == ETATQCQ) ;
827 assert(
etat != ETATNONDEF) ;
830 if ( x ==
double(0) ) {
834 if (
etat == ETATZERO) {
839 assert(
etat == ETATQCQ) ;
859 assert(
etat != ETATNONDEF) ;
860 assert(ti.
get_etat() != ETATNONDEF) ;
864 cout <<
"Division by 0 in Tbl_val::operator/=(const Tbl_val &) !" << endl ;
867 if (
etat == ETATZERO) {
872 assert(
etat == ETATQCQ) ;
875 for (
int i=0 ; i<n ; i++) {
893 assert(
etat != ETATNONDEF) ;
896 if ( x ==
double(0) ) {
897 cout <<
"Division by 0 in Tbl_val::operator/=(double ) !" << endl ;
900 if (
etat == ETATZERO) {
905 assert(
etat == ETATQCQ) ;
907 for (
int i=0 ; i<n ; i++) {
Finite-difference array intended to store field values.
const Grille_val * gval
The Grille_val (cartesian or spherical) on which the array is defined.
void operator/=(const Tbl_val &)
Division of this by a Tbl_val.
const Grille_val * get_grille() const
Returns a pointer on the grid on which the Tbl_val is defined.
int get_ndim() const
Gives the number of dimensions (ie dim->ndim )
void operator*=(const Tbl_val &)
Multiplication of this by a Tbl_val.
int get_dim(int i) const
Gives the i th dimension (ie dim->dim[i] , without hidden cells)
int get_taille_i(int i) const
Gives the size of the interface arrays (including the hidden cells)
double * txti
The array at x (or ) interfaces.
double * tzri
The array at z (or r) interfaces.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
double * t
The array of double at the nodes.
int get_etat() const
Gives the logical state.
void operator-=(const Tbl_val &)
Subtraction of a Tbl_val to this.
double * typi
The array at y (or ) interfaces.
void operator+=(const Tbl_val &)
Addition of a Tbl_val to this.
int get_taille() const
Gives the size of the node array (including the hidden cells)
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
int etat
logical state (ETATNONDEF , ETATQCQ or ETATZERO ).
Base_val operator*(const Base_val &, const Base_val &)
This operator is used when calling multiplication or division of Valeur .
Cmp operator-(const Cmp &)
- Cmp
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
Cmp operator+(const Cmp &)