forked from RcppCore/Rcpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
93 lines (53 loc) · 2.42 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Current active misfeatures
o Rcpp.package.skeleton() does not work with supplied functions,
eg Rcpp.package.skeleton("foo", list=c("funA", "funB")) ends
in error.
o Sugar ops unit tests on +, -, ... need double, fail with int
o DataFrame::create(Named("a")=b, Named("b")=b) fails with
NumericVectors
Documentation
o Finish the quickref vignette
o Maybe a vignette about stats functions
o Add a vignette about the API
API
o Rcpp::Factor and Rcpp::Ordered
o Fast indexing and g++ 4.5.0 or later: open issue of why this compiler
gets upset when the previous version(s) coped just fine
o Vector::resize
Modules
o Class inheritance. Reflect C++ inheritance at the R level.
Syntactic sugar
o logical indexing, ie NumericVector( LogicalVector )
o recycling : binary operators and math functions of 2 or more arguments
need to recycle their arguments.
o not sure rep should be lazy, i.e. rep( x, 4 ) fetches x[i] 4 times,
maybe we should use LazyVector like in outer to somehow cache the
result when it is judged expensive to calculate
o crossprod
o Vector * Matrix, Matrix * Matrix
o operator%
o operator/ needs to handle the case of division by 0
o matrix functions : apply
o for character vectors: nchar, grepl, sub, gsub
o Compound operators: ++,--,+=, -=, ...
o other statistical distribution functions :
multinom : this only has dmultinom which is handled in R, so
maybe we can skip it
signrank : has the weird call to .C( "signrank_free" ), need
to understand that
wilcox : has the weird call to .C( "wilcox_free" ), need to
understand that
tukey : only has p and q, no r or d
o other random generators:
rmultinom : tricky because it generates a matrix
rnbeta : the R version is implemented in R (not in C),
should we still have it in Rcpp in compile code ?
rnf : idem
rnt : idem
Testing
o all r* functions : rnorm, etc ...
o many dpq functions have not been tested yet
o new autogenerated sugar functions: cos, acosh, atan, cos, cosh, log,
log10, sqrt, sin, sinh, tan, tanh
o attributes (although our tests currently use attributes extensively
so it's not clear what else we'd add here)