33char scalar_r_manip_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tensor/Scalar/scalar_r_manip.C,v 1.23 2014/10/13 08:53:47 j_novak Exp $" ;
149 assert (
etat != ETATNONDEF) ;
153 if (
etat != ETATZERO) {
155 assert((
etat == ETATQCQ) || (
etat == ETATUN)) ;
159 int nzm1 =
mp->get_mg()->get_nzone() - 1 ;
160 bool ced =
mp->get_mg()->get_type_r(nzm1) == UNSURR ;
181 int diff_dzpuis = ced_mult_r -
dzpuis ;
198 mp->div_r_zec(*
this) ;
223 assert (
etat != ETATNONDEF) ;
227 if (
etat != ETATZERO) {
229 assert((
etat == ETATQCQ) || (
etat == ETATUN)) ;
233 int nzm1 =
mp->get_mg()->get_nzone() - 1 ;
234 bool ced =
mp->get_mg()->get_type_r(nzm1) == UNSURR ;
254 int diff_dzpuis = ced_mult_r -
dzpuis ;
271 mp->mult_r_zec(*
this) ;
283 mp->mult_rsint(*
this) ;
296 assert (
etat != ETATNONDEF) ;
299 int nzm1 =
mp->get_mg()->get_nzone() - 1 ;
300 bool ced =
mp->get_mg()->get_type_r(nzm1) == UNSURR ;
302 if (
etat != ETATZERO) {
304 assert((
etat == ETATQCQ) || (
etat == ETATUN)) ;
314 int dzpuis_ext =
dzpuis - 1 ;
316 int diff_dzpuis = ced_mult_r - dzpuis_ext ;
317 (diff_dzpuis >= 0) ? uu_ext.
inc_dzpuis(diff_dzpuis)
334 if (ced)
dzpuis = ced_mult_r ;
350 mp->div_rsint(*
this) ;
364 assert (
etat != ETATNONDEF) ;
367 int nzm1 =
mp->get_mg()->get_nzone() - 1 ;
368 bool ced =
mp->get_mg()->get_type_r(nzm1) == UNSURR ;
370 if (
etat != ETATZERO) {
372 assert((
etat == ETATQCQ) || (
etat == ETATUN)) ;
382 int dzpuis_ext =
dzpuis + 1 ;
384 int diff_dzpuis = ced_mult_r - dzpuis_ext ;
385 (diff_dzpuis >= 0) ? uu_ext.
inc_dzpuis(diff_dzpuis)
420 if (decrem == 0) return ;
422 if (
etat == ETATZERO) {
434 mp->dec_dzpuis(*
this) ;
439 mp->dec2_dzpuis(*
this) ;
444 mp->dec2_dzpuis(*
this) ;
445 mp->dec_dzpuis(*
this) ;
450 mp->dec2_dzpuis(*
this) ;
451 mp->dec2_dzpuis(*
this) ;
456 cout <<
"Scalar::dec_dzpuis : unexpected value of decrem !"
457 << endl <<
" decrem = " << decrem << endl ;
472 if (inc == 0) return ;
474 if (
etat == ETATZERO) {
486 mp->inc_dzpuis(*
this) ;
491 mp->inc2_dzpuis(*
this) ;
496 mp->inc_dzpuis(*
this) ;
497 mp->inc2_dzpuis(*
this) ;
502 mp->inc2_dzpuis(*
this) ;
503 mp->inc2_dzpuis(*
this) ;
508 cout <<
"Scalar::inc_dzpuis : unexpected value of inc !"
509 << endl <<
" inc = " << inc << endl ;
Bases of the spectral expansions.
void mult_x()
The basis is transformed as with a multiplication by .
void sx()
The basis is transformed as with a multiplication.
void mult_sint()
The basis is transformed as with a multiplication.
void ssint()
The basis is transformed as with a multiplication.
Base class for pure radial mappings.
virtual void del_deriv() const
Logical destructor of the derivatives.
void div_rsint_dzpuis(int ced_mult_r)
Division by but with the output flag dzpuis set to ced_mult_r .
void div_r_dzpuis(int ced_mult_r)
Division by r everywhere but with the output flag dzpuis set to ced_mult_r .
void div_sint()
Division by .
virtual void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values of the Scalar in the co...
void div_r()
Division by r everywhere; dzpuis is not changed.
Tbl & set_domain(int l)
Read/write of the value in a given domain.
virtual void annule(int l_min, int l_max)
Sets the Scalar to zero in several domains.
Scalar(const Map &mpi)
Constructor from mapping.
void mult_sint()
Multiplication by .
void mult_r_ced()
Multiplication by r in the compactified external domain (CED), the dzpuis flag is not changed.
int etat
The logical state ETATNONDEF (undefined), ETATZERO (null), ETATUN (one), or ETATQCQ (ordinary).
virtual void allocate_all()
Sets the logical state to ETATQCQ (ordinary state) and performs the memory allocation of all the elem...
void mult_rsint()
Multiplication by everywhere; dzpuis is not changed.
void set_dzpuis(int)
Modifies the dzpuis flag.
void div_rsint()
Division by everywhere; dzpuis is not changed.
void mult_rsint_dzpuis(int ced_mult_r)
Multiplication by but with the output flag dzpuis set to ced_mult_r .
const Tbl & domain(int l) const
Read-only of the value in a given domain.
void mult_r_dzpuis(int ced_mult_r)
Multiplication by r everywhere but with the output flag dzpuis set to ced_mult_r .
Valeur va
The numerical value of the Scalar.
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values of the Scalar in the co...
void mult_r()
Multiplication by r everywhere; dzpuis is not changed.
void div_r_ced()
Division by r in the compactified external domain (CED), the dzpuis flag is not changed.
void set_spectral_base(const Base_val &)
Sets the spectral bases of the Valeur va.
int dzpuis
Power of r by which the quantity represented by this must be divided in the compactified external d...
const Map *const mp
Mapping on which the numerical values at the grid points are defined.