The R Project SVN R

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
42208 6955 d 8 h murdoch /branches/djm-source/ Recreate branch from trunk  
41899 6987 d 14 h ripley /trunk/ tidy up and document R_AllocStringBuffer
make use of it, or tidy up usage
 
41894 6989 d 7 h ripley /trunk/ deriv was returning double not int dims
make use of mkString and ScalarXXX to simplify code
 
41784 6995 d 12 h ripley /trunk/src/ more 'const char *'  
41686 7005 d 8 h ripley /trunk/ more improvements to warning/error messages  
41636 7009 d 6 h ripley /trunk/src/ tidy up inlining some more, including using macros where possible (more widely
usable)
 
41495 7020 d 1 h rgentlem /trunk/src/ a large number of changes to alter the behavior of CHARSXPs so that
they are unique and hashed. This will have some effect on run time, but
for any application which uses a lot of names (like big arrays with
row or column names) the savings are often impressive
 
40705 7104 d 14 h ripley /trunk/ bugfix in duplicate on CHARSXPs
more use of translateChar
 
40319 7151 d 15 h ripley /trunk/ more efficiency tweaks on data frames  
39866 7196 d 8 h duncan /trunk/src/ The following are half the files changed to compile R with C++.
These are the simple, safe changes that keep the stricter compiler happy.

Change variable new to _new, class to klass, this to This or _this, template to Template, not to Not.
Remove some duplicate routine declarations.
Modernize some K&R routine parameter definitions.
Make explicit the signature for some routine pointer types.
Declare mode in creating connection as a const char * const.
Correct some routine declarations.
Add a throw to some routine definitions if in C++ to match built-in definitions.
Made the Clinkage explicit for rwarnc, rexitc. Use enum labels/constants where necessary.

The goals of using g++ are
a) to use a stricter compiler to discover anomolies in our code,
b) be able to use g++ -fdump-translation-unit so that we can more readily
do code analysis on the routines, variables, expressions and at the very
least allow me to identify the use of global variables automatically
and propose refactoring strategies,
c) to explore the pros and cons of using an Object Oriented programming
language C++ as the base language to get extensibility at the system level
and take advantage of some higher-level language features such as exceptions.
 
38952 7279 d 12 h ripley /trunk/ more on the object bit  
38664 7312 d 10 h ripley /trunk/ The terms object was missing "order" if keep.order=TRUE.
Remove strange use of LEVELS in do_termsformula
 
38655 7313 d 0 h ripley /trunk/src/main/ use LCONS for consistency  
38550 7321 d 21 h tlumley /trunk/src/ tracemem tracks copies through arithmetic/math functions, coercion.  
38417 7336 d 9 h ripley /trunk/src/main/ update copyright date  
38327 7352 d 1 h ripley /trunk/ allow raw variables in model frames  
38322 7353 d 13 h ripley /trunk/ allow complex and character vectors in model frames.
model.matrix no longer rejects variable types not used on RHS.
model.matrix.default coerces character vectors to factors, with a warning.
 
37807 7406 d 10 h ripley /trunk/ store row.names 1:n in a compact form  
37384 7465 d 7 h ripley /trunk/src/main/ improve error messages  
37001 7507 d 4 h ripley /trunk/ more visibility attributes  

Show All