95 void _dsdtet_pas_prevu(Tbl* ,
int & b) {
96 cout <<
"Unknown theta basis in Mtbl_cf::dsdt() !" << endl ;
97 cout <<
" basis: " << hex << b << endl ;
103 void _dsdtet_t_cos(Tbl* tb,
int & b)
107 if (tb->get_etat() == ETATZERO) {
108 int base_r = b &
MSQ_R ;
109 int base_p = b &
MSQ_P ;
110 b = base_r | base_p |
T_SIN ;
115 assert(tb->get_etat() == ETATQCQ) ;
118 int nr = (tb->dim).dim[0] ;
119 int nt = (tb->dim).dim[1] ;
120 int np = (tb->dim).dim[2] ;
124 static double* cx = 0 ;
125 static int nt_pre =0 ;
131 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
132 for (
int i=0 ; i<nt ; i++) {
133 cx[i] = - double(i) ;
139 double* xo =
new double[(tb->dim).taille] ;
142 for (
int i=0; i<(tb->dim).taille; i++) {
152 for (
int j=0 ; j<nt ; j++) {
153 for (
int i=0 ; i<nr ; i++ ) {
154 *xco = cx[j] * (*xci) ;
165 for (
int k=2 ; k<np+1 ; k++) {
166 for (
int j=0 ; j<nt ; j++) {
167 for (
int i=0 ; i<nr ; i++ ) {
168 *xco = cx[j] * (*xci) ;
180 int base_r = b &
MSQ_R ;
181 int base_p = b &
MSQ_P ;
182 b = base_r | base_p |
T_SIN ;
187 void _dsdtet_t_sin(Tbl* tb,
int & b)
191 if (tb->get_etat() == ETATZERO) {
192 int base_r = b &
MSQ_R ;
193 int base_p = b &
MSQ_P ;
194 b = base_r | base_p |
T_COS ;
199 assert(tb->get_etat() == ETATQCQ) ;
202 int nr = (tb->dim).dim[0] ;
203 int nt = (tb->dim).dim[1] ;
204 int np = (tb->dim).dim[2] ;
208 static double* cx = 0 ;
209 static int nt_pre = 0 ;
215 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
216 for (
int i=0 ; i<nt ; i++) {
223 double* xo =
new double[(tb->dim).taille] ;
226 for (
int i=0; i<(tb->dim).taille; i++) {
236 for (
int j=0 ; j<nt ; j++) {
237 for (
int i=0 ; i<nr ; i++ ) {
238 *xco = cx[j] * (*xci) ;
249 for (
int k=2 ; k<np+1 ; k++) {
250 for (
int j=0 ; j<nt ; j++) {
251 for (
int i=0 ; i<nr ; i++ ) {
252 *xco = cx[j] * (*xci) ;
264 int base_r = b &
MSQ_R ;
265 int base_p = b &
MSQ_P ;
266 b = base_r | base_p |
T_COS ;
271 void _dsdtet_t_cos_p(Tbl* tb,
int & b)
275 if (tb->get_etat() == ETATZERO) {
276 int base_r = b &
MSQ_R ;
277 int base_p = b &
MSQ_P ;
278 b = base_r | base_p |
T_SIN_P ;
283 assert(tb->get_etat() == ETATQCQ) ;
286 int nr = (tb->dim).dim[0] ;
287 int nt = (tb->dim).dim[1] ;
288 int np = (tb->dim).dim[2] ;
292 static double* cx = 0 ;
293 static int nt_pre =0 ;
299 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
300 for (
int i=0 ; i<nt ; i++) {
307 double* xo =
new double[(tb->dim).taille] ;
310 for (
int i=0; i<(tb->dim).taille; i++) {
320 for (
int j=0 ; j<nt ; j++) {
321 for (
int i=0 ; i<nr ; i++ ) {
322 *xco = cx[j] * (*xci) ;
333 for (
int k=2 ; k<np+1 ; k++) {
334 for (
int j=0 ; j<nt ; j++) {
335 for (
int i=0 ; i<nr ; i++ ) {
336 *xco = cx[j] * (*xci) ;
348 int base_r = b &
MSQ_R ;
349 int base_p = b &
MSQ_P ;
350 b = base_r | base_p |
T_SIN_P ;
355 void _dsdtet_t_sin_p(Tbl* tb,
int & b)
359 if (tb->get_etat() == ETATZERO) {
360 int base_r = b &
MSQ_R ;
361 int base_p = b &
MSQ_P ;
362 b = base_r | base_p |
T_COS_P ;
367 assert(tb->get_etat() == ETATQCQ) ;
370 int nr = (tb->dim).dim[0] ;
371 int nt = (tb->dim).dim[1] ;
372 int np = (tb->dim).dim[2] ;
376 static double* cx = 0 ;
377 static int nt_pre = 0 ;
383 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
384 for (
int i=0 ; i<nt ; i++) {
391 double* xo =
new double[(tb->dim).taille] ;
394 for (
int i=0; i<(tb->dim).taille; i++) {
404 for (
int j=0 ; j<nt ; j++) {
405 for (
int i=0 ; i<nr ; i++ ) {
406 *xco = cx[j] * (*xci) ;
417 for (
int k=2 ; k<np+1 ; k++) {
418 for (
int j=0 ; j<nt ; j++) {
419 for (
int i=0 ; i<nr ; i++ ) {
420 *xco = cx[j] * (*xci) ;
432 int base_r = b &
MSQ_R ;
433 int base_p = b &
MSQ_P ;
434 b = base_r | base_p |
T_COS_P ;
439 void _dsdtet_t_sin_i(Tbl* tb,
int & b)
443 if (tb->get_etat() == ETATZERO) {
444 int base_r = b &
MSQ_R ;
445 int base_p = b &
MSQ_P ;
446 b = base_r | base_p |
T_COS_I ;
451 assert(tb->get_etat() == ETATQCQ) ;
454 int nr = (tb->dim).dim[0] ;
455 int nt = (tb->dim).dim[1] ;
456 int np = (tb->dim).dim[2] ;
460 static double* cx = 0 ;
461 static int nt_pre =0 ;
467 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
468 for (
int i=0 ; i<nt ; i++) {
475 double* xo =
new double[(tb->dim).taille] ;
478 for (
int i=0; i<(tb->dim).taille; i++) {
488 for (
int j=0 ; j<nt ; j++) {
489 for (
int i=0 ; i<nr ; i++ ) {
490 *xco = cx[j] * (*xci) ;
501 for (
int k=2 ; k<np+1 ; k++) {
502 for (
int j=0 ; j<nt ; j++) {
503 for (
int i=0 ; i<nr ; i++ ) {
504 *xco = cx[j] * (*xci) ;
516 int base_r = b &
MSQ_R ;
517 int base_p = b &
MSQ_P ;
518 b = base_r | base_p |
T_COS_I ;
523 void _dsdtet_t_cos_i(Tbl* tb,
int & b)
527 if (tb->get_etat() == ETATZERO) {
528 int base_r = b &
MSQ_R ;
529 int base_p = b &
MSQ_P ;
530 b = base_r | base_p |
T_SIN_I ;
535 assert(tb->get_etat() == ETATQCQ) ;
538 int nr = (tb->dim).dim[0] ;
539 int nt = (tb->dim).dim[1] ;
540 int np = (tb->dim).dim[2] ;
544 static double* cx = 0 ;
545 static int nt_pre =0 ;
551 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
552 for (
int i=0 ; i<nt ; i++) {
559 double* xo =
new double[(tb->dim).taille] ;
562 for (
int i=0; i<(tb->dim).taille; i++) {
572 for (
int j=0 ; j<nt ; j++) {
573 for (
int i=0 ; i<nr ; i++ ) {
574 *xco = cx[j] * (*xci) ;
585 for (
int k=2 ; k<np+1 ; k++) {
586 for (
int j=0 ; j<nt ; j++) {
587 for (
int i=0 ; i<nr ; i++ ) {
588 *xco = cx[j] * (*xci) ;
600 int base_r = b &
MSQ_R ;
601 int base_p = b &
MSQ_P ;
602 b = base_r | base_p |
T_SIN_I ;
607 void _dsdtet_t_cossin_cp(Tbl* tb,
int & b)
611 if (tb->get_etat() == ETATZERO) {
612 int base_r = b &
MSQ_R ;
613 int base_p = b &
MSQ_P ;
619 assert(tb->get_etat() == ETATQCQ) ;
622 int nr = (tb->dim).dim[0] ;
623 int nt = (tb->dim).dim[1] ;
624 int np = (tb->dim).dim[2] ;
628 static double* cxp = 0 ;
629 static double* cxi = 0 ;
630 static int nt_pre = 0 ;
636 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
637 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
638 for (
int i=0 ; i<nt ; i++) {
646 double* xo =
new double[(tb->dim).taille] ;
649 for (
int i=0; i<(tb->dim).taille; i++) {
665 double* cxl = cx[0] ;
666 for (
int j=0 ; j<nt ; j++) {
667 for (
int i=0 ; i<nr ; i++) {
668 *xco = cxl[j] * (*xci) ;
679 for (
int k=2 ; k<np+1 ; k++) {
683 for (
int j=0 ; j<nt ; j++) {
684 for (
int i=0 ; i<nr ; i++) {
685 *xco = cxl[j] * (*xci) ;
697 int base_r = b &
MSQ_R ;
698 int base_p = b &
MSQ_P ;
704 void _dsdtet_t_cossin_sp(Tbl* tb,
int & b)
708 if (tb->get_etat() == ETATZERO) {
709 int base_r = b &
MSQ_R ;
710 int base_p = b &
MSQ_P ;
716 assert(tb->get_etat() == ETATQCQ) ;
719 int nr = (tb->dim).dim[0] ;
720 int nt = (tb->dim).dim[1] ;
721 int np = (tb->dim).dim[2] ;
725 static double* cxp = 0 ;
726 static double* cxi = 0 ;
727 static int nt_pre =0 ;
733 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
734 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
735 for (
int i=0 ; i<nt ; i++) {
743 double* xo =
new double[(tb->dim).taille] ;
746 for (
int i=0; i<(tb->dim).taille; i++) {
762 double* cxl = cx[0] ;
763 for (
int j=0 ; j<nt ; j++) {
764 for (
int i=0 ; i<nr ; i++) {
765 *xco = cxl[j] * (*xci) ;
776 for (
int k=2 ; k<np+1 ; k++) {
780 for (
int j=0 ; j<nt ; j++) {
781 for (
int i=0 ; i<nr ; i++) {
782 *xco = cxl[j] * (*xci) ;
794 int base_r = b &
MSQ_R ;
795 int base_p = b &
MSQ_P ;
801 void _dsdtet_t_cossin_ci(Tbl* tb,
int & b)
805 if (tb->get_etat() == ETATZERO) {
806 int base_r = b &
MSQ_R ;
807 int base_p = b &
MSQ_P ;
813 assert(tb->get_etat() == ETATQCQ) ;
816 int nr = (tb->dim).dim[0] ;
817 int nt = (tb->dim).dim[1] ;
818 int np = (tb->dim).dim[2] ;
822 static double* cxp = 0 ;
823 static double* cxi = 0 ;
824 static int nt_pre =0 ;
830 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
831 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
832 for (
int i=0 ; i<nt ; i++) {
840 double* xo =
new double[(tb->dim).taille] ;
843 for (
int i=0; i<(tb->dim).taille; i++) {
859 double* cxl = cx[0] ;
860 for (
int j=0 ; j<nt ; j++) {
861 for (
int i=0 ; i<nr ; i++) {
862 *xco = cxl[j] * (*xci) ;
873 for (
int k=2 ; k<np+1 ; k++) {
877 for (
int j=0 ; j<nt ; j++) {
878 for (
int i=0 ; i<nr ; i++) {
879 *xco = cxl[j] * (*xci) ;
891 int base_r = b &
MSQ_R ;
892 int base_p = b &
MSQ_P ;
898 void _dsdtet_t_cossin_si(Tbl* tb,
int & b)
902 if (tb->get_etat() == ETATZERO) {
903 int base_r = b &
MSQ_R ;
904 int base_p = b &
MSQ_P ;
910 assert(tb->get_etat() == ETATQCQ) ;
913 int nr = (tb->dim).dim[0] ;
914 int nt = (tb->dim).dim[1] ;
915 int np = (tb->dim).dim[2] ;
919 static double* cxp = 0 ;
920 static double* cxi = 0 ;
921 static int nt_pre =0 ;
927 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
928 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
929 for (
int i=0 ; i<nt ; i++) {
937 double* xo =
new double[(tb->dim).taille] ;
940 for (
int i=0; i<(tb->dim).taille; i++) {
956 double* cxl = cx[0] ;
957 for (
int j=0 ; j<nt ; j++) {
958 for (
int i=0 ; i<nr ; i++) {
959 *xco = cxl[j] * (*xci) ;
970 for (
int k=2 ; k<np+1 ; k++) {
974 for (
int j=0 ; j<nt ; j++) {
975 for (
int i=0 ; i<nr ; i++) {
976 *xco = cxl[j] * (*xci) ;
988 int base_r = b &
MSQ_R ;
989 int base_p = b &
MSQ_P ;
995 void _dsdtet_t_cossin_c(Tbl* tb,
int & b)
999 if (tb->get_etat() == ETATZERO) {
1000 int base_r = b &
MSQ_R ;
1001 int base_p = b &
MSQ_P ;
1007 assert(tb->get_etat() == ETATQCQ) ;
1010 int nr = (tb->dim).dim[0] ;
1011 int nt = (tb->dim).dim[1] ;
1012 int np = (tb->dim).dim[2] ;
1016 static double* cxp = 0 ;
1017 static double* cxi = 0 ;
1018 static int nt_pre = 0 ;
1024 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
1025 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
1026 for (
int i=0 ; i<nt ; i++) {
1034 double* xo =
new double[(tb->dim).taille] ;
1037 for (
int i=0; i<(tb->dim).taille; i++) {
1042 double* xi = tb->t ;
1053 double* cxl = cx[0] ;
1054 for (
int j=0 ; j<nt ; j++) {
1055 for (
int i=0 ; i<nr ; i++) {
1056 *xco = cxl[j] * (*xci) ;
1067 for (
int k=2 ; k<np+1 ; k++) {
1071 for (
int j=0 ; j<nt ; j++) {
1072 for (
int i=0 ; i<nr ; i++) {
1073 *xco = cxl[j] * (*xci) ;
1085 int base_r = b &
MSQ_R ;
1086 int base_p = b &
MSQ_P ;
1092 void _dsdtet_t_cossin_s(Tbl* tb,
int & b)
1096 if (tb->get_etat() == ETATZERO) {
1097 int base_r = b &
MSQ_R ;
1098 int base_p = b &
MSQ_P ;
1104 assert(tb->get_etat() == ETATQCQ) ;
1107 int nr = (tb->dim).dim[0] ;
1108 int nt = (tb->dim).dim[1] ;
1109 int np = (tb->dim).dim[2] ;
1113 static double* cxp = 0 ;
1114 static double* cxi = 0 ;
1115 static int nt_pre =0 ;
1121 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
1122 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
1123 for (
int i=0 ; i<nt ; i++) {
1131 double* xo =
new double[(tb->dim).taille] ;
1134 for (
int i=0; i<(tb->dim).taille; i++) {
1139 double* xi = tb->t ;
1150 double* cxl = cx[0] ;
1151 for (
int j=0 ; j<nt ; j++) {
1152 for (
int i=0 ; i<nr ; i++) {
1153 *xco = cxl[j] * (*xci) ;
1164 for (
int k=2 ; k<np+1 ; k++) {
1168 for (
int j=0 ; j<nt ; j++) {
1169 for (
int i=0 ; i<nr ; i++) {
1170 *xco = cxl[j] * (*xci) ;
1182 int base_r = b &
MSQ_R ;
1183 int base_p = b &
MSQ_P ;
#define MSQ_P
Extraction de l'info sur Phi.
#define T_COS
dev. cos seulement
#define T_COSSIN_SP
sin pair-cos impair alternes, sin pour m=0
#define T_SIN
dev. sin seulement
#define T_COS_I
dev. cos seulement, harmoniques impaires
#define T_COS_P
dev. cos seulement, harmoniques paires
#define T_COSSIN_C
dev. cos-sin alternes, cos pour m=0
#define MSQ_R
Extraction de l'info sur R.
#define T_SIN_P
dev. sin seulement, harmoniques paires
#define T_COSSIN_SI
sin impair-cos pair alternes, sin pour m=0
#define T_COSSIN_CI
cos impair-sin pair alternes, cos pour m=0
#define T_COSSIN_CP
cos pair-sin impair alternes, cos pour m=0
#define T_SIN_I
dev. sin seulement, harmoniques impaires
#define T_COSSIN_S
dev. cos-sin alternes, sin pour m=0