r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

BrianH
14-Jul-2010
[17524]
I don't consider anything. Ladislav read the standards, and as an 
expert he set the rules. I am refering to what he said when he did 
so, and my experience with other languages that use IEEE754. The 
behavior needs to be exactly consistent on Windows and Linux. If 
they don't match, one of them is wrong. Pick one.
Andreas
14-Jul-2010
[17525]
When using double precision, the current Windows behaviour is wrong. 
For now, this is just my opinion, as I seem to remember round-to-nearest 
is a single precision thing, but I'll have to re-read the standard 
for that.
BrianH
14-Jul-2010
[17526]
And this is not a matter of Linux's or Windows' behavior, it is a 
matter of REBOL's behavior.
Andreas
14-Jul-2010
[17527]
the behaviour of the current implementation of REBOL 3 for Windows
 -- satisfied?
BrianH
14-Jul-2010
[17528]
No. MOLD is not supposed to be a platform-specific function. All 
platform-specific behavior is a bug.
Ladislav
14-Jul-2010
[17529x2]
Well, Linux is better, and I *could* get the same behaviour if using 
gcc in Windows, but not if using microsoft compiler...
So, OK, it is a bug of MS compiler, which I cannot work-around in 
any reasonable way
Andreas
14-Jul-2010
[17531x2]
Brian: do you in fact read what I write? Or just single our words 
to pick on?
When using double precision, the behaviour of the current implementation 
of REBOL 3 for Windows is wrong.
 -- Do I imply anywhere in this sentence that this is not a bug?
BrianH
14-Jul-2010
[17533]
I read it. I was saying that *as a hard rule* platform-specific behavior 
is reserved for only a few functions in R3. For other functions it 
is a bug. I'm not satisfied until that bug is at least reported. 
Am I clear now?
Andreas
14-Jul-2010
[17534]
Feel free to report it.
Ladislav
14-Jul-2010
[17535]
Nobody will correct it, though, since it is generated by the MS compiler
BrianH
14-Jul-2010
[17536x2]
Andreas, I am not qualified to do so. I haven't read the standard, 
don't know the code involved, and don't run Linux.
Ladislav, why can't you write your own formatter, or use a consistent 
third-party one? At least when you detect a known error during config?
Andreas
14-Jul-2010
[17538]
Brian, you are perfectly qualified. mold/all 0.1 on Windows differs 
from mold/all 0.1 on Linux. If you are only satisfied when this is 
reported as bug, feel free to report it.
BrianH
14-Jul-2010
[17539]
But I can't say which is the buggy one.
Ladislav
14-Jul-2010
[17540]
Ladislav, why can't you write your own formatter
 - I can do so in GCC, but not in MS C, sorry
Andreas
14-Jul-2010
[17541]
Brian, you don't have to.
Ladislav
14-Jul-2010
[17542]
(unsupported)
Andreas
14-Jul-2010
[17543]
Report the observed difference and the expectation that this should 
not differ. The rest is up to whoever feels qualified to contribute 
more detailed observations and/or implementing a fix.
BrianH
14-Jul-2010
[17544x2]
Andreas, sorry, CureCode doesn't let you report a platform-specific 
bug without specifying the platform. I can't just say "it's not consistent" 
without it being a useless bug report. We need a report from a person 
who is qualified to make an expert decision.
At the very least, it means that any report I make would have to 
be rewritten (or comments to the same effect) by Ladislav, or someone 
equivalently qualified.
Ladislav
14-Jul-2010
[17546]
I can admit it is a bug, by I cannot really correct it in MS C without 
"too much expense"
Andreas
14-Jul-2010
[17547x2]
http://www.curecode.org/rebol3/ticket.rsp?id=1633
See, that was not so hard to report, was it?
BrianH
14-Jul-2010
[17549]
Just like I have to rewrite all of the bug reports about R3's module 
system before they can be useful. It sucks, but we need an expert.
Andreas
14-Jul-2010
[17550]
Now it is in the system, on those more knowledgeable on the matter 
can refine it.
BrianH
14-Jul-2010
[17551x2]
Ladislav?
What do you mean by "too much expense"?
Ladislav
14-Jul-2010
[17553]
Well, sure, it is a report, but, as I said, I am not going to correct 
it (would be too expensive)
Andreas
14-Jul-2010
[17554]
That's not a problem. If it is not possible to fix, Carl or someone 
else can decide that this behaviour is ok and mark it as won't fix.
Ladislav
14-Jul-2010
[17555x2]
To implement my own formatter, MS disallows me to use the best datatype 
for it
So, I have to use their formatting function, which produces this 
result
BrianH
14-Jul-2010
[17557]
Please put that in a comment of bug#1633 - it might help justify 
not using MS's compiler.
Steeve
14-Jul-2010
[17558x2]
Ladislav, I would like to see how you write that formatter under 
GCC, Is that too much code that you can't show it us ?
If so, forget it
Ladislav
14-Jul-2010
[17560x3]
Hmm, I should not do it, I suppose.
But, the principle is quite simple: multiply the number by a "suitable" 
power of 10 and convert the result to integer. The trouble is, that 
you need to use a high precision multiplication and power.
(which is unsupported in MS compiler)
Steeve
14-Jul-2010
[17563]
You mean, you don't do it using an incremental way, each digit separatly 
?
Ladislav
14-Jul-2010
[17564]
No
BrianH
14-Jul-2010
[17565]
What version of the MS compiler is being used? Can it be upgraded, 
and would that help? Can the Intel compiler be used, or the DMC++?
Ladislav
14-Jul-2010
[17566]
Only "ancient" versions of MS compiler support the extended precision
Andreas
14-Jul-2010
[17567]
GCC should suffice. And as Carl is already using it for the Host 
Kit, it may also be possible.
Gabriele
15-Jul-2010
[17568x4]
Max: this is very funny. normal MOLD, afaik, is only there for backward 
compatibilty. i personally almost always use /all, when i don't use 
it it's because i'm molding something i just loaded or something 
like that, eg. i know that i don't need the /all, bet even if i used 
it it would make no difference at all.
it's very very hard imho to come up with reason NOT to use /all...
if you try to DO a script saved with SAVE/all or MOLD/all, it will 
fail if it contains functions or objects.
 - show me an example.
The primary purpose of SAVE is to save scripts that are to later 
be processed by DO.

 - weird, i always use save and load to save and load data. but, even 
 if that was the case, save/all would work just as well, so this is 
 a silly argument.
Graham
15-Jul-2010
[17572]
Hmm... I recall saving rebol objects with save/all and not being 
able to load them again properly
Gabriele
15-Jul-2010
[17573]
but SAVE is not only for DED, THAT is my point.

 - in that case, SAVE/ALL is *BETTER* than SAVE. there is no argument 
 about that.