MIDAPACK - MIcrowave Data Analysis PACKage  1.1b
Parallel software tools for high performance CMB DA analysis
 All Data Structures Files Functions Variables Typedefs Groups Pages
User example

Here is a short example showing how to use it:

// sequential use
fftw_complex *V_fft, *T_fft;
double *V_rfft;
fftw_plan plan_f, plan_b;
tpltz_init(v1_size, lambda , &nfft, &blocksize, &T_fft, T, &V_fft, &V_rfft, &plan_f, &plan_b);
stmm(V, n, m, id0, local_V_size, T_fft, lambda, V_fft, V_rfft, plan_f, plan_b, blocksize, nfft);
tpltz_cleanup(&T_fft, &V_fft, &V_rfft, &plan_f, &plan_b);
// MPI use
MPI_Scatterv(V, nranks, displs, MPI_DOUBLE, Vrank, maxsize, MPI_DOUBLE, 0, MPI_COMM_WORLD);
flag_stgy_init_auto(&flag_stgy);
mpi_stbmm(&Vrank, nrow, m, m_rowwise, tpltzblocks, nb_blocks, nb_blocks, id0, local_V_size, flag_stgy, MPI_COMM_WORLD);
MPI_Gatherv(Vrank, nranks[rank], MPI_DOUBLE, TV, nranks, displs, MPI_DOUBLE, 0, MPI_COMM_WORLD);