bearophile wrote: > kai: > >> I was scared off by the warning that D 2.0 support is experimental. > > LDC is D1 still, mostly :-( > And at the moment it uses LLVM 2.6. > LLVM 2.7 contains a new optimization that can improve that code some more. > > >> Good to know, thanks (thats actually a great feature for scientists!). > > In theory D is a bit fit for numerical computations too, but there is lot of > work to do still. And some parts of D design will need to be improved to help > numerical code performance. > > From my extensive tests, if you use it correctly, D1 code compiled with LDC > can be about as efficient as C code compiled with GCC or sometimes a little > more efficient. > > ------------- > > Steven Schveighoffer: >> In C/C++, the default value for doubles is 0. > > I think in C and C++ the default value for doubles is "uninitialized" (that > is anything). > That depends. In C/C++, the default value for any global variable is to have all bits set to 0 whatever that means for the actual data type. The default value for local variables and malloc/new memory is "whatever was in this place in memory before" which can be anything. The default value for calloc is to have all bits to 0 as for global variables.
In the OP code, the malloc will probably return memory that has never been used before, therefore probably initialized to 0 too (OS dependent). Jerome -- mailto:jeber...@free.fr http://jeberger.free.fr Jabber: jeber...@jabber.fr
signature.asc
Description: OpenPGP digital signature