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) ;
83 if (
t1.get_etat() == ETATZERO) {
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++) {
123 if (
t1.get_etat() == ETATZERO) {
126 if (
t2.get_etat() == ETATZERO) {
136 (r.
t)[
i] += (
t2.t)[
i] ;
157 assert(
t1.get_etat() != ETATNONDEF) ;
160 if ( x ==
double(0) ) {
214 assert(
t1.get_etat() != ETATNONDEF) ;
215 assert(
t2.get_etat() != ETATNONDEF) ;
217 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
222 if (
t1.get_etat() == ETATZERO) {
225 if (
t2.get_etat() == ETATZERO) {
235 (r.
t)[
i] -= (
t2.t)[
i] ;
257 assert(
t1.get_etat() != ETATNONDEF) ;
260 if ( x ==
double(0) ) {
295 assert(
t1.get_etat() != ETATNONDEF) ;
298 if ( x ==
double(0) ) {
336 assert(
t1.get_etat() != ETATNONDEF) ;
337 assert(
t2.get_etat() != ETATNONDEF) ;
339 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
344 if (
t1.get_etat() == ETATZERO) {
347 if (
t2.get_etat() == ETATZERO) {
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)) {
442 assert(
t1.get_etat() != ETATNONDEF) ;
443 assert(
t2.get_etat() != ETATNONDEF) ;
445 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
450 if (
t2.get_etat() == ETATZERO) {
451 cout <<
"Division by 0 in Tbl_val/Tbl_val !" <<
endl ;
454 if (
t1.get_etat() == ETATZERO) {
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) )) {
529 assert(
t1.get_etat() != ETATNONDEF) ;
532 if (
t1.get_etat() == ETATZERO) {
533 cout <<
"Division by 0 in double/Tbl_val !" <<
endl ;
542 if ( x ==
double(0) ) {
548 (r.
t)[
i] = x / (
t1.t)[
i] ;
582 assert(
ti.get_etat() != ETATNONDEF) ;
585 if (
ti.get_etat() == ETATZERO) {
594 for (
int i=0 ;
i<
n ;
i++) {
609 for (
int i=0 ;
i<
n ;
i++) {
637 if ( x ==
double(0) ) {
646 for (
int i=0 ;
i<
n ;
i++) {
660 for (
int i=0 ;
i<
n ;
i++) {
688 assert(
ti.get_etat() != ETATNONDEF) ;
691 if (
ti.get_etat() == ETATZERO) {
700 for (
int i=0 ;
i<
n ;
i++) {
715 for (
int i=0 ;
i<
n ;
i++) {
744 if ( x ==
double(0) ) {
753 for (
int i=0 ;
i<
n ;
i++) {
768 for (
int i=0 ;
i<
n ;
i++) {
796 assert(
ti.get_etat() != ETATNONDEF) ;
799 if (
etat == ETATZERO) {
802 if (
ti.get_etat() == ETATZERO) {
830 if ( x ==
double(0) ) {
834 if (
etat == ETATZERO) {
860 assert(
ti.get_etat() != ETATNONDEF) ;
863 if (
ti.get_etat() == ETATZERO) {
864 cout <<
"Division by 0 in Tbl_val::operator/=(const Tbl_val &) !" <<
endl ;
867 if (
etat == ETATZERO) {
875 for (
int i=0 ;
i<
n ;
i++) {
896 if ( x ==
double(0) ) {
897 cout <<
"Division by 0 in Tbl_val::operator/=(double ) !" <<
endl ;
900 if (
etat == ETATZERO) {
907 for (
int i=0 ;
i<
n ;
i++) {
Time evolution with partial storage (*** under development ***).
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.
void operator*=(const Tbl_val &)
Multiplication of this by a Tbl_val.
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.
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 &)