24char op_dsdtet_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/op_dsdtet.C,v 1.6 2014/10/13 08:53:25 j_novak Exp $" ;
92void _dsdtet_pas_prevu(Tbl* ,
int & b) {
93 cout <<
"Unknown theta basis in Mtbl_cf::dsdt() !" << endl ;
94 cout <<
" basis: " << hex << b << endl ;
100void _dsdtet_t_cos(Tbl* tb,
int & b)
104 if (tb->get_etat() == ETATZERO) {
105 int base_r = b &
MSQ_R ;
106 int base_p = b &
MSQ_P ;
107 b = base_r | base_p |
T_SIN ;
112 assert(tb->get_etat() == ETATQCQ) ;
115 int nr = (tb->dim).dim[0] ;
116 int nt = (tb->dim).dim[1] ;
117 int np = (tb->dim).dim[2] ;
121 static double* cx = 0 ;
122 static int nt_pre =0 ;
129 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
130 for (
int i=0 ; i<nt ; i++) {
131 cx[i] = - double(i) ;
137 double* xo =
new double[(tb->dim).taille] ;
140 for (
int i=0; i<(tb->dim).taille; i++) {
150 for (
int j=0 ; j<nt ; j++) {
151 for (
int i=0 ; i<nr ; i++ ) {
152 *xco = cx[j] * (*xci) ;
163 for (
int k=2 ; k<np+1 ; k++) {
164 for (
int j=0 ; j<nt ; j++) {
165 for (
int i=0 ; i<nr ; i++ ) {
166 *xco = cx[j] * (*xci) ;
178 int base_r = b &
MSQ_R ;
179 int base_p = b &
MSQ_P ;
180 b = base_r | base_p |
T_SIN ;
185void _dsdtet_t_sin(Tbl* tb,
int & b)
189 if (tb->get_etat() == ETATZERO) {
190 int base_r = b &
MSQ_R ;
191 int base_p = b &
MSQ_P ;
192 b = base_r | base_p |
T_COS ;
197 assert(tb->get_etat() == ETATQCQ) ;
200 int nr = (tb->dim).dim[0] ;
201 int nt = (tb->dim).dim[1] ;
202 int np = (tb->dim).dim[2] ;
206 static double* cx = 0 ;
207 static int nt_pre = 0 ;
213 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
214 for (
int i=0 ; i<nt ; i++) {
221 double* xo =
new double[(tb->dim).taille] ;
224 for (
int i=0; i<(tb->dim).taille; i++) {
234 for (
int j=0 ; j<nt ; j++) {
235 for (
int i=0 ; i<nr ; i++ ) {
236 *xco = cx[j] * (*xci) ;
247 for (
int k=2 ; k<np+1 ; k++) {
248 for (
int j=0 ; j<nt ; j++) {
249 for (
int i=0 ; i<nr ; i++ ) {
250 *xco = cx[j] * (*xci) ;
262 int base_r = b &
MSQ_R ;
263 int base_p = b &
MSQ_P ;
264 b = base_r | base_p |
T_COS ;
269void _dsdtet_t_cos_p(Tbl* tb,
int & b)
273 if (tb->get_etat() == ETATZERO) {
274 int base_r = b &
MSQ_R ;
275 int base_p = b &
MSQ_P ;
276 b = base_r | base_p |
T_SIN_P ;
281 assert(tb->get_etat() == ETATQCQ) ;
284 int nr = (tb->dim).dim[0] ;
285 int nt = (tb->dim).dim[1] ;
286 int np = (tb->dim).dim[2] ;
290 static double* cx = 0 ;
291 static int nt_pre =0 ;
298 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
299 for (
int i=0 ; i<nt ; i++) {
306 double* xo =
new double[(tb->dim).taille] ;
309 for (
int i=0; i<(tb->dim).taille; i++) {
319 for (
int j=0 ; j<nt ; j++) {
320 for (
int i=0 ; i<nr ; i++ ) {
321 *xco = cx[j] * (*xci) ;
332 for (
int k=2 ; k<np+1 ; k++) {
333 for (
int j=0 ; j<nt ; j++) {
334 for (
int i=0 ; i<nr ; i++ ) {
335 *xco = cx[j] * (*xci) ;
347 int base_r = b &
MSQ_R ;
348 int base_p = b &
MSQ_P ;
349 b = base_r | base_p |
T_SIN_P ;
354void _dsdtet_t_sin_p(Tbl* tb,
int & b)
358 if (tb->get_etat() == ETATZERO) {
359 int base_r = b &
MSQ_R ;
360 int base_p = b &
MSQ_P ;
361 b = base_r | base_p |
T_COS_P ;
366 assert(tb->get_etat() == ETATQCQ) ;
369 int nr = (tb->dim).dim[0] ;
370 int nt = (tb->dim).dim[1] ;
371 int np = (tb->dim).dim[2] ;
375 static double* cx = 0 ;
376 static int nt_pre = 0 ;
382 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
383 for (
int i=0 ; i<nt ; i++) {
390 double* xo =
new double[(tb->dim).taille] ;
393 for (
int i=0; i<(tb->dim).taille; i++) {
403 for (
int j=0 ; j<nt ; j++) {
404 for (
int i=0 ; i<nr ; i++ ) {
405 *xco = cx[j] * (*xci) ;
416 for (
int k=2 ; k<np+1 ; k++) {
417 for (
int j=0 ; j<nt ; j++) {
418 for (
int i=0 ; i<nr ; i++ ) {
419 *xco = cx[j] * (*xci) ;
431 int base_r = b &
MSQ_R ;
432 int base_p = b &
MSQ_P ;
433 b = base_r | base_p |
T_COS_P ;
438void _dsdtet_t_sin_i(Tbl* tb,
int & b)
442 if (tb->get_etat() == ETATZERO) {
443 int base_r = b &
MSQ_R ;
444 int base_p = b &
MSQ_P ;
445 b = base_r | base_p |
T_COS_I ;
450 assert(tb->get_etat() == ETATQCQ) ;
453 int nr = (tb->dim).dim[0] ;
454 int nt = (tb->dim).dim[1] ;
455 int np = (tb->dim).dim[2] ;
459 static double* cx = 0 ;
460 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 ;
523void _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 ;
552 cx =
reinterpret_cast<double*
>(realloc(cx, nt *
sizeof(
double))) ;
553 for (
int i=0 ; i<nt ; i++) {
560 double* xo =
new double[(tb->dim).taille] ;
563 for (
int i=0; i<(tb->dim).taille; i++) {
573 for (
int j=0 ; j<nt ; j++) {
574 for (
int i=0 ; i<nr ; i++ ) {
575 *xco = cx[j] * (*xci) ;
586 for (
int k=2 ; k<np+1 ; k++) {
587 for (
int j=0 ; j<nt ; j++) {
588 for (
int i=0 ; i<nr ; i++ ) {
589 *xco = cx[j] * (*xci) ;
601 int base_r = b &
MSQ_R ;
602 int base_p = b &
MSQ_P ;
603 b = base_r | base_p |
T_SIN_I ;
608void _dsdtet_t_cossin_cp(Tbl* tb,
int & b)
612 if (tb->get_etat() == ETATZERO) {
613 int base_r = b &
MSQ_R ;
614 int base_p = b &
MSQ_P ;
620 assert(tb->get_etat() == ETATQCQ) ;
623 int nr = (tb->dim).dim[0] ;
624 int nt = (tb->dim).dim[1] ;
625 int np = (tb->dim).dim[2] ;
629 static double* cxp = 0 ;
630 static double* cxi = 0 ;
631 static int nt_pre = 0 ;
638 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
639 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
640 for (
int i=0 ; i<nt ; i++) {
648 double* xo =
new double[(tb->dim).taille] ;
651 for (
int i=0; i<(tb->dim).taille; i++) {
667 double* cxl = cx[0] ;
668 for (
int j=0 ; j<nt ; j++) {
669 for (
int i=0 ; i<nr ; i++) {
670 *xco = cxl[j] * (*xci) ;
681 for (
int k=2 ; k<np+1 ; k++) {
685 for (
int j=0 ; j<nt ; j++) {
686 for (
int i=0 ; i<nr ; i++) {
687 *xco = cxl[j] * (*xci) ;
699 int base_r = b &
MSQ_R ;
700 int base_p = b &
MSQ_P ;
706void _dsdtet_t_cossin_sp(Tbl* tb,
int & b)
710 if (tb->get_etat() == ETATZERO) {
711 int base_r = b &
MSQ_R ;
712 int base_p = b &
MSQ_P ;
718 assert(tb->get_etat() == ETATQCQ) ;
721 int nr = (tb->dim).dim[0] ;
722 int nt = (tb->dim).dim[1] ;
723 int np = (tb->dim).dim[2] ;
727 static double* cxp = 0 ;
728 static double* cxi = 0 ;
729 static int nt_pre =0 ;
736 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
737 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
738 for (
int i=0 ; i<nt ; i++) {
746 double* xo =
new double[(tb->dim).taille] ;
749 for (
int i=0; i<(tb->dim).taille; i++) {
765 double* cxl = cx[0] ;
766 for (
int j=0 ; j<nt ; j++) {
767 for (
int i=0 ; i<nr ; i++) {
768 *xco = cxl[j] * (*xci) ;
779 for (
int k=2 ; k<np+1 ; k++) {
783 for (
int j=0 ; j<nt ; j++) {
784 for (
int i=0 ; i<nr ; i++) {
785 *xco = cxl[j] * (*xci) ;
797 int base_r = b &
MSQ_R ;
798 int base_p = b &
MSQ_P ;
804void _dsdtet_t_cossin_ci(Tbl* tb,
int & b)
808 if (tb->get_etat() == ETATZERO) {
809 int base_r = b &
MSQ_R ;
810 int base_p = b &
MSQ_P ;
816 assert(tb->get_etat() == ETATQCQ) ;
819 int nr = (tb->dim).dim[0] ;
820 int nt = (tb->dim).dim[1] ;
821 int np = (tb->dim).dim[2] ;
825 static double* cxp = 0 ;
826 static double* cxi = 0 ;
827 static int nt_pre =0 ;
834 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
835 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
836 for (
int i=0 ; i<nt ; i++) {
844 double* xo =
new double[(tb->dim).taille] ;
847 for (
int i=0; i<(tb->dim).taille; i++) {
863 double* cxl = cx[0] ;
864 for (
int j=0 ; j<nt ; j++) {
865 for (
int i=0 ; i<nr ; i++) {
866 *xco = cxl[j] * (*xci) ;
877 for (
int k=2 ; k<np+1 ; k++) {
881 for (
int j=0 ; j<nt ; j++) {
882 for (
int i=0 ; i<nr ; i++) {
883 *xco = cxl[j] * (*xci) ;
895 int base_r = b &
MSQ_R ;
896 int base_p = b &
MSQ_P ;
902void _dsdtet_t_cossin_si(Tbl* tb,
int & b)
906 if (tb->get_etat() == ETATZERO) {
907 int base_r = b &
MSQ_R ;
908 int base_p = b &
MSQ_P ;
914 assert(tb->get_etat() == ETATQCQ) ;
917 int nr = (tb->dim).dim[0] ;
918 int nt = (tb->dim).dim[1] ;
919 int np = (tb->dim).dim[2] ;
923 static double* cxp = 0 ;
924 static double* cxi = 0 ;
925 static int nt_pre =0 ;
932 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
933 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
934 for (
int i=0 ; i<nt ; i++) {
942 double* xo =
new double[(tb->dim).taille] ;
945 for (
int i=0; i<(tb->dim).taille; i++) {
961 double* cxl = cx[0] ;
962 for (
int j=0 ; j<nt ; j++) {
963 for (
int i=0 ; i<nr ; i++) {
964 *xco = cxl[j] * (*xci) ;
975 for (
int k=2 ; k<np+1 ; k++) {
979 for (
int j=0 ; j<nt ; j++) {
980 for (
int i=0 ; i<nr ; i++) {
981 *xco = cxl[j] * (*xci) ;
993 int base_r = b &
MSQ_R ;
994 int base_p = b &
MSQ_P ;
1000void _dsdtet_t_cossin_c(Tbl* tb,
int & b)
1004 if (tb->get_etat() == ETATZERO) {
1005 int base_r = b &
MSQ_R ;
1006 int base_p = b &
MSQ_P ;
1012 assert(tb->get_etat() == ETATQCQ) ;
1015 int nr = (tb->dim).dim[0] ;
1016 int nt = (tb->dim).dim[1] ;
1017 int np = (tb->dim).dim[2] ;
1021 static double* cxp = 0 ;
1022 static double* cxi = 0 ;
1023 static int nt_pre = 0 ;
1030 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
1031 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
1032 for (
int i=0 ; i<nt ; i++) {
1040 double* xo =
new double[(tb->dim).taille] ;
1043 for (
int i=0; i<(tb->dim).taille; i++) {
1048 double* xi = tb->t ;
1059 double* cxl = cx[0] ;
1060 for (
int j=0 ; j<nt ; j++) {
1061 for (
int i=0 ; i<nr ; i++) {
1062 *xco = cxl[j] * (*xci) ;
1073 for (
int k=2 ; k<np+1 ; k++) {
1077 for (
int j=0 ; j<nt ; j++) {
1078 for (
int i=0 ; i<nr ; i++) {
1079 *xco = cxl[j] * (*xci) ;
1091 int base_r = b &
MSQ_R ;
1092 int base_p = b &
MSQ_P ;
1098void _dsdtet_t_cossin_s(Tbl* tb,
int & b)
1102 if (tb->get_etat() == ETATZERO) {
1103 int base_r = b &
MSQ_R ;
1104 int base_p = b &
MSQ_P ;
1110 assert(tb->get_etat() == ETATQCQ) ;
1113 int nr = (tb->dim).dim[0] ;
1114 int nt = (tb->dim).dim[1] ;
1115 int np = (tb->dim).dim[2] ;
1119 static double* cxp = 0 ;
1120 static double* cxi = 0 ;
1121 static int nt_pre =0 ;
1128 cxp =
reinterpret_cast<double*
>(realloc(cxp, nt *
sizeof(
double))) ;
1129 cxi =
reinterpret_cast<double*
>(realloc(cxi, nt *
sizeof(
double))) ;
1130 for (
int i=0 ; i<nt ; i++) {
1138 double* xo =
new double[(tb->dim).taille] ;
1141 for (
int i=0; i<(tb->dim).taille; i++) {
1146 double* xi = tb->t ;
1157 double* cxl = cx[0] ;
1158 for (
int j=0 ; j<nt ; j++) {
1159 for (
int i=0 ; i<nr ; i++) {
1160 *xco = cxl[j] * (*xci) ;
1171 for (
int k=2 ; k<np+1 ; k++) {
1175 for (
int j=0 ; j<nt ; j++) {
1176 for (
int i=0 ; i<nr ; i++) {
1177 *xco = cxl[j] * (*xci) ;
1189 int base_r = b &
MSQ_R ;
1190 int base_p = b &
MSQ_P ;
#define T_COSSIN_SP
sin pair-cos impair alternes, sin pour m=0
#define T_SIN_P
dev. sin seulement, harmoniques paires
#define MSQ_R
Extraction de l'info sur R.
#define T_COSSIN_S
dev. cos-sin alternes, sin pour m=0
#define T_COSSIN_SI
sin impair-cos pair alternes, sin pour m=0
#define T_COS_P
dev. cos seulement, harmoniques paires
#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_COS
dev. cos seulement
#define MSQ_P
Extraction de l'info sur Phi.
#define T_SIN
dev. sin seulement
#define T_COS_I
dev. cos seulement, harmoniques impaires
#define T_COSSIN_C
dev. cos-sin alternes, cos pour m=0