Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #5839

Re: implicit promotion

From Pete Becker <pete@versatilecoding.com>
Organization Roundhouse Consulting, Ltd.
Newsgroups comp.lang.c++
Date 2011-05-30 09:02 -1000
Message-ID <201105300902384725-pete@versatilecodingcom> (permalink)
References (3 earlier) <94gjh4Fr2iU9@mid.individual.net> <Xns9EF55E99BF5BCmyfirstnameosapriee@216.196.109.131> <4de3835d$0$2833$7b1e8fa0@news.nbl.fi> <Xns9EF5BA19FEAFAmyfirstnameosapriee@216.196.109.131> <f1057002-cf65-4f19-bd1a-3cd502aaad69@v31g2000vbs.googlegroups.com>
Subject Re: implicit promotion

Show all headers | View raw


On 2011-05-30 08:39:59 -1000, Öö Tiib said:

> On May 30, 6:17 pm, Paavo Helde <myfirstn...@osa.pri.ee> wrote:
>> Juha Nieminen <nos...@thanks.invalid> wrote 
>> innews:4de3835d$0$2833$7b1e8fa0@news.nbl.fi:
>> 
>> 
>> 
>> 
>> 
>>> Paavo Helde <myfirstn...@osa.pri.ee> wrote:
>>>>> If you write
>> 
>>>>> float tot = (float)sum/tally->size();
>> 
>>>>> you then have a float divided by an int, 1.5.
>> 
>>>> Yes, for getting floating-point division one needs to cast only one
>>>> operand to a floating-point type, the other would be cast to the type
>>>> of the first automatically. In the original line from OP both
>>>> operands were cast, possibly because the original author liked
>>>> symmetry or clarity.
>> 
>>>   Actually, if a float is divided by an int, aren't both of them cast
>>> to double first? (Not that it probably makes any difference in
>>> practice, but just pointing out.)
>> 
>> As far as I can see from 5/9, no, float-int are converted to float-float.
>> There is a thingie called "floating-point promotion" which promotes to
>> double, but this is not mentioned in this section (unlike integral
>> promotion) and seems to be used only for converting floats passed as
>> va_arg arguments.
> 
> My confusion is about the 5/10:
>  The values of the floating operands and the results of floating
> expressions may be represented in greater precision and range than
> that required by the type; the types are not changed thereby.
> 
> I read that the implementation may use double or long double under the
> hood whereonly it wants in floating point arithmetics as long it
> pretends that things still are "float" to the developer.

That allows things like the Intel math processor, which does all 
floating-point  math with 80-bit values (unless you turn this off, 
which makes it much slower), then converts them to the target type 
(32-bit float, 64-bit double). But that affects the value of the result 
(down in the noise bits), not its type.

-- 
  Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The 
Standard C++ Library Extensions: a Tutorial and Reference 
(www.petebecker.com/tr1book)

Back to comp.lang.c++ | Previous | NextPrevious in thread | Find similar


Thread

implicit promotion Ruben Safir <ruben@mrbrklyn.com> - 2011-05-30 01:44 +0000
  Re: implicit promotion red floyd <no.spam.here@its.invalid> - 2011-05-29 20:35 -0700
    Re: implicit promotion ruben safir <ruben@mrbrklyn.com> - 2011-05-30 00:01 -0400
      Re: implicit promotion Ian Collins <ian-news@hotmail.com> - 2011-05-30 16:08 +1200
        Re: implicit promotion Paavo Helde <myfirstname@osa.pri.ee> - 2011-05-30 01:18 -0500
          Re: implicit promotion Juha Nieminen <nospam@thanks.invalid> - 2011-05-30 11:45 +0000
            Re: implicit promotion Öö Tiib <ootiib@hot.ee> - 2011-05-30 05:49 -0700
              Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 08:58 -1000
                Re: implicit promotion Öö Tiib <ootiib@hot.ee> - 2011-05-30 12:01 -0700
                Re: implicit promotion Öö Tiib <ootiib@hot.ee> - 2011-05-30 12:07 -0700
                Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 09:07 -1000
                Re: implicit promotion Öö Tiib <ootiib@hot.ee> - 2011-05-30 12:13 -0700
                Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 09:27 -1000
            Re: implicit promotion Paavo Helde <myfirstname@osa.pri.ee> - 2011-05-30 10:17 -0500
              Re: implicit promotion Juha Nieminen <nospam@thanks.invalid> - 2011-05-30 18:20 +0000
                Re: implicit promotion Paavo Helde <myfirstname@osa.pri.ee> - 2011-05-30 14:06 -0500
                Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 09:23 -1000
                Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 09:29 -1000
                Re: implicit promotion Ruben Safir <ruben@mrbrklyn.com> - 2011-05-31 01:24 +0000
                Re: implicit promotion Ian Collins <ian-news@hotmail.com> - 2011-05-31 13:30 +1200
                Re: implicit promotion ruben safir <ruben@mrbrklyn.com> - 2011-05-31 00:52 -0400
                Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 17:36 -1000
              Re: implicit promotion Öö Tiib <ootiib@hot.ee> - 2011-05-30 11:39 -0700
                Re: implicit promotion Pete Becker <pete@versatilecoding.com> - 2011-05-30 09:02 -1000

csiph-web