125 void cipcossini(
const int* deg,
const int* dimc,
const int* dimf,
126 double* cf,
double* ff)
135 int deg2[] = {np2, deg[1], deg[2]} ;
136 int dimc2[] = {np2+2, dimc[1], dimc[2]} ;
137 int dimf2[] = {np2, dimf[1], dimf[2]} ;
139 double* cf2 =
new double[ dimc2[0]*dimc2[1]*dimc2[2] ] ;
140 double* ff2 =
new double[ dimf2[0]*dimf2[1]*dimf2[2] ] ;
143 int ntnrc = dimc[1] * dimc[2] ;
146 for (
int ij = 0; ij <2*ntnrc; ij++) {
151 for (
int ij = 0; ij <ntnrc; ij++) {
152 cf2[2*ntnrc + ij] = cf[ij] ;
156 for (
int ij = 0; ij <ntnrc; ij++) {
157 cf2[3*ntnrc + ij] = cf[2*ntnrc + ij] ;
160 for (
int k2=4; k2<np2; k2 +=4) {
162 for (
int ij = 0; ij <2*ntnrc; ij++) {
163 cf2[k2*ntnrc + ij] = 0 ;
168 for (
int ij = 0; ij <2*ntnrc; ij++) {
169 cf2[(k2+2)*ntnrc + ij] = cf[k*ntnrc + ij] ;
174 for (
int ij = 0; ij <2*ntnrc; ij++) {
175 cf2[np2*ntnrc + ij] = 0 ;
179 cipcossin(deg2, dimc2, dimf2, cf2, ff2) ;
182 int ntnrf = dimf[1] * dimf[2] ;
183 for (
int k=0; k<np; k++) {
184 for (
int ij = 0; ij <ntnrf; ij++) {
185 ff[k*ntnrf + ij] = ff2[k*ntnrf + ij] ;