www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Recent Phobos changes

reply Jason House <jason.james.house gmail.com> writes:
There's been a flurry of commits lately. I noticed two strange things:
1. Unlike other intrinsics, bswap was not marked nothrow (only pure). This
seems odd considering what the function does.
2. The math changes removed a lot of float-based prototypes when adding faster
functions. That will cause difficulty for those who use floats. Ignoring speed
loss for conversions, this will also require explicit casts.

Are these bugs, or am I missing something?
Feb 26 2009
next sibling parent reply Don <nospam nospam.com> writes:
Jason House wrote:
 There's been a flurry of commits lately. I noticed two strange things:
 1. Unlike other intrinsics, bswap was not marked nothrow (only pure). This
seems odd considering what the function does.
 2. The math changes removed a lot of float-based prototypes when adding faster
functions. That will cause difficulty for those who use floats. Ignoring speed
loss for conversions, this will also require explicit casts.
 
 Are these bugs, or am I missing something?

You're missing an intermediate compiler release <g>. You're seeing stuff in a peculiar intermediate state. Yes, there are weird bugs.
Feb 26 2009
parent reply Jason House <jason.james.house gmail.com> writes:
Don Wrote:

 Jason House wrote:
 There's been a flurry of commits lately. I noticed two strange things:
 1. Unlike other intrinsics, bswap was not marked nothrow (only pure). This
seems odd considering what the function does.
 2. The math changes removed a lot of float-based prototypes when adding faster
functions. That will cause difficulty for those who use floats. Ignoring speed
loss for conversions, this will also require explicit casts.
 
 Are these bugs, or am I missing something?

You're missing an intermediate compiler release <g>. You're seeing stuff in a peculiar intermediate state. Yes, there are weird bugs.

I'm hoping that pointing out stuff when I see it is helpful because they could get missed. I don't know of the proper way to point out things or if I should just stay silent on the sidelines...
Feb 26 2009
next sibling parent Don <nospam nospam.com> writes:
Jason House wrote:
 Don Wrote:
 
 Jason House wrote:
 There's been a flurry of commits lately. I noticed two strange things:
 1. Unlike other intrinsics, bswap was not marked nothrow (only pure). This
seems odd considering what the function does.
 2. The math changes removed a lot of float-based prototypes when adding faster
functions. That will cause difficulty for those who use floats. Ignoring speed
loss for conversions, this will also require explicit casts.

 Are these bugs, or am I missing something?

in a peculiar intermediate state. Yes, there are weird bugs.

I'm hoping that pointing out stuff when I see it is helpful because they could get missed. I don't know of the proper way to point out things or if I should just stay silent on the sidelines...

Pointing out inconsistencies in naming would be particularly helpful. Also aspects of design or nomenclature which are confusing. Bugs on non-released code are not usually useful. Bugs on released code should go into Bugzilla.
Mar 02 2009
prev sibling parent reply Leandro Lucarella <llucax gmail.com> writes:
Jason House, el 26 de febrero a las 12:13 me escribiste:
 Don Wrote:
 
 Jason House wrote:
 There's been a flurry of commits lately. I noticed two strange things:
 1. Unlike other intrinsics, bswap was not marked nothrow (only pure). This
seems odd considering what the function does.
 2. The math changes removed a lot of float-based prototypes when adding faster
functions. That will cause difficulty for those who use floats. Ignoring speed
loss for conversions, this will also require explicit casts.
 
 Are these bugs, or am I missing something?

You're missing an intermediate compiler release <g>. You're seeing stuff in a peculiar intermediate state. Yes, there are weird bugs.

I'm hoping that pointing out stuff when I see it is helpful because they could get missed. I don't know of the proper way to point out things or if I should just stay silent on the sidelines...

Good commit messages can help a lot here. Something like "this commit is incomplete because float stuff is missing but this will be added in the future" could help people who like to review the code to know if missing stuff is intentional or an error/omission. -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- CAYO HUGO CONZI --- TENIA PUESTA PELUCA -- Crónica TV
Mar 02 2009
parent Don <nospam nospam.com> writes:
Leandro Lucarella wrote:
 Jason House, el 26 de febrero a las 12:13 me escribiste:
 Don Wrote:

 Jason House wrote:
 There's been a flurry of commits lately. I noticed two strange things:
 1. Unlike other intrinsics, bswap was not marked nothrow (only pure). This
seems odd considering what the function does.
 2. The math changes removed a lot of float-based prototypes when adding faster
functions. That will cause difficulty for those who use floats. Ignoring speed
loss for conversions, this will also require explicit casts.

 Are these bugs, or am I missing something?

in a peculiar intermediate state. Yes, there are weird bugs.

could get missed. I don't know of the proper way to point out things or if I should just stay silent on the sidelines...

Good commit messages can help a lot here. Something like "this commit is incomplete because float stuff is missing but this will be added in the future" could help people who like to review the code to know if missing stuff is intentional or an error/omission.

I gave the wrong impression, neither of the things which were reported were bugs. The float stuff has never been present on D1. There are no speed impacts, and no casts are required. The reported bug is false. The only consequence of the float stuff was if you're using 'auto' heavily, and even then, it's doubtful that float overloads are actually helpful. The point I was trying to make was that (unlike all other dsource projects), you don't necessarily know which compiler is being used. It makes reviewing the code pretty difficult! Don't be alarmed.
Mar 03 2009
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 There's been a flurry of commits lately. I noticed two strange
 things: 1. Unlike other intrinsics, bswap was not marked nothrow
 (only pure). This seems odd considering what the function does.

Look earlier in the file, there's a nothrow: statement, which marks the rest of the file as being nothrow.
Feb 26 2009