On Dec 30, 2010, at 11:25 AM, Matteo Bertini wrote: > Il giorno 30/dic/2010, alle ore 16.03, Simon Urbanek ha scritto: > >> On Dec 30, 2010, at 7:50 AM, Matteo Bertini wrote: >> >>> I'm testing some modifications in arima.c. >>> I've noticed that a big internal array of double (rbar) is usually sparse >>> and I'd like to add an option to store it as key-value mapping. >>> >>> Is there a library function or some other approach already used inside the >>> R core for key-value mappings? >>> >> >> environment created with hash=TRUE, e.g.: >> e = new.env(TRUE, emptyenv()) >> e[["foo"]] = "bar" >> >> You can even set "size" with the expected size if you know it in advance. > > Interesting, but is it possible to use this from the C code? >
Sure, assignment: void defineVar(SEXP symbol, SEXP value, SEXP rho) retrieval: SEXP findVarInFrame(SEXP rho, SEXP symbol) so the above assignment would be in C defineVar(install("foo"), mkString("bar"), env) where env is the environment created above. Cheers, Simon ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel