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 5 h murdoch /branches/djm-source/ Recreate branch from trunk  
42101 6965 d 10 h ripley /trunk/ typo in code for complex 'base' for logs  
42095 6967 d 4 h ripley /trunk/src/ tidy up primitive log*  
42093 6968 d 4 h ripley /trunk/ Take the rest of the S4 Math group primitive,
remove gammaCody from the S3 Math group (it was not even
documented as generic, and it no longer is).
The union of the S4 Math and Math2 groups is now the S3 Math group
 
42069 6970 d 14 h ripley /trunk/ make use of log2/log10 even on Solaris where (0) is -HUGE_VAL, not -Inf.
add comment as to what 'working log' means
 
41713 7003 d 2 h ripley /trunk/src/main/ improvements to error messages  
41712 7003 d 5 h ripley /trunk/ add experimental showCalls option.
improvements to layout of error messages, and to some messages.
 
41680 7005 d 9 h ripley /trunk/ improvements to the handling of warning/error messages  
41631 7009 d 12 h ripley /trunk/src/ work on inlining
- allow C99 model
- use static inlining in units where function is used a lot
export isS4, asS4 (don't use them internally, rather macros)
work around an optimization bug in currnt gcc pre-4.3.0
 
41221 7040 d 9 h ripley /trunk/ separate internal code from trunc from one-arg Math group.
check arity on one-arg Math group before methods dispatch.
check args of primitve group generics in checkS3methods (but not names for operators)
 
41006 7056 d 12 h ripley /trunk/ tidy up changes re S4 bit.
CLEAR_ATTRIB also needs to clear the S4 bit.
 
41002 7057 d 0 h jmc /trunk/ use DUPLICATE_ATTRIB instead of SET_ATTRIB to copy object, S4 bits correctly  
40419 7138 d 20 h ripley /trunk/ allow min/max/range to handle character data.
small change to message to allows messages without \n (more to come)
update some copyright dates
 
40141 7170 d 21 h maechler /trunk/ as.matrix.data.frame() and data.matrix() now give empty dimnames[[1]] when "sensible"  
39866 7196 d 4 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.
 
39742 7211 d 0 h duncan /trunk/src/main/ Avoid coercing an INTSXP operand to a REALSXP in arithmetic when other
operand is a REALSXP and so avoid making and having extra
copy. Significant for very big vector. In some circumstances we see a
speed up of a factor of 2. But there are lots of issues with GC,
cache, vsize/nsize command line arguments which make getting good
performance benchmarks difficult. Running on base-Ex.r, etc. we see
at least no decrease in performance!
 
38666 7312 d 5 h ripley /trunk/ more tweaks to what is exported (especially addDLL).
fix bug in freeing of registered symbols: was missing .External symbols.
 
38550 7321 d 18 h tlumley /trunk/src/ tracemem tracks copies through arithmetic/math functions, coercion.  
37954 7391 d 22 h maechler /trunk/ df(*, ncp)  
37600 7425 d 10 h ripley /trunk/ allow atan2(numeric, complex)  

Show All