MIDAPACK - MIcrowave Data Analysis PACKage  1.1b
Parallel software tools for high performance CMB DA analysis
alm.c File Reference

Implementation of subroutines handling maps, distributions or functions. That means, almost all structures describes as sets of indices associated to sets of values). More...

Go to the source code of this file.

Functions

void m2s (double *mapval, double *submapval, int *subset, int count)
 
void lmatvecprod (int *ind, double *val, int m, int nnz, double *in, double *out)
 Local mat vec prod. More...
 
void s2m_sum (double *mapval, double *submapval, int *subset, int count)
 Sum submap values the submap values array. More...
 
void s2m (double *mapval, double *submapval, int *subset, int count)
 assign submap values the submap values array More...
 
void cnt_nnz_dot_prod (double *out, double *in, int cnt, int *ind, double *val, int nnz)
 Sum submap values the submap values array. More...
 
void omp_cnt_nnz_dot_prod (double *out, double *in, int cnt, int *ind, double *val, int nnz)
 Sum submap values the submap values array. More...
 
int m2m (double *vA1, int *A1, int n1, double *vA2, int *A2, int n2)
 
int m2m_sum (double *vA1, int *A1, int n1, double *vA2, int *A2, int n2)
 
int m2m_sum_i (int *vA1, int *A1, int n1, int *vA2, int *A2, int n2)
 

Detailed Description

Implementation of subroutines handling maps, distributions or functions. That means, almost all structures describes as sets of indices associated to sets of values).

Note
Copyright (c) 2010-2012 APC CNRS Université Paris Diderot. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/lgpl.html
For more information about ANR MIDAS'09 project see http://www.apc.univ-paris7.fr/APC_CS/Recherche/Adamis/MIDAS09/index.html
ACKNOWLEDGMENT: This work has been supported in part by the French National Research Agency (ANR) through COSINUS program (project MIDAS no. ANR-09-COSI-009).
Author
Pierre Cargemel
Date
April 2012

Definition in file alm.c.

Function Documentation

◆ m2s()

void m2s ( double *  mapval,
double *  submapval,
int *  subset,
int  count 
)

Set some map values into a submap values array

Parameters
mapvalarray of values
submapvalarray of values
Returns
array of indices

Definition at line 27 of file alm.c.

◆ lmatvecprod()

void lmatvecprod ( int *  ind,
double *  val,
int  m,
int  nnz,
double *  in,
double *  out 
)

Local mat vec prod.

Parameters
indmtable of integers apval array of values
submapvalarray of values
Returns
void

Definition at line 38 of file alm.c.

◆ s2m_sum()

void s2m_sum ( double *  mapval,
double *  submapval,
int *  subset,
int  count 
)

Sum submap values the submap values array.

Parameters
mapvalarray of values
submapvalarray of values
Returns
array of indices

Definition at line 54 of file alm.c.

◆ s2m()

void s2m ( double *  mapval,
double *  submapval,
int *  subset,
int  count 
)

assign submap values the submap values array

Parameters
mapvalarray of values
submapvalarray of values
Returns
array of indices

Definition at line 64 of file alm.c.

◆ cnt_nnz_dot_prod()

void cnt_nnz_dot_prod ( double *  out,
double *  in,
int  cnt,
int *  ind,
double *  val,
int  nnz 
)

Sum submap values the submap values array.

Returns
void

Definition at line 71 of file alm.c.

◆ omp_cnt_nnz_dot_prod()

void omp_cnt_nnz_dot_prod ( double *  out,
double *  in,
int  cnt,
int *  ind,
double *  val,
int  nnz 
)

Sum submap values the submap values array.

Returns
void

Definition at line 82 of file alm.c.

◆ m2m()

int m2m ( double *  vA1,
int *  A1,
int  n1,
double *  vA2,
int *  A2,
int  n2 
)

Function m2m for "map to map" Extract values from one map (A1, vA1), and for each pixel shared with an other map (A2, vA2), assign pixel value in vA1 and to pixel value in vA2.

Returns
a number of elements shared between A1 and A2
See also
m2m_sum

Definition at line 97 of file alm.c.

◆ m2m_sum()

int m2m_sum ( double *  vA1,
int *  A1,
int  n1,
double *  vA2,
int *  A2,
int  n2 
)

Function m2m_sum for "sum map to map" Extract values from one map (A1, vA1), and for each pixel shared with an other map (A2, vA2), sum pixel value in vA1 to pixel value in vA2.

Returns
a number of elements shared between A1 and A2
See also
m2m

Definition at line 120 of file alm.c.

◆ m2m_sum_i()

int m2m_sum_i ( int *  vA1,
int *  A1,
int  n1,
int *  vA2,
int *  A2,
int  n2 
)

Function m2m_sum_i for "sum map to map" (integer version) Extract values from one integer map (A1, vA1), and for each pixel shared with an other integer map (A2, vA2), sum pixel value in vA1 to pixel value in vA2.

Returns
a number of elements shared between A1 and A2
See also
m2m

Definition at line 144 of file alm.c.