My opinions about the solutions below ...
Am 13.02.2024 um 12:07 schrieb Thomas Kurz via fpc-pascal:
But, sorry, because we are talking about compile time math, performance
(nanoseconds) in this case doesn't count, IMO.
That's what i thought at first, too. But then I started thinking about
Ok, maybe this example will prove why it's not happening correctly:
program Const_Vs_Var;
Const
A_const = Integer(8427);
B_const = Byte(33);
C_const = Single(1440.5);
Win_Calc = 16854.045817424505380076362374176;
Const_Ans = 16854.045817424505380076362374176 / (8427 + 33 / 1440.5);
>As Jonas said, this would result in less efficient code, since all the math
will then be done at full precision, which is slower.
I don't think I'm explaining it well, I'm saying where there is an entire
formula that the compiler needs to evaluate, what's happening now, is that
each term is being
> But, sorry, because we are talking about compile time math, performance
(nanoseconds) in this case doesn't count, IMO.
That's what i thought at first, too. But then I started thinking about how to
deal with it and sumbled upon difficulties very soon:
a) 8427.0 + 33.0 / 1440.0
An easy case: al
Op 13-2-2024 om 11:39 schreef Bernd Oppolzer via fpc-pascal:
But, sorry, because we are talking about compile time math,
performance (nanoseconds) in this case doesn't count, IMO.
But probably compiled code is then automatically upscaled to the higher
type too, since if one of the terms o
Am 13.02.2024 um 10:54 schrieb Michael Van Canneyt via fpc-pascal:
On Tue, 13 Feb 2024, James Richters via fpc-pascal wrote:
Sorry for the kind of duplicate post, I submitted it yesterday
morning and I
thought it failed, so I re-did it and tried again.. then after that the
original one showe
On Tue, 13 Feb 2024, James Richters via fpc-pascal wrote:
Sorry for the kind of duplicate post, I submitted it yesterday morning and I
thought it failed, so I re-did it and tried again.. then after that the
original one showed up.
A thought occurred to me. Since the complier math is expect
Sorry for the kind of duplicate post, I submitted it yesterday morning and I
thought it failed, so I re-did it and tried again.. then after that the
original one showed up.
A thought occurred to me. Since the complier math is expecting all the
constants would be in full precision, then the co
>>Overall, the intermediate float precision is a very difficult topic.
I agree it's a difficult topic, it all comes down to what your program is
doing, and whether you need performance or precision.
>>And generate the slowest code possible on most platforms.
I can appreciate the need to reduc
It occurs to me that there is merit in reduction of precision to increase
performance, and so I'm trying to learn how to do this correctly, but the
thing that confuses me is that math with constants doesn't seem to be the
same as math with variables, and I don't know why.
It also looks to me like
In this example below, the performance argument does not count IMO,
because the complete computation can be done at compile time.
That's why IMO in all 3 cases the values on the right side should be
computed with
maximum precision (of course independent of the left side), and in an
ideal world
11 matches
Mail list logo