29char tbl_arithm_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tbl/tbl_arithm.C,v 1.4 2014/10/13 08:53:41 j_novak Exp $" ;
80 assert(
t1.get_etat() != ETATNONDEF) ;
90 assert(
t1.get_etat() != ETATNONDEF) ;
93 if (
t1.get_etat() == ETATZERO) {
101 (r.
t)[
i] = - (
t1.t)[
i] ;
116 assert(
t1.get_etat() != ETATNONDEF) ;
117 assert(
t2.get_etat() != ETATNONDEF) ;
119 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
124 if (
t1.get_etat() == ETATZERO) {
127 if (
t2.get_etat() == ETATZERO) {
137 (r.
t)[
i] += (
t2.t)[
i] ;
149 assert(
t1.get_etat() != ETATNONDEF) ;
152 if ( x ==
double(0) ) {
197 assert(
t1.get_etat() != ETATNONDEF) ;
198 assert(
t2.get_etat() != ETATNONDEF) ;
200 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
205 if (
t1.get_etat() == ETATZERO) {
208 if (
t2.get_etat() == ETATZERO) {
218 (r.
t)[
i] -= (
t2.t)[
i] ;
231 assert(
t1.get_etat() != ETATNONDEF) ;
234 if ( x ==
double(0) ) {
259 assert(
t1.get_etat() != ETATNONDEF) ;
262 if ( x ==
double(0) ) {
291 assert(
t1.get_etat() != ETATNONDEF) ;
292 assert(
t2.get_etat() != ETATNONDEF) ;
294 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
299 if (
t1.get_etat() == ETATZERO) {
302 if (
t2.get_etat() == ETATZERO) {
312 (r.
t)[
i] *= (
t2.t)[
i] ;
324 assert(
t1.get_etat() != ETATNONDEF) ;
327 if ((
t1.get_etat() == ETATZERO) || ( x ==
double(1) )) {
336 if (x ==
double(0)) {
379 assert(
t1.get_etat() != ETATNONDEF) ;
380 assert(
t2.get_etat() != ETATNONDEF) ;
382 for (
int i=0 ;
i<
t1.get_ndim() ;
i++) {
387 if (
t2.get_etat() == ETATZERO) {
388 cout <<
"Division by 0 in Tbl/Tbl !" <<
endl ;
391 if (
t1.get_etat() == ETATZERO) {
401 (r.
t)[
i] /= (
t2.t)[
i] ;
413 assert(
t1.get_etat() != ETATNONDEF) ;
414 if ( x ==
double(0) ) {
415 cout <<
"Division by 0 in Tbl/double !" <<
endl ;
420 if ((
t1.get_etat() == ETATZERO) || ( x ==
double(1) )) {
446 assert(
t1.get_etat() != ETATNONDEF) ;
449 if (
t1.get_etat() == ETATZERO) {
450 cout <<
"Division by 0 in double/Tbl !" <<
endl ;
459 if ( x ==
double(0) ) {
465 (r.
t)[
i] = x / (
t1.t)[
i] ;
489 assert(
ti.get_etat() != ETATNONDEF) ;
492 if (
ti.get_etat() == ETATZERO) {
501 for (
int i=0 ;
i<
n ;
i++) {
507 for (
int i=0 ;
i<
n ;
i++) {
527 if ( x ==
double(0) ) {
536 for (
int i=0 ;
i<
n ;
i++) {
542 for (
int i=0 ;
i<
n ;
i++) {
561 assert(
ti.get_etat() != ETATNONDEF) ;
564 if (
ti.get_etat() == ETATZERO) {
573 for (
int i=0 ;
i<
n ;
i++) {
579 for (
int i=0 ;
i<
n ;
i++) {
599 if ( x ==
double(0) ) {
608 for (
int i=0 ;
i<
n ;
i++) {
614 for (
int i=0 ;
i<
n ;
i++) {
633 assert(
ti.get_etat() != ETATNONDEF) ;
636 if (
etat == ETATZERO) {
639 if (
ti.get_etat() == ETATZERO) {
647 for (
int i=0 ;
i<
n ;
i++) {
660 if ( x ==
double(0) ) {
664 if (
etat == ETATZERO) {
671 for (
int i=0 ;
i<
n ;
i++) {
683 assert(
ti.get_etat() != ETATNONDEF) ;
686 if (
ti.get_etat() == ETATZERO) {
687 cout <<
"Division by 0 in Tbl::operator/=(const Tbl &) !" <<
endl ;
690 if (
etat == ETATZERO) {
698 for (
int i=0 ;
i<
n ;
i++) {
711 if ( x ==
double(0) ) {
712 cout <<
"Division by 0 in Tbl::operator/=(double ) !" <<
endl ;
715 if (
etat == ETATZERO) {
722 for (
int i=0 ;
i<
n ;
i++) {
Time evolution with partial storage (*** under development ***).
Dim_tbl dim
Number of dimensions, size,...
void operator*=(const Tbl &)
Multiplication of this by a Tbl.
int etat
logical state (ETATNONDEF, ETATQCQ or ETATZERO).
void operator/=(const Tbl &)
Division of this by a Tbl.
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void operator-=(const Tbl &)
Subtraction of a Tbl to this.
int get_taille() const
Gives the total size (ie dim.taille)
double * t
The array of double.
void operator+=(const Tbl &)
Addition of a Tbl to this.
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 &)