Então Manoel, eu tentei usar o Rcpp mas meu computador trava de vez quando uso ele (eu pensei que era problema com o pacote mesmo), ai fui pesquisando e conseguir mexer no C (sem usar o Rcpp) , quando testei as funções 1 por 1 (para ver se obtinha os mesmo resultados do que minha função em codigo R) ele roda certinho...eu nao sei porque da esse erro quando rodo varias vezes

Carlos Trucíos Maza
*     : ctrucios@gmail.com




Em 6 de fevereiro de 2013 14:47, Manoel Galdino <mcz.fea@gmail.com> escreveu:
Olha, nunca chamei C do R (mas deveria!). Em todo caso, você não parece estar usando o pacote Rcpp. Não seria melhor com o Rcpp?

abç
Manoel


2013/2/6 ctrucios <ctrucios@gmail.com>
Boa tarde pessoal,

Estou tentando utilizar C e R juntos, fiz 3 funções em C e chamo elas do R. Mas estive testando e testando e deu este erro. Na verdade as vezes da este erro e as vezes trava de vez.

Não sei se é pela forma em que estou programando em C (na verdade estou bem enferrujado e estou utilizando ponteiros)  deixo aqui  o código quem puder de uma olhadinha.


Imagem inline 2

Na verdade é um mesmo código que faço três vezes (assim que descobri o erro).
O problema aparece quando rodo mais de dois vezes (por isso que aqui copiei o codigo 3 vezes)

source("volatnGarch.r")
source("sbootGarch.r")
source("forebootGarch.r")
yb = rnorm(10000)

d = 1
p=1
q=1
garchOrder = c(p,q)
Coeff_b = c(0.01,0.1,0.85)
aux1 =  Coeff_b[1]/(1-Coeff_b[2]-Coeff_b[3])
aux3 = cumsum(c(1,1))
C = sbootGarch(aux1,yb,Coeff_b,garchOrder)
A = volatnGarch(yb,Coeff_b,garchOrder)
e_b = rnorm(5)
n.ahead = length(e_b)
B = forebootGarch(yb,e_b,A[[1]],Coeff_b,garchOrder)
rm(list=ls(all=TRUE))

source("volatnGarch.r")
source("sbootGarch.r")
source("forebootGarch.r")
yb = rnorm(10000)

d = 1
p=1
q=1
garchOrder = c(p,q)
Coeff_b = c(0.01,0.1,0.85)
aux1 =  Coeff_b[1]/(1-Coeff_b[2]-Coeff_b[3])
aux3 = cumsum(c(1,1))
C = sbootGarch(aux1,yb,Coeff_b,garchOrder)
A = volatnGarch(yb,Coeff_b,garchOrder)
e_b = rnorm(5)
n.ahead = length(e_b)
B = forebootGarch(yb,e_b,A[[1]],Coeff_b,garchOrder)
rm(list=ls(all=TRUE))

source("volatnGarch.r")
source("sbootGarch.r")
source("forebootGarch.r")
yb = rnorm(10000)

d = 1
p=1
q=1
garchOrder = c(p,q)
Coeff_b = c(0.01,0.1,0.85)
aux1 =  Coeff_b[1]/(1-Coeff_b[2]-Coeff_b[3])
aux3 = cumsum(c(1,1))
C = sbootGarch(aux1,yb,Coeff_b,garchOrder)
A = volatnGarch(yb,Coeff_b,garchOrder)
e_b = rnorm(5)
n.ahead = length(e_b)
B = forebootGarch(yb,e_b,A[[1]],Coeff_b,garchOrder)
rm(list=ls(all=TRUE))


as funções em C seguem no seguinte link.






_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--
Manoel Galdino
https://sites.google.com/site/galdinomcz/

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.