118 assert (t.
get_etat() != ETATNONDEF) ;
130 res.
set(indices) = -t(indices) ;
165 res.
set(indices) = t1(indices) + t2(indices) ;
174 assert (t1.
get_etat() != ETATNONDEF) ;
177 if (
x ==
double(0)) {
185 res.
set() = t1() +
x ;
200 return t1 + double(m) ;
207 return t2 + double(m) ;
219 return (t1 + (-t2)) ;
226 assert (t1.
get_etat() != ETATNONDEF) ;
229 if (
x ==
double(0)) {
237 res.
set() = t1() -
x ;
253 return t1 - double(m) ;
260 return - (t2 - double(m)) ;
274 assert (t.
get_etat() != ETATNONDEF) ;
275 if ( (t.
get_etat() == ETATZERO) || (
x ==
double(1)) )
281 if (
x ==
double(0) )
287 res.
set(indices) =
x*t(indices) ;
300 return double(m) * t ;
305 return double(m) * t ;
316 assert(t1.
get_etat() != ETATNONDEF) ;
317 assert(t2.
get_etat() != ETATNONDEF) ;
322 poids_res = (fabs(poids_res) < 1.e-10 ? 0. : poids_res) ;
323 const Metrique* met_res = 0x0 ;
324 if (poids_res != 0.) {
331 cout <<
"Division by 0 in Tenseur / Tenseur !" << endl ;
352 res.
set(indices) = t1(indices) / t2() ;
361 assert (t.
get_etat() != ETATNONDEF) ;
363 if (
x ==
double(0) ) {
364 cout <<
"Division by 0 in Tenseur / double !" << endl ;
368 if ( (t.
get_etat() == ETATZERO) || (
x ==
double(1)) )
377 res.
set(indices) = t(indices) /
x ;
390 cout <<
"Division by 0 in double / Tenseur !" << endl ;
399 res.
set() =
x / t() ;
406 return t / double(m) ;
412 return double(m) / t ;
Basic integer array class.
Tensor handling *** DEPRECATED : use class Tensor instead ***.
const Base_vect * get_triad() const
Returns the vectorial basis (triad) on which the components are defined.
virtual Itbl donne_indices(int place) const
Returns the indices of a component given by its position in the Cmp 1-D array c .
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
int get_type_indice(int i) const
Returns the type of the index number i .
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
const Map * get_mp() const
Returns pointer on the mapping.
double get_poids() const
Returns the weight.
void set_etat_zero()
Sets the logical state to ETATZERO (zero state).
void set_poids(double weight)
Sets the weight for a tensor density.
void set_metric(const Metrique &met)
Sets the pointer on the metric for a tensor density.
int get_valence() const
Returns the valence.
const Metrique * get_metric() const
Returns a pointer on the metric defining the conformal factor for tensor densities.
int get_n_comp() const
Returns the number of components.
int get_etat() const
Returns the logical state.
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 &)
Coord x
x coordinate centered on the grid