@@ -166,9 +166,9 @@ void flaglet_axisym_allocate_f_wav_multires_lmp(complex double **f_wav_lmp, comp
166166 int J_p = s2let_j_max (P , B_p );
167167 int jp , jl , bandlimit_p , bandlimit_l , total = 0 ;
168168 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
169- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
169+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
170170 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
171- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
171+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
172172 total += bandlimit_l * bandlimit_l * bandlimit_p ;
173173 }
174174 }
@@ -195,9 +195,9 @@ void flaglet_axisym_allocate_f_wav_multires(complex double **f_wav, complex doub
195195 int J_p = s2let_j_max (P , B_p );
196196 int jp , jl , bandlimit_p , bandlimit_l , total = 0 ;
197197 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
198- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
198+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
199199 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
200- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
200+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
201201 total += bandlimit_l * (2 * bandlimit_l - 1 ) * bandlimit_p ;
202202 }
203203 }
@@ -224,9 +224,9 @@ void flaglet_axisym_allocate_f_wav_multires_real(double **f_wav, double **f_scal
224224 int J_p = s2let_j_max (P , B_p );
225225 int jp , jl , bandlimit_p , bandlimit_l , total = 0 ;
226226 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
227- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
227+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
228228 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
229- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
229+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
230230 total += bandlimit_l * (2 * bandlimit_l - 1 ) * bandlimit_p ;
231231 }
232232 }
@@ -259,9 +259,9 @@ void flaglet_axisym_wav_analysis_multires_lmp(complex double *f_wav_lmp, complex
259259
260260 offset = 0 ;
261261 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
262- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
262+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
263263 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
264- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
264+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
265265 for (n = 0 ; n < bandlimit_p ; n ++ ){
266266 for (l = 0 ; l < bandlimit_l ; l ++ ){
267267 for (m = - l ; m <= l ; m ++ ){
@@ -310,9 +310,9 @@ void flaglet_axisym_wav_synthesis_multires_lmp(complex double *flmp, const compl
310310
311311 offset = 0 ;
312312 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
313- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
313+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
314314 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
315- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
315+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
316316 for (n = 0 ; n < bandlimit_p ; n ++ ){
317317 for (l = 0 ; l < bandlimit_l ; l ++ ){
318318 for (m = - l ; m <= l ; m ++ ){
@@ -326,8 +326,8 @@ void flaglet_axisym_wav_synthesis_multires_lmp(complex double *flmp, const compl
326326 }
327327 }
328328
329- bandlimit_p = MIN (s2let_bandlimit (B_p , J_min_p - 1 ), P );
330- bandlimit_l = MIN (s2let_bandlimit (B_l , J_min_l - 1 ), L );
329+ bandlimit_p = MIN (s2let_bandlimit (J_min_p - 1 , J_min_p , B_p , P ), P );
330+ bandlimit_l = MIN (s2let_bandlimit (J_min_l - 1 , J_min_l , B_l , L ), L );
331331 for (n = 0 ; n < P ; n ++ ){
332332 for (l = 0 ; l < L ; l ++ ){
333333 for (m = - l ; m <= l ; m ++ ){
@@ -485,10 +485,10 @@ void flaglet_axisym_wav_analysis_multires(complex double *f_wav, complex double
485485 offset_lmp = 0 ;
486486 offset = 0 ;
487487 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
488- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
488+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
489489 flag_spherlaguerre_sampling (nodes , weights , R , bandlimit_p );
490490 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
491- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
491+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
492492 //offset_lmp = jp * (J_l + 1) * L * L * P + jl * L * L * P;
493493 //offset = jp * (J_l + 1) * L * (2*L-1) * (P) + jl * L * (2*L-1) * (P);
494494 flag_core_synthesis (f_wav + offset , f_wav_lmp + offset_lmp , nodes , bandlimit_p , bandlimit_l , bandlimit_p );
@@ -536,9 +536,9 @@ void flaglet_axisym_wav_synthesis_multires(complex double *f, const complex doub
536536 offset_lmp = 0 ;
537537 offset = 0 ;
538538 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
539- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
539+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
540540 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
541- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
541+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
542542 //offset_lmp = jp * (J_l + 1) * L * L * P + jl * L * L * P;
543543 //offset = jp * (J_l + 1) * L * (2*L-1) * (P) + jl * L * (2*L-1) * (P);
544544 flag_core_analysis (f_wav_lmp + offset_lmp , f_wav + offset , R , bandlimit_l , bandlimit_p );
@@ -624,10 +624,10 @@ void flaglet_axisym_wav_analysis_multires_real(double *f_wav, double *f_scal, co
624624 offset_lmp = 0 ;
625625 offset = 0 ;
626626 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
627- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
627+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
628628 flag_spherlaguerre_sampling (nodes , weights , R , bandlimit_p );
629629 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
630- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
630+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
631631 //offset_lmp = jp * (J_l + 1) * L * L * P + jl * L * L * P;
632632 //offset = jp * (J_l + 1) * L * (2*L-1) * (P) + jl * L * (2*L-1) * (P);
633633 flag_core_synthesis_real (f_wav + offset , f_wav_lmp + offset_lmp , nodes , bandlimit_p , bandlimit_l , bandlimit_p );
@@ -675,9 +675,9 @@ void flaglet_axisym_wav_synthesis_multires_real(double *f, const double *f_wav,
675675 offset_lmp = 0 ;
676676 offset = 0 ;
677677 for (jp = J_min_p ; jp <= J_p ; jp ++ ){
678- bandlimit_p = MIN (s2let_bandlimit (B_p , jp ), P );
678+ bandlimit_p = MIN (s2let_bandlimit (jp , J_min_p , B_p , P ), P );
679679 for (jl = J_min_l ; jl <= J_l ; jl ++ ){
680- bandlimit_l = MIN (s2let_bandlimit (B_l , jl ), L );
680+ bandlimit_l = MIN (s2let_bandlimit (jl , J_min_l , B_l , L ), L );
681681 //offset_lmp = jp * (J_l + 1) * L * L * P + jl * L * L * P;
682682 //offset = jp * (J_l + 1) * L * (2*L-1) * (P) + jl * L * (2*L-1) * (P);
683683 flag_core_analysis_real (f_wav_lmp + offset_lmp , f_wav + offset , R , bandlimit_l , bandlimit_p );
0 commit comments