[Rcpp-devel] Rcpp sugar preserving attributes
    Dirk Eddelbuettel 
    edd at debian.org
       
    Sun Jan  4 21:50:32 CET 2015
    
    
  
On 4 January 2015 at 19:58, Søren Højsgaard wrote:
| Thanks! Probably a stupid question, but where are these functions defined? In math.h I see
| 
| VECTORIZED_MATH_1(log,::log)
| 
| but - where to look for the implementation?
You mean where VECTORIZED_MATH is defined?  
Let me introduce you to my friend 'ag' (with a top of the hat to Kevin ...)
edd at max:~/git/rcpp/inst/include/Rcpp/sugar(master)$ ag VECTORIZED_MATH 
block/Vectorized_Math.h
83:#define VECTORIZED_MATH_1(__NAME__,__SYMBOL__)                               \
functions/math.h
25:VECTORIZED_MATH_1(exp,::exp)
26:VECTORIZED_MATH_1(acos,::acos)
27:VECTORIZED_MATH_1(asin,::asin)
28:VECTORIZED_MATH_1(atan,::atan)
29:VECTORIZED_MATH_1(ceil,::ceil)
30:VECTORIZED_MATH_1(ceiling,::ceil)
31:VECTORIZED_MATH_1(cos,::cos)
32:VECTORIZED_MATH_1(cosh,::cosh)
33:VECTORIZED_MATH_1(floor,::floor)
34:VECTORIZED_MATH_1(log,::log)
35:VECTORIZED_MATH_1(log10,::log10)
36:VECTORIZED_MATH_1(sqrt,::sqrt)
37:VECTORIZED_MATH_1(sin,::sin)
38:VECTORIZED_MATH_1(sinh,::sinh)
39:VECTORIZED_MATH_1(tan,::tan)
40:VECTORIZED_MATH_1(tanh,::tanh)
42:VECTORIZED_MATH_1(abs,::fabs)
44:VECTORIZED_MATH_1(gamma      , ::Rf_gammafn     )
45:VECTORIZED_MATH_1(lgamma     , ::Rf_lgammafn    )
46:VECTORIZED_MATH_1(digamma    , ::Rf_digamma     )
47:VECTORIZED_MATH_1(trigamma   , ::Rf_trigamma    )
48:VECTORIZED_MATH_1(tetragamma , ::Rf_tetragamma  )
49:VECTORIZED_MATH_1(pentagamma , ::Rf_pentagamma  )
50:VECTORIZED_MATH_1(expm1      , ::expm1          )
51:VECTORIZED_MATH_1(log1p      , ::log1p          )
59:VECTORIZED_MATH_1(factorial  , ::Rcpp::internal::factorial   )
60:VECTORIZED_MATH_1(lfactorial , ::Rcpp::internal::lfactorial  )
68:VECTORIZED_MATH_1(trunc, ::Rf_ftrunc)                // truncates to zero (cf Writing R Extension, 6.7.3 Numerical Utilities)
edd at max:~/git/rcpp/inst/include/Rcpp/sugar(master)$ 
[ ag is "just" a version of 'grep -r' on steroids, which knows to skip .git,
.svn etc pp -- recommended. In Debian/Ubuntu in package silversearcher-ag as
there already was a package called ag. ]
Dirk
-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
    
    
More information about the Rcpp-devel
mailing list