On Fri, Dec 11, 2009 at 9:34 PM, Don nos...@nospam.com wrote:
Walter Bright wrote:
Don wrote:
Yeah. Actually the CPU problem is an accepts-invalid bug. It worked on my
Pentium M, but it shouldn't have.
The problem is what DMD does to the uninitialized assignments.
float x;
gets changed
Walter Bright wrote:
Don wrote:
I had a further look at this. The compiler *is* creating doubles and
floats as signalling NaNs. Turns out, that there are slight
differences between processors in the way they treat signalling NaNs,
especially between Intel vs AMD. Intel Core2 triggers SNANs
Hello Walter,
How do we fix the CPU? ;-)
I was thinking 220VAC might help!
That one way to be totally sure what is wrong with your CPU.
Walter Bright wrote:
Don wrote:
Yeah. Actually the CPU problem is an accepts-invalid bug. It worked on
my Pentium M, but it shouldn't have.
The problem is what DMD does to the uninitialized assignments.
float x;
gets changed into
float x = double.snan;
and is implemented with
fld
Don wrote:
I had a further look at this. The compiler *is* creating doubles and
floats as signalling NaNs. Turns out, that there are slight differences
between processors in the way they treat signalling NaNs, especially
between Intel vs AMD. Intel Core2 triggers SNANs when loading floats
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
Brad Roberts wrote:
On Thu, 10 Dec 2009, Walter Bright wrote:
Don wrote:
I had a further look at this. The compiler *is* creating doubles and
floats
as signalling NaNs. Turns out, that there are slight differences
Jeremie Pelletier Wrote:
I myself use the comma operator in for loops and simple assignments such
as 'if(something) x = a, y = b;'.
also:
for(...)
if(test) found=TRUE, break;
if(found)...
On Fri, 04 Dec 2009 20:05:13 -0800, Walter Bright wrote:
Probably the biggest thing is opDispatch!
Sounds great :)
But I think there's a minor typo here:
http://www.digitalmars.com/d/2.0/operatoroverloading.html#Dispatch
class C
{
void opDispatch(string s)(int i)
{
Leandro Lucarella, el 5 de diciembre a las 13:07 me escribiste:
Walter Bright, el 4 de diciembre a las 20:05 me escribiste:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
On Sun, 06 Dec 2009 23:43:16 -0600, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter Bright wrote:
Andrei Alexandrescu wrote:
Not wanting to start a language war, but to just say C has plenty of
design holes and then patronize it with the comment that designing
languages is
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous people who contributed
Don wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous people who
Don wrote:
Lars T. Kyllingstad wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks
Don wrote:
Don wrote:
Lars T. Kyllingstad wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Max Samukha wrote:
I think the following real-world code is a good argument against comma
operators:
template typename T
Q_INLINE_TEMPLATE void QListT::node_destruct(Node *from, Node *to)
{
if (QTypeInfoT::isLarge || QTypeInfoT::isStatic)
while(from != to) --to, delete
klickverbot wrote:
Max Samukha wrote:
I think the following real-world code is a good argument against comma
operators:
template typename T
Q_INLINE_TEMPLATE void QListT::node_destruct(Node *from, Node *to)
{
if (QTypeInfoT::isLarge || QTypeInfoT::isStatic)
while(from != to) --to,
Jeremie Pelletier jerem...@gmail.com wrote in message
news:hfjbs4$v3...@digitalmars.com...
klickverbot wrote:
Max Samukha wrote:
I think the following real-world code is a good argument against comma
operators:
template typename T
Q_INLINE_TEMPLATE void QListT::node_destruct(Node *from,
On Sat, 5 Dec 2009 10:59:12 -0500, Nick Sabalausky a...@a.a wrote:
Max Samukha spam...@d-coding.com wrote in message
news:pkvkh5tvvhie0ga61lrpp5qmt53h5ju...@4ax.com...
On Sat, 5 Dec 2009 10:19:23 -0500, Nick Sabalausky a...@a.a wrote:
bearophile bearophileh...@lycos.com wrote in message
Max Samukha:
Ah, it is simply the unfortunate comma expression evaluated to 3.
Comma expressions need to go. Thanks.
There are so many design holes in the C language that's the other languages
must be really bad to be worse than C :-) Designing languages is hard.
Bye,
bearophile
bearophile wrote:
Max Samukha:
Ah, it is simply the unfortunate comma expression evaluated to 3.
Comma expressions need to go. Thanks.
There are so many design holes in the C language that's the other
languages must be really bad to be worse than C :-) Designing
languages is hard.
Walter Bright wrote:
Andrei Alexandrescu wrote:
Not wanting to start a language war, but to just say C has plenty of
design holes and then patronize it with the comment that designing
languages is hard - well, you better have a hell of an argument up
your sleeve.
C really has only one major
On Fri, 04 Dec 2009 20:05:13 -0800, Walter Bright
newshou...@digitalmars.com wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous people who contributed
Extrawurst wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous
Extrawurst wrote:
Extrawurst wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks
Extrawurst wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous people who contributed
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous people who contributed
Extrawurst wrote:
Walter Bright wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous
There's a large number of changes!
I don't understand what No more comma operators allowed between [ ]. means.
I have tried the D2 compiler a little with this code:
import std.stdio: writeln;
import std.math: pow;
struct S1 { int x; }
void main() {
struct S2 { int x; }
static struct S3
bearophile bearophileh...@lycos.com wrote in message
news:hfdt87$1nu...@digitalmars.com...
There's a large number of changes!
I don't understand what No more comma operators allowed between [ ].
means.
I assume that means:
int[1,2,3] foo; // - formerly created an int[3], now (presumably)
bearophile wrote:
5 ^^ 2 doesn't work yet, I guess it's not implemented yet.
But what do I have to import from math to use 5.2 ^^ 2 ?
Anyway, the need to explicitly import something to use a built-in operator like
^^ looks like a bad idea.
A very bad idea indeed! The idea is to save
Walter Bright, el 4 de diciembre a las 20:05 me escribiste:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Ary Borenszweig:
Can't import std.math : pow; be added to the current module when this
is needed?
Note that this code doesn't compile:
import std.stdio: writeln;
import std.math: pow;
void main() {
writeln(5.2 ^^ 2);
}
This is what the compiler shows:
test.d(5): Error: undefined
== Quote from Don (nos...@nospam.com)'s article
All kinds of stuff is still missing. a ^^ b won't be constant-folded,
for example.
It's desperately important that the language spec becomes stable before
Andrei's book comes out. That leaves only a couple more releases left in
D2 where features
dsimcha wrote:
== Quote from Don (nos...@nospam.com)'s article
All kinds of stuff is still missing. a ^^ b won't be constant-folded,
for example.
It's desperately important that the language spec becomes stable before
Andrei's book comes out. That leaves only a couple more releases left in
D2
On Sat, 05 Dec 2009 05:05:13 +0100, Walter Bright
newshou...@digitalmars.com wrote:
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
Simen kjaeraas wrote:
I get a compile error:
std\conv.d(2506): Error: undefined identifier module traits.staticIndexOf
Line 2506 in std.conv should be changed from
if (std.traits.staticIndexOf!(Unqual!S, uint, ulong) = 0
isSomeString!T)
to
if (std.typetuple.staticIndexOf!(Unqual!S,
On Sun, 06 Dec 2009 03:35:42 +0100, Walter Bright
newshou...@digitalmars.com wrote:
Simen kjaeraas wrote:
I get a compile error:
std\conv.d(2506): Error: undefined identifier module
traits.staticIndexOf
Line 2506 in std.conv should be changed from
if
Probably the biggest thing is opDispatch!
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.053.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.037.zip
Many thanks to the numerous people who contributed to this update.
On Fri, Dec 04, 2009 at 08:05:13PM -0800, Walter Bright wrote:
Probably the biggest thing is opDispatch!
Nay, the bug fixes!
It looks like you guys solved an elusive codegen problem in this release that's
been bugging me since about 2007. Not a showstopper - rearranging some
statements made it
Adam D. Ruppe wrote:
I think it might have been Bugzilla 3521.
Yeah, that was a pretty evil bug. It has been lurking there for probably
18+ years now. It's evil because only a very, very rare set of
circumstances will trip it, and even then it may not be executed or noticed.
I instrumented
42 matches
Mail list logo