29 char 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) ;
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++) {
136 for (
int i=0 ; i<r.get_taille() ; i++) {
137 (r.t)[i] += (t2.
t)[i] ;
149 assert(t1.
get_etat() != ETATNONDEF) ;
152 if ( x ==
double(0) ) {
176 return t1 + double(n) ;
183 return t1 + double(n) ;
197 assert(t1.
get_etat() != ETATNONDEF) ;
198 assert(t2.
get_etat() != ETATNONDEF) ;
200 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
217 for (
int i=0 ; i<r.get_taille() ; i++) {
218 (r.t)[i] -= (t2.
t)[i] ;
231 assert(t1.
get_etat() != ETATNONDEF) ;
234 if ( x ==
double(0) ) {
251 return t1 - double(n) ;
259 assert(t1.
get_etat() != ETATNONDEF) ;
262 if ( x ==
double(0) ) {
279 return double(n) - t1 ;
291 assert(t1.
get_etat() != ETATNONDEF) ;
292 assert(t2.
get_etat() != ETATNONDEF) ;
294 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
311 for (
int i=0 ; i<r.get_taille() ; i++) {
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)) {
340 for (
int i=0 ; i<r.get_taille() ; i++) {
360 return t1 * double(n) ;
367 return t1 * double(n) ;
379 assert(t1.
get_etat() != ETATNONDEF) ;
380 assert(t2.
get_etat() != ETATNONDEF) ;
382 for (
int i=0 ; i<t1.
get_ndim() ; i++) {
388 cout <<
"Division by 0 in Tbl/Tbl !" << endl ;
400 for (
int i=0 ; i<r.get_taille() ; i++) {
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) )) {
428 for (
int i=0 ; i<r.get_taille() ; i++) {
438 return t1 / double(n) ;
446 assert(t1.
get_etat() != ETATNONDEF) ;
450 cout <<
"Division by 0 in double/Tbl !" << endl ;
459 if ( x ==
double(0) ) {
464 for (
int i=0 ; i<r.get_taille() ; i++) {
465 (r.t)[i] = x / (t1.
t)[i] ;
477 return double(n) / t1 ;
488 assert(
etat != ETATNONDEF) ;
489 assert(ti.
get_etat() != ETATNONDEF) ;
501 for (
int i=0 ; i<n ; i++) {
507 for (
int i=0 ; i<n ; i++) {
513 cout <<
"etat inconnu " << __FILE__ << endl ;
524 assert(
etat != ETATNONDEF) ;
527 if ( x ==
double(0) ) {
536 for (
int i=0 ; i<n ; i++) {
542 for (
int i=0 ; i<n ; i++) {
548 cout <<
"etat inconnu " << __FILE__ << endl ;
560 assert(
etat != ETATNONDEF) ;
561 assert(ti.
get_etat() != ETATNONDEF) ;
573 for (
int i=0 ; i<n ; i++) {
579 for (
int i=0 ; i<n ; i++) {
585 cout <<
"etat inconnu " << __FILE__ << endl ;
596 assert(
etat != ETATNONDEF) ;
599 if ( x ==
double(0) ) {
608 for (
int i=0 ; i<n ; i++) {
614 for (
int i=0 ; i<n ; i++) {
620 cout <<
"etat inconnu " << __FILE__ << endl ;
632 assert(
etat != ETATNONDEF) ;
633 assert(ti.
get_etat() != ETATNONDEF) ;
636 if (
etat == ETATZERO) {
645 assert(
etat == ETATQCQ) ;
647 for (
int i=0 ; i<n ; i++) {
657 assert(
etat != ETATNONDEF) ;
660 if ( x ==
double(0) ) {
664 if (
etat == ETATZERO) {
670 assert(
etat == ETATQCQ) ;
671 for (
int i=0 ; i<n ; i++) {
682 assert(
etat != ETATNONDEF) ;
683 assert(ti.
get_etat() != ETATNONDEF) ;
687 cout <<
"Division by 0 in Tbl::operator/=(const Tbl &) !" << endl ;
690 if (
etat == ETATZERO) {
695 assert(
etat == ETATQCQ) ;
698 for (
int i=0 ; i<n ; i++) {
708 assert(
etat != ETATNONDEF) ;
711 if ( x ==
double(0) ) {
712 cout <<
"Division by 0 in Tbl::operator/=(double ) !" << endl ;
715 if (
etat == ETATZERO) {
720 assert(
etat == ETATQCQ) ;
722 for (
int i=0 ; i<n ; i++) {
void operator/=(const Tbl &)
Division of this by a Tbl.
void operator-=(const Tbl &)
Subtraction 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 .
int get_etat() const
Gives the logical state.
Cmp operator/(const Cmp &, const Cmp &)
Cmp / Cmp.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void operator+=(const Tbl &)
Addition of a Tbl to this.
int get_ndim() const
Gives the number of dimensions (ie dim.ndim)
Dim_tbl dim
Number of dimensions, size,...
Cmp operator+(const Cmp &)
double * t
The array of double.
int get_dim(int i) const
Gives the i-th dimension (ie dim.dim[i])
int etat
logical state (ETATNONDEF, ETATQCQ or ETATZERO).
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
void operator*=(const Tbl &)
Multiplication of this by a Tbl.
int get_taille() const
Gives the total size (ie dim.taille)
Cmp operator-(const Cmp &)
- Cmp