Rcpp Version 1.0.14
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Variables
_
b
c
d
f
g
k
m
n
r
t
y
Typedefs
c
d
e
f
g
i
l
n
p
r
s
t
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerator
r
v
Related Symbols
o
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
x
y
Functions
a
c
d
e
f
g
i
l
m
o
p
r
s
Variables
Typedefs
Macros
_
a
b
c
d
e
g
h
i
j
l
m
n
o
r
s
t
u
v
y
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerator
Friends
Macros
Loading...
Searching...
No Matches
convolve10_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 version expands convolve8_cpp by making Vec mimic the structure of
4
// NumericVector. It peforms well, so this is is not the structure of
5
// NumericVector that is the problem. So what is it then ?
6
//
7
// could it be because NumericVector is in a different library than
8
// this code, so that operator[] is not inlined ?
9
//
10
// clues:
11
// - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3538.html
12
13
#include <
Rcpp.h
>
14
15
#include "
convolve10_cpp.h
"
16
17
RcppExport
SEXP
convolve10cpp
(SEXP a, SEXP b){
18
Rcpp::NumericVector
xa(a);
19
Rcpp::NumericVector
xb(b);
20
int
n_xa = xa.
size
() ;
21
int
n_xb = xb.
size
() ;
22
int
nab = n_xa + n_xb - 1;
23
Rcpp::NumericVector
xab(nab);
24
25
Vec
vab(xab.
begin
()), va(xa.
begin
()), vb(xb.
begin
()) ;
26
27
for
(
int
i = 0; i < n_xa; i++)
28
for
(
int
j = 0; j < n_xb; j++)
29
vab[i + j] += va[i] * vb[j];
30
31
return
xab ;
32
}
17
RcppExport
SEXP
convolve10cpp
(SEXP a, SEXP b) {
…
}
33
34
#include "
loopmacro.h
"
35
LOOPMACRO_CPP
(
convolve10cpp
)
36
RcppExport
#define RcppExport
Definition
RcppCommon.h:141
Rcpp.h
Rcpp::Vector
Definition
Vector.h:35
Rcpp::Vector::size
R_xlen_t size() const
Definition
Vector.h:275
Rcpp::Vector::begin
iterator begin()
Definition
Vector.h:333
Vec
Definition
convolve10_cpp.h:16
convolve10cpp
RcppExport SEXP convolve10cpp(SEXP a, SEXP b)
Definition
convolve10_cpp.cpp:17
convolve10_cpp.h
loopmacro.h
LOOPMACRO_CPP
#define LOOPMACRO_CPP(name)
Definition
loopmacro.h:12
inst
examples
ConvolveBenchmarks
convolve10_cpp.cpp
Generated on Sun Jan 12 2025 11:21:42 for Rcpp Version 1.0.14 by
1.9.8