[Rcpp-commits] r471 - pkg

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue Jan 26 18:30:03 CET 2010


Author: romain
Date: 2010-01-26 18:30:03 +0100 (Tue, 26 Jan 2010)
New Revision: 471

Added:
   pkg/NEWS
Log:
first pass at a NEWS file

Added: pkg/NEWS
===================================================================
--- pkg/NEWS	                        (rev 0)
+++ pkg/NEWS	2010-01-26 17:30:03 UTC (rev 471)
@@ -0,0 +1,52 @@
+
+0.7.4	(under development)
+    o	matrix matrix-like indexing using operator() for all vector 
+    	types : IntegerVector, NumericVector, RawVector, CharacterVector
+    	LogicalVector, GenericVector and ExpressionVector. 
+
+    o	an intermediate template class SimpleVector has been added. All
+    	simple vector classes are now generated from the SimpleVector 
+    	template : IntegerVector, NumericVector, RawVector, CharacterVector
+    	LogicalVector.
+
+    o	an intermediate template class SEXP_Vector has been added to 
+    	generate GenericVector and ExpressionVector. 
+
+    o	the clone template function was introduced to explicitely
+    	clone an RObject vy duplicating the SEXP it encapsulates.
+
+    o 	the as template is now smarter. The template now attempts to 
+    	build an object of the requested template parameter T by using the
+    	constructor for the type taking a SEXP. This allows third party code
+    	to create a class Foo with a constructor Foo(SEXP) to have 
+    	as<Foo> for free.
+
+    o	wrap becomes a template. For an object of type T, wrap<T> uses
+    	implicit conversion to SEXP to first convert the object to a SEXP
+    	and then uses the wrap(SEXP) function. This allows third party 
+    	code creating a class Bar with an operator SEXP() to have 
+    	wrap for free.
+
+    o	all specializations of wrap :  wrap<double>, wrap< vector<double> >
+    	use coercion to deal with missing values (NA) appropriately.
+
+    o	configure has been withdrawn. C++0x features can now be activated
+    	by setting the RCPP_CXX0X environment variable to "yes".
+
+    o	new template r_cast<int> to facilitate conversion of one SEXP
+    	type to another. This is mostly intended for internal use and 
+    	is used on all vector classes
+
+    o	Environment now takes advantage of the augmented smartness
+    	of as and wrap templates. If as<Foo> makes sense, one can 
+    	directly extract a Foo from the environment. If wrap<Bar> makes
+    	sense then one can insert a Bar directly into the environment. 
+    	Foo foo = env["x"] ;  /* as<Foo> is used */
+	Bar bar ;
+	env["y"] = bar ;      /* wrap<Foo> is used */    	
+
+    o	Environment::assign becomes a template and also uses wrap to 
+    	create a suitable SEXP
+
+    o	Many more unit tests, now totalling 136 test functions
+    	



More information about the Rcpp-commits mailing list