From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: volatile vs aliased
Date: Thu, 6 Oct 2005 10:52:59 +0200
Date: 2005-10-06T10:52:59+02:00 [thread overview]
Message-ID: <axg1qv1ymzpy$.1khzy65odwd71.dlg@40tude.net> (raw)
In-Reply-To: 1421562.dbAHjS9XJS@linux1.krischik.com
On Thu, 06 Oct 2005 10:05:38 +0200, Martin Krischik wrote:
> Ludovic Brenta wrote:
>
>> pragma Volatile (Variable) says the compiler must not optimise away
>> any reads or writes to that variable, and that it may not add extra
>> reads or writes beyond those you explicitly request in your program
>> text. You want to use that for hardware registers, where a "read"
>> operation may have a side effect such as changing the device's state.
>
> Interesting! So with pragma Volatile (X) the following two statements are
> not the same:
>
> Y := X * X;
> Y := X ** 2;
>
> Good to know!
BTW, even without Volatile, they are not necessary same!
For intervals X*X /= X**2!
Example:
[-1, 2] * [-1, 2] = [-1, 4]
[-1, 2]**2 = [2, 4]
X**2 is as twice as more accurate than X*X.
To improve accuracy of * and /, arguments need to be analyzed for
dependency. X + X = 2 * X, no matter what.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2005-10-06 8:52 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-05 15:22 volatile vs aliased REH
2005-10-05 18:22 ` Ludovic Brenta
2005-10-05 18:39 ` REH
2005-10-05 19:46 ` Ludovic Brenta
2005-10-05 20:02 ` REH
2005-10-05 20:11 ` Ludovic Brenta
2005-10-05 20:20 ` REH
2005-10-06 5:21 ` Ludovic Brenta
2005-10-05 20:55 ` Simon Wright
2005-10-06 18:32 ` Jeffrey R. Carter
2005-10-05 23:38 ` Randy Brukardt
2005-10-06 0:02 ` tmoran
2005-10-06 13:40 ` REH
2005-10-06 23:52 ` Randy Brukardt
2005-10-06 18:40 ` Jeffrey R. Carter
2005-10-06 19:37 ` Robert A Duff
2005-10-06 23:56 ` Randy Brukardt
2005-10-06 19:08 ` REH
2005-10-06 19:21 ` Ed Falis
2005-10-06 19:37 ` REH
2005-10-06 19:46 ` Robert A Duff
2005-10-06 8:05 ` Martin Krischik
2005-10-06 8:52 ` Dmitry A. Kazakov [this message]
2005-10-06 11:36 ` Rolf
2005-10-06 18:43 ` Björn Persson
2005-10-06 19:03 ` Niklas Holsti
2005-10-07 6:36 ` Martin Krischik
2005-10-07 6:33 ` Martin Krischik
2005-10-07 15:56 ` Adrian Knoth
2005-10-07 18:48 ` Martin Krischik
2005-10-07 22:44 ` REH
2005-10-08 6:10 ` Simon Wright
2005-10-17 2:16 ` Dave Thompson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox