86 assert(ti.
get_etat() != ETATNONDEF) ;
98 for (
int i=0 ; i<nzone ; i++) {
99 *(to.t[i]) =
sin( *(ti.
t[i]) ) ;
111 assert(ti.
get_etat() != ETATNONDEF) ;
119 for (
int i=0 ; i<nzone ; i++) {
127 for (
int i=0 ; i<nzone ; i++) {
128 *(to.t[i]) =
cos( *(ti.
t[i]) ) ;
140 assert(ti.
get_etat() != ETATNONDEF) ;
152 for (
int i=0 ; i<nzone ; i++) {
153 *(to.t[i]) =
tan( *(ti.
t[i]) ) ;
165 assert(ti.
get_etat() != ETATNONDEF) ;
177 for (
int i=0 ; i<nzone ; i++) {
178 *(to.t[i]) =
asin( *(ti.
t[i]) ) ;
190 assert(ti.
get_etat() != ETATNONDEF) ;
198 for (
int i=0 ; i<nzone ; i++) {
199 *(to.t[i]) = M_PI * .5 ;
206 for (
int i=0 ; i<nzone ; i++) {
207 *(to.t[i]) =
acos( *(ti.
t[i]) ) ;
219 assert(ti.
get_etat() != ETATNONDEF) ;
231 for (
int i=0 ; i<nzone ; i++) {
232 *(to.t[i]) =
atan( *(ti.
t[i]) ) ;
244 assert(ti.
get_etat() != ETATNONDEF) ;
256 for (
int i=0 ; i<nzone ; i++) {
257 *(to.t[i]) =
sqrt( *(ti.
t[i]) ) ;
270 assert(ti.
get_etat() != ETATNONDEF) ;
282 for (
int i=0 ; i<nzone ; i++) {
294 assert(ti.
get_etat() != ETATNONDEF) ;
302 for (
int i=0 ; i<nzone ; i++) {
310 for (
int i=0 ; i<nzone ; i++) {
311 *(to.t[i]) =
exp( *(ti.
t[i]) ) ;
323 assert(ti.
get_etat() != ETATNONDEF) ;
331 for (
int i=0 ; i<nzone ; i++) {
339 for (
int i=0 ; i<nzone ; i++) {
352 assert(ti.
get_etat() != ETATNONDEF) ;
356 cout <<
"Mtbl log: log(ETATZERO) !" << endl ;
365 for (
int i=0 ; i<nzone ; i++) {
366 *(to.t[i]) =
log( *(ti.
t[i]) ) ;
378 assert(ti.
get_etat() != ETATNONDEF) ;
382 cout <<
"Mtbl log10: log10(ETATZERO) !" << endl ;
391 for (
int i=0 ; i<nzone ; i++) {
392 *(to.t[i]) =
log10( *(ti.
t[i]) ) ;
404 assert(ti.
get_etat() != ETATNONDEF) ;
412 cout <<
"Mtbl pow: ETATZERO^n avec n<=0 ! "<< endl ;
423 for (
int i=0 ; i<nzone ; i++) {
424 *(to.t[i]) =
pow( *(ti.
t[i]), x ) ;
436 assert(ti.
get_etat() != ETATNONDEF) ;
444 cout <<
"Mtbl pow: ETATZERO^x avec x<=0 !" << endl ;
454 for (
int i=0 ; i<nzone ; i++) {
455 *(to.t[i]) =
pow( *(ti.
t[i]), x ) ;
467 assert(ti.
get_etat() != ETATNONDEF) ;
483 for (
int l=0 ; l<nzone ; l++) {
484 *(to.t[l]) =
abs( *(ti.
t[l]) ) ;
500 assert(mti.
get_etat() != ETATNONDEF) ;
504 double resu = -1E99 ;
513 for (
int l=0 ; l<nz ; l++) {
514 resu =
max(resu,
max( *(mti.
t[l]) )) ;
528 assert(mti.
get_etat() != ETATNONDEF) ;
541 for (
int l=0 ; l<nz ; l++) {
542 resu =
min(resu,
min( *(mti.
t[l]) )) ;
557 assert(mti.
get_etat() != ETATNONDEF) ;
571 for (
int l=0 ; l<nz ; l++) {
572 resu.
set(l) =
max( *(mti.
t[l]) ) ;
586 assert(mti.
get_etat() != ETATNONDEF) ;
600 for (
int l=0 ; l<nz ; l++) {
601 resu.
set(l) =
min( *(mti.
t[l]) ) ;
615 assert(mti.
get_etat() != ETATNONDEF) ;
629 for (
int l=0 ; l<nz ; l++) {
644 assert(mt1.
get_etat() != ETATNONDEF) ;
645 assert(mt2.
get_etat() != ETATNONDEF) ;
653 assert(normdiff.
get_etat() == ETATQCQ) ;
654 assert(norme2.
get_etat() == ETATQCQ) ;
657 for (
int l=0; l<nz; l++) {
658 if ( norme2(l) ==
double(0) ) {
659 resu.
set(l) = normdiff(l) ;
662 resu.
set(l) = normdiff(l) / norme2(l) ;
677 assert(mt1.
get_etat() != ETATNONDEF) ;
678 assert(mt2.
get_etat() != ETATNONDEF) ;
686 assert(maxdiff.
get_etat() == ETATQCQ) ;
687 assert(max2.
get_etat() == ETATQCQ) ;
690 for (
int l=0; l<nz; l++) {
691 if ( max2(l) ==
double(0) ) {
692 resu.
set(l) = maxdiff(l) ;
695 resu.
set(l) = maxdiff(l) / max2(l) ;
Cmp log(const Cmp &)
Neperian logarithm.
Cmp asin(const Cmp &)
Arcsine.
Cmp exp(const Cmp &)
Exponential.
Cmp sqrt(const Cmp &)
Square root.
Cmp racine_cubique(const Cmp &)
Cube root.
double & set(int i)
Read/write of a particular element (index i) (1D case)
int get_etat() const
Gives the logical state.
Tbl min(const Cmp &)
Minimum values of a Cmp in each domain.
Cmp cos(const Cmp &)
Cosine.
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
int get_etat() const
Gives the logical state.
Cmp tan(const Cmp &)
Tangent.
Tbl norme(const Cmp &)
Sums of the absolute values of all the values of the Cmp in each domain.
int get_nzone() const
Gives the number of zones (domains)
Cmp atan(const Cmp &)
Arctangent.
Tbl max(const Cmp &)
Maximum values of a Cmp in each domain.
double totalmax(const Mtbl &)
Maximum value of the Mtbl elements in all domains.
Cmp pow(const Cmp &, int)
Power .
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
double totalmin(const Mtbl &)
Minimum value of the Mtbl elements in all domain.
Cmp log10(const Cmp &)
Basis 10 logarithm.
Cmp acos(const Cmp &)
Arccosine.
Cmp abs(const Cmp &)
Absolute value.
Cmp sin(const Cmp &)
Sine.
Mtbl Heaviside(const Mtbl &)
Heaviside function.
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
const Mg3d * get_mg() const
Gives the Mg3d on which the Mtbl is defined.
void annule_hard()
Sets the Tbl to zero in a hard way.
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).