Rcpp Version 1.0.9
convolve4_cpp.cpp
Go to the documentation of this file.
1
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
2
3
// This is a rewrite of the 'Writing R Extensions' section 5.10.1 example
4
5
#include <
Rcpp.h
>
6
7
RcppExport
SEXP
convolve4cpp
(SEXP a, SEXP b) {
8
Rcpp::NumericVector
xa(a);
9
Rcpp::NumericVector
xb(b);
10
int
n_xa = xa.
size
() ;
11
int
n_xb = xb.
size
() ;
12
int
nab = n_xa + n_xb - 1;
13
Rcpp::NumericVector
xab(nab,0.0);
14
15
double
* pa = xa.
begin
() ;
16
double
* pb = xb.
begin
() ;
17
double
* pab = xab.
begin
() ;
18
int
i,j=0;
19
for
(i = 0; i < n_xa; i++)
20
for
(j = 0; j < n_xb; j++)
21
pab[i + j] += pa[i] * pb[j];
22
23
return
xab ;
24
}
25
26
#include "
loopmacro.h
"
27
LOOPMACRO_CPP
(
convolve4cpp
)
28
29
RcppExport
#define RcppExport
Definition:
RcppCommon.h:140
Rcpp.h
Rcpp::Vector
Definition:
Vector.h:36
Rcpp::Vector::size
R_xlen_t size() const
Definition:
Vector.h:276
Rcpp::Vector::begin
iterator begin()
Definition:
Vector.h:334
convolve4cpp
RcppExport SEXP convolve4cpp(SEXP a, SEXP b)
Definition:
convolve4_cpp.cpp:7
loopmacro.h
LOOPMACRO_CPP
#define LOOPMACRO_CPP(name)
Definition:
loopmacro.h:12
inst
examples
ConvolveBenchmarks
convolve4_cpp.cpp
Generated on Sat Jul 9 2022 09:14:51 for Rcpp Version 1.0.9 by
1.9.1