Mercurial > repos > dongjun > mosaics
view mosaics/src/convolution_1S.cpp @ 6:c9e0cd67dd84 draft
Uploaded
author | dongjun |
---|---|
date | Thu, 10 Jan 2013 15:57:50 -0500 |
parents | b6d0c6ceda2c |
children |
line wrap: on
line source
#include <Rcpp.h> using namespace Rcpp; RCPP_FUNCTION_5(NumericVector,convolution_1S_cpp,IntegerVector y,NumericVector mu,NumericVector mu_U,NumericMatrix pN,NumericVector pS) { // result vector NumericVector conv( y.size() ); // convolution // - length of y = length of mu // - rows of pN match mu_U for ( int i=0; i<y.size(); i++ ) { conv[i] = 0.0; for ( int j=0; j<mu_U.size(); j++ ) { if ( mu_U[j]==mu[i] ) { for ( int k=0; k<=y[i]; k++ ) { conv[i] += pS[(y[i]-k)] * pN(j,k); } } } } return conv; }