23char op_lapang_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/op_lapang.C,v 1.9 2014/10/13 08:53:25 j_novak Exp $" ;
91#include "type_parite.h"
99void _lapang_pas_prevu(Mtbl_cf* mt,
int l) {
100 cout <<
"Unknwon theta basis in the operator Mtbl_cf::lapang() !" << endl ;
101 cout <<
" basis : " << hex << (mt->base).b[l] << endl ;
108void _lapang_t_leg(Mtbl_cf* mt,
int l)
114 if (tb->get_etat() == ETATZERO) {
120 int nr = mt->get_mg()->get_nr(l) ;
121 int nt = mt->get_mg()->get_nt(l) ;
122 int np = mt->get_mg()->get_np(l) ;
124 int np1 = ( np == 1 ) ? 1 : np+1 ;
126 double* tuu = tb->t ;
130 for (j=0 ; j<nt ; j++) {
132 double xl = - ll*(ll+1) ;
133 for (i=0 ; i<nr ; i++) {
143 for (k=2 ; k<np1 ; k++) {
146 for (j=m/2 ; j<nt ; j++) {
148 double xl = - ll*(ll+1) ;
149 for (i=0 ; i<nr ; i++) {
163void _lapang_t_leg_p(Mtbl_cf* mt,
int l)
169 if (tb->get_etat() == ETATZERO) {
175 int nr = mt->get_mg()->get_nr(l) ;
176 int nt = mt->get_mg()->get_nt(l) ;
177 int np = mt->get_mg()->get_np(l) ;
179 int np1 = ( np == 1 ) ? 1 : np+1 ;
181 double* tuu = tb->t ;
185 for (j=0 ; j<nt ; j++) {
187 double xl = - ll*(ll+1) ;
188 for (i=0 ; i<nr ; i++) {
198 for (k=2 ; k<np1 ; k++) {
201 for (j=m/2 ; j<nt ; j++) {
202 int ll = 2*j + (m%2) ;
203 double xl = - ll*(ll+1) ;
204 for (i=0 ; i<nr ; i++) {
218void _lapang_t_leg_pp(Mtbl_cf* mt,
int l)
224 if (tb->get_etat() == ETATZERO) {
230 int nr = mt->get_mg()->get_nr(l) ;
231 int nt = mt->get_mg()->get_nt(l) ;
232 int np = mt->get_mg()->get_np(l) ;
234 int np1 = ( np == 1 ) ? 1 : np+1 ;
236 double* tuu = tb->t ;
240 for (j=0 ; j<nt ; j++) {
242 double xl = - ll*(ll+1) ;
243 for (i=0 ; i<nr ; i++) {
253 for (k=2 ; k<np1 ; k++) {
256 for (j=m/2 ; j<nt ; j++) {
258 double xl = - ll*(ll+1) ;
259 for (i=0 ; i<nr ; i++) {
273void _lapang_t_leg_i(Mtbl_cf* mt,
int l)
279 if (tb->get_etat() == ETATZERO) {
285 int nr = mt->get_mg()->get_nr(l) ;
286 int nt = mt->get_mg()->get_nt(l) ;
287 int np = mt->get_mg()->get_np(l) ;
289 int np1 = ( np == 1 ) ? 1 : np+1 ;
291 double* tuu = tb->t ;
295 for (j=0 ; j<nt-1 ; j++) {
297 double xl = - ll*(ll+1) ;
298 for (i=0 ; i<nr ; i++) {
309 for (k=2 ; k<np1 ; k++) {
311 tuu += ((m+1)/2)*nr ;
312 for (j=(m+1)/2 ; j<nt-1 ; j++) {
313 int ll = 2*j + ((m+1)%2) ;
314 double xl = - ll*(ll+1) ;
315 for (i=0 ; i<nr ; i++) {
330void _lapang_t_leg_ip(Mtbl_cf* mt,
int l)
336 if (tb->get_etat() == ETATZERO) {
342 int nr = mt->get_mg()->get_nr(l) ;
343 int nt = mt->get_mg()->get_nt(l) ;
344 int np = mt->get_mg()->get_np(l) ;
346 int np1 = ( np == 1 ) ? 1 : np+1 ;
348 double* tuu = tb->t ;
352 for (j=0 ; j<nt-1 ; j++) {
354 double xl = - ll*(ll+1) ;
355 for (i=0 ; i<nr ; i++) {
366 for (k=2 ; k<np1 ; k++) {
369 for (j=m/2 ; j<nt-1 ; j++) {
371 double xl = - ll*(ll+1) ;
372 for (i=0 ; i<nr ; i++) {
381 assert (tuu == tb->t + (np+1)*nt*nr) ;
390void _lapang_t_leg_pi(Mtbl_cf* mt,
int l)
396 if (tb->get_etat() == ETATZERO) {
402 int nr = mt->get_mg()->get_nr(l) ;
403 int nt = mt->get_mg()->get_nt(l) ;
404 int np = mt->get_mg()->get_np(l) ;
406 double* tuu = tb->t ;
411 for (j=0 ; j<nt-1 ; j++) {
413 double xl = - ll*(ll+1) ;
414 for (i=0 ; i<nr ; i++) {
431 for (j=0 ; j<nt-1 ; j++) {
433 double xl = - ll*(ll+1) ;
434 for (i=0 ; i<nr ; i++) {
443 for (k=3 ; k<np+1 ; k++) {
444 int m = (k%2 == 0) ? k-1 : k ;
446 for (j=(m-1)/2 ; j<nt-1 ; j++) {
448 double xl = - ll*(ll+1) ;
449 for (i=0 ; i<nr ; i++) {
458 assert (tuu == tb->t + (np+1)*nt*nr) ;
467void _lapang_t_leg_ii(Mtbl_cf* mt,
int l)
473 if (tb->get_etat() == ETATZERO) {
479 int nr = mt->get_mg()->get_nr(l) ;
480 int nt = mt->get_mg()->get_nt(l) ;
481 int np = mt->get_mg()->get_np(l) ;
483 double* tuu = tb->t ;
488 for (j=0 ; j<nt-1 ; j++) {
490 double xl = - ll*(ll+1) ;
491 for (i=0 ; i<nr ; i++) {
508 for (j=0 ; j<nt-1 ; j++) {
510 double xl = - ll*(ll+1) ;
511 for (i=0 ; i<nr ; i++) {
520 for (k=3 ; k<np+1 ; k++) {
521 int m = (k%2 == 0) ? k-1 : k ;
523 for (j=(m+1)/2 ; j<nt-1 ; j++) {
525 double xl = - ll*(ll+1) ;
526 for (i=0 ; i<nr ; i++) {
535 assert (tuu == tb->t + (np+1)*nt*nr) ;
544void _lapang_t_leg_mp(Mtbl_cf* mt,
int l)
550 if (tb->get_etat() == ETATZERO) {
556 int nr = mt->get_mg()->get_nr(l) ;
557 int nt = mt->get_mg()->get_nt(l) ;
558 int np = mt->get_mg()->get_np(l) ;
560 int np1 = ( np == 1 ) ? 1 : np+1 ;
562 double* tuu = tb->t ;
566 for (j=0 ; j<nt ; j++) {
568 double xl = - ll*(ll+1) ;
569 for (i=0 ; i<nr ; i++) {
579 for (k=2 ; k<np1 ; k++) {
582 for (j=m ; j<nt ; j++) {
584 double xl = - ll*(ll+1) ;
585 for (i=0 ; i<nr ; i++) {
598void _lapang_t_leg_mi(Mtbl_cf* mt,
int l)
604 if (tb->get_etat() == ETATZERO) {
610 int nr = mt->get_mg()->get_nr(l) ;
611 int nt = mt->get_mg()->get_nt(l) ;
612 int np = mt->get_mg()->get_np(l) ;
614 int np1 = ( np == 1 ) ? 1 : np+1 ;
616 double* tuu = tb->t ;
620 for (j=0 ; j<nt ; j++) {
622 double xl = - ll*(ll+1) ;
623 for (i=0 ; i<nr ; i++) {
633 for (k=2 ; k<np1 ; k++) {
634 int m = 2*((k-1)/2) + 1;
636 for (j=m ; j<nt ; j++) {
638 double xl = - ll*(ll+1) ;
639 for (i=0 ; i<nr ; i++) {