94 #include "type_parite.h" 102 void _lapang_pas_prevu(Mtbl_cf* mt,
int l) {
103 cout <<
"Unknwon theta basis in the operator Mtbl_cf::lapang() !" << endl ;
104 cout <<
" basis : " << hex << (mt->base).b[l] << endl ;
111 void _lapang_t_leg(Mtbl_cf* mt,
int l)
117 if (tb->get_etat() == ETATZERO) {
123 int nr = mt->get_mg()->get_nr(l) ;
124 int nt = mt->get_mg()->get_nt(l) ;
125 int np = mt->get_mg()->get_np(l) ;
127 int np1 = ( np == 1 ) ? 1 : np+1 ;
129 double* tuu = tb->t ;
133 for (j=0 ; j<nt ; j++) {
135 double xl = - ll*(ll+1) ;
136 for (i=0 ; i<nr ; i++) {
146 for (k=2 ; k<np1 ; k++) {
149 for (j=m/2 ; j<nt ; j++) {
151 double xl = - ll*(ll+1) ;
152 for (i=0 ; i<nr ; i++) {
166 void _lapang_t_leg_p(Mtbl_cf* mt,
int l)
172 if (tb->get_etat() == ETATZERO) {
178 int nr = mt->get_mg()->get_nr(l) ;
179 int nt = mt->get_mg()->get_nt(l) ;
180 int np = mt->get_mg()->get_np(l) ;
182 int np1 = ( np == 1 ) ? 1 : np+1 ;
184 double* tuu = tb->t ;
188 for (j=0 ; j<nt ; j++) {
190 double xl = - ll*(ll+1) ;
191 for (i=0 ; i<nr ; i++) {
201 for (k=2 ; k<np1 ; k++) {
204 for (j=m/2 ; j<nt ; j++) {
205 int ll = 2*j + (m%2) ;
206 double xl = - ll*(ll+1) ;
207 for (i=0 ; i<nr ; i++) {
221 void _lapang_t_leg_pp(Mtbl_cf* mt,
int l)
227 if (tb->get_etat() == ETATZERO) {
233 int nr = mt->get_mg()->get_nr(l) ;
234 int nt = mt->get_mg()->get_nt(l) ;
235 int np = mt->get_mg()->get_np(l) ;
237 int np1 = ( np == 1 ) ? 1 : np+1 ;
239 double* tuu = tb->t ;
243 for (j=0 ; j<nt ; j++) {
245 double xl = - ll*(ll+1) ;
246 for (i=0 ; i<nr ; i++) {
256 for (k=2 ; k<np1 ; k++) {
259 for (j=m/2 ; j<nt ; j++) {
261 double xl = - ll*(ll+1) ;
262 for (i=0 ; i<nr ; i++) {
276 void _lapang_t_leg_i(Mtbl_cf* mt,
int l)
282 if (tb->get_etat() == ETATZERO) {
288 int nr = mt->get_mg()->get_nr(l) ;
289 int nt = mt->get_mg()->get_nt(l) ;
290 int np = mt->get_mg()->get_np(l) ;
292 int np1 = ( np == 1 ) ? 1 : np+1 ;
294 double* tuu = tb->t ;
298 for (j=0 ; j<nt-1 ; j++) {
300 double xl = - ll*(ll+1) ;
301 for (i=0 ; i<nr ; i++) {
312 for (k=2 ; k<np1 ; k++) {
314 tuu += ((m+1)/2)*nr ;
315 for (j=(m+1)/2 ; j<nt-1 ; j++) {
316 int ll = 2*j + ((m+1)%2) ;
317 double xl = - ll*(ll+1) ;
318 for (i=0 ; i<nr ; i++) {
333 void _lapang_t_leg_ip(Mtbl_cf* mt,
int l)
339 if (tb->get_etat() == ETATZERO) {
345 int nr = mt->get_mg()->get_nr(l) ;
346 int nt = mt->get_mg()->get_nt(l) ;
347 int np = mt->get_mg()->get_np(l) ;
349 int np1 = ( np == 1 ) ? 1 : np+1 ;
351 double* tuu = tb->t ;
355 for (j=0 ; j<nt-1 ; j++) {
357 double xl = - ll*(ll+1) ;
358 for (i=0 ; i<nr ; i++) {
369 for (k=2 ; k<np1 ; k++) {
372 for (j=m/2 ; j<nt-1 ; j++) {
374 double xl = - ll*(ll+1) ;
375 for (i=0 ; i<nr ; i++) {
384 assert (tuu == tb->t + (np+1)*nt*nr) ;
393 void _lapang_t_leg_pi(Mtbl_cf* mt,
int l)
399 if (tb->get_etat() == ETATZERO) {
405 int nr = mt->get_mg()->get_nr(l) ;
406 int nt = mt->get_mg()->get_nt(l) ;
407 int np = mt->get_mg()->get_np(l) ;
409 double* tuu = tb->t ;
414 for (j=0 ; j<nt-1 ; j++) {
416 double xl = - ll*(ll+1) ;
417 for (i=0 ; i<nr ; i++) {
434 for (j=0 ; j<nt-1 ; j++) {
436 double xl = - ll*(ll+1) ;
437 for (i=0 ; i<nr ; i++) {
446 for (k=3 ; k<np+1 ; k++) {
447 int m = (k%2 == 0) ? k-1 : k ;
449 for (j=(m-1)/2 ; j<nt-1 ; j++) {
451 double xl = - ll*(ll+1) ;
452 for (i=0 ; i<nr ; i++) {
461 assert (tuu == tb->t + (np+1)*nt*nr) ;
470 void _lapang_t_leg_ii(Mtbl_cf* mt,
int l)
476 if (tb->get_etat() == ETATZERO) {
482 int nr = mt->get_mg()->get_nr(l) ;
483 int nt = mt->get_mg()->get_nt(l) ;
484 int np = mt->get_mg()->get_np(l) ;
486 double* tuu = tb->t ;
491 for (j=0 ; j<nt-1 ; j++) {
493 double xl = - ll*(ll+1) ;
494 for (i=0 ; i<nr ; i++) {
511 for (j=0 ; j<nt-1 ; j++) {
513 double xl = - ll*(ll+1) ;
514 for (i=0 ; i<nr ; i++) {
523 for (k=3 ; k<np+1 ; k++) {
524 int m = (k%2 == 0) ? k-1 : k ;
526 for (j=(m+1)/2 ; j<nt-1 ; j++) {
528 double xl = - ll*(ll+1) ;
529 for (i=0 ; i<nr ; i++) {
538 assert (tuu == tb->t + (np+1)*nt*nr) ;
547 void _lapang_t_leg_mp(Mtbl_cf* mt,
int l)
553 if (tb->get_etat() == ETATZERO) {
559 int nr = mt->get_mg()->get_nr(l) ;
560 int nt = mt->get_mg()->get_nt(l) ;
561 int np = mt->get_mg()->get_np(l) ;
563 int np1 = ( np == 1 ) ? 1 : np+1 ;
565 double* tuu = tb->t ;
569 for (j=0 ; j<nt ; j++) {
571 double xl = - ll*(ll+1) ;
572 for (i=0 ; i<nr ; i++) {
582 for (k=2 ; k<np1 ; k++) {
585 for (j=m ; j<nt ; j++) {
587 double xl = - ll*(ll+1) ;
588 for (i=0 ; i<nr ; i++) {
601 void _lapang_t_leg_mi(Mtbl_cf* mt,
int l)
607 if (tb->get_etat() == ETATZERO) {
613 int nr = mt->get_mg()->get_nr(l) ;
614 int nt = mt->get_mg()->get_nt(l) ;
615 int np = mt->get_mg()->get_np(l) ;
617 int np1 = ( np == 1 ) ? 1 : np+1 ;
619 double* tuu = tb->t ;
623 for (j=0 ; j<nt ; j++) {
625 double xl = - ll*(ll+1) ;
626 for (i=0 ; i<nr ; i++) {
636 for (k=2 ; k<np1 ; k++) {
637 int m = 2*((k-1)/2) + 1;
639 for (j=m ; j<nt ; j++) {
641 double xl = - ll*(ll+1) ;
642 for (i=0 ; i<nr ; i++) {