R 패키지 "RcppArmadillo"로 작업했습니다. 난 이미 (그들은 디버깅되어 사용하기 괜찮)이 cxxfunction을 정의하는 데 사용 :인라인 C++ 본체에서 사용자 지정 R 함수 호출
calc1 <- cxxfunction(signature(A="integer", B="integer"),...)
calc2 <- cxxfunction(signature(A="integer", K="integer"),...)
지금은 주요 또 다른 cxxfunction의 신체 부위를 쓰고 있어요 거기 루프의 내 CALC1 및 CALC2를 호출 할 예 :
body_main = '
...
for(int i=0; i<N; i++){
// This is where I want to call calc1.
// (?)
for(int j=0; j<N; j++){
// This is where I want to call calc2.
// (?)
}
}
'
어쨌든 내가 이룰 수 있습니까? 인라인 방식으로 할 수 있습니까?
나는있는 사람들이 신체 부위 내에서 서브 루틴을 쓰기 RcppArmadillo (또는 Rcpp, RcppGSL)의 인라인 사용의 예를 보지 못했다 - 특히, 나는 코드는 다음과 같은 의미 :
body_example = '
// Subroutine
SEXP(/*or something else*/) func_0(SEXP A, SEXP B){
...
return ...;
}
// Then call it from the main part
...
AB = func_0(A, B);
...
'
내 질문은 아마 순진 해 보이지만 그럼에도 불구하고 그것은 나를 괴롭힌다. 아무도 이것을 설명 할 수 있습니까? 나는 그것을 많이 감사 할 것이다!
많은 감사, 더크! 나는 SourceCpp이 나의 경우를 위해 일해야한다고 생각하지만 - 당신의 지식에 따라, SourceCpp이 Armadillo와 함께 작업 할 수 있습니까? 아니면 say, blas를 사용하여'calc1'과'calc2'를 재 프로그램해야합니까? - 나는'arma :: mat'과 같은 var 타입을 사용하고있었습니다 ... – Clavichord
물론입니다. 방금 시작한 [Rcpp Gallery] (http://gallery.rcpp.org) 사이트에서 Armadillo 예제를 참조하십시오. –
완벽한! 그 사이트는 내가 필요로하는 모든 것을 나에게 명확하게 설명한다. 감사! – Clavichord