220 31876 <582b35dc-0a1b-4a3e-92bc-881a1ef2d946@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: lev@compuserve.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Math constants
Date: Wed, 29 Mar 2017 04:34:10 -0700 (PDT)
Lines: 224
Approved: news@gmane.org
Message-ID: <582b35dc-0a1b-4a3e-92bc-881a1ef2d946@isocpp.org>
References: <ad05f2f2-609d-4fd3-90f7-d66c74e168b7@isocpp.org>
 <CAAygHNOvBFjUryaTbp7UT-d1mVyt8vXYptCatOpfD1DgGs-m8A@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_164_1067762707.1490787250753"
X-Trace: blaine.gmane.org 1490787255 27676 195.159.176.226 (29 Mar 2017 11:34:15 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Wed, 29 Mar 2017 11:34:15 +0000 (UTC)
Cc: bdawes@acm.org
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCL6TUMOQUJRBM5X53DAKGQERVI5A3Y@isocpp.org Wed Mar 29 13:34:11 2017
Return-path: <std-proposals+bncBCL6TUMOQUJRBM5X53DAKGQERVI5A3Y@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pg0-f71.google.com ([74.125.83.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCL6TUMOQUJRBM5X53DAKGQERVI5A3Y@isocpp.org>)
	id 1ctBra-0006LG-R2
	for gclcip-std-proposals@m.gmane.org; Wed, 29 Mar 2017 13:34:07 +0200
Original-Received: by mail-pg0-f71.google.com with SMTP id n129sf8951928pga.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 29 Mar 2017 04:34:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:x-original-sender:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=2VlzPmxxyuCRAMcHBjFFYpVa8G9qOSxtIGuPphdYI94=;
        b=ECCDJwWQPojLNTjX7LjrM4luN82Z2A5cL5ON0aR6FdH4ZFFAjxFyq5V1n/uotk+5ns
         uqhHm4TqhEecvsk0d7MK0NQkaxfZZNC6QQ3ysZNMqrVyJtmnFD3HUe0J4NNVcDmEKDQ6
         C+0Bgo1C7D/DBWF0aNwWzLWc+Xdh/d0102Ny0XvKs+Zp8208Omei4NUdECVgfFYqCwEl
         y0r1fREpqD1RZpHLt/Iu29xTHnFgYPmD4hhGd66fEZhmkW01bZNtuLdE/fXf43XTwkW/
         xMX8b0EMS+xwI419+zGVsdzRRSltgXVzHPxa50N1cjOk5r+syCYVRgOiQpsyDfHVwA0y
         rT4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:message-id:in-reply-to
         :references:subject:mime-version:x-original-sender:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=2VlzPmxxyuCRAMcHBjFFYpVa8G9qOSxtIGuPphdYI94=;
        b=dHXqnZJiAHwH7ldAgh+RpUk1R0XXip30XS9fNTZHfCwarY9h0/V092iyIsPJO0rNnN
         Lm56DEdhCM2Oww4oSBhzn1Sx7d1lRbk2+gBh25GH3tuTvwfeTNe0t2Zul5XW6dMLvnia
         GYydok3/70hzyfHz2yX/Gn+cO/HqK5beEFEd2SCq2oVlBmyFbXms7sLN2b7NBpcnvPUW
         22ok600nmXemAJDbMe6GqG4u/XGnsj8BtA6y2klz1S8pnWkYSO+6qFPtgjrKbzgb0x1Q
         hLIsn3vdJ59wDQr4NCvXHxhBMkH8kvF/o9/HJ0pEJ+p9JEIggoBwqbXnYLB5dXb+Ntul
         D9Rg==
X-Gm-Message-State: AFeK/H11TcwLSKVPznLi1jYDrH1CpQDJjBQrpEfJX2kVK7NbjLyTMkaFy+zQU1n68g8u8Q==
X-Received: by 10.98.139.154 with SMTP id e26mr1181pfl.30.1490787252639;
        Wed, 29 Mar 2017 04:34:12 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.42.168 with SMTP id e37ls12015846otb.3.gmail; Wed, 29 Mar
 2017 04:34:11 -0700 (PDT)
X-Received: by 10.157.11.150 with SMTP id 22mr447oth.18.1490787251562;
        Wed, 29 Mar 2017 04:34:11 -0700 (PDT)
In-Reply-To: <CAAygHNOvBFjUryaTbp7UT-d1mVyt8vXYptCatOpfD1DgGs-m8A@mail.gmail.com>
X-Original-Sender: lev@compuserve.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:31876
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/31876>

------=_Part_164_1067762707.1490787250753
Content-Type: multipart/alternative; 
	boundary="----=_Part_165_1484881662.1490787250753"

------=_Part_165_1484881662.1490787250753
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable



Hi Beman,

=20

             Thank you for your message. Yes, I am aware of the good work=
=20
that Boost contributors have done on Boost constants. It doesn=E2=80=99t su=
rprise=20
me that math functions are difficult to implement in a true cross-platform=
=20
and computationally stable way. I spoke with Paul Bristow via email and got=
=20
some useful feedback from him.=20

=20

             The goal of my proposal is far more narrow. I focus=20
specifically on constants, and explicitly state that several aspects of=20
their implementation should be left up to the implementer=E2=80=99s discret=
ion. It=20
is not my intent at all to compile a comprehensive set of math constants. I=
=20
merely want to =E2=80=9Cpush downstream=E2=80=9D the set included in severa=
l derivative=20
standardization efforts.

=20

   - Lev=20


On Wednesday, March 29, 2017 at 7:04:35 AM UTC-4, Beman Dawes wrote:
>
>
>
> On Sat, Mar 4, 2017 at 1:32 PM, <l...@compuserve.com <javascript:>> wrote=
:
>
>>
>>
>> *Hello everyone,        Many areas of software development where C++ is=
=20
>> actively used involve mathematical calculations. The language inherited =
a=20
>> sizable math function library from C, and now has its own numerics libra=
ry=20
>> that grows with every release. There is however a small but annoying=20
>> omission: C++ standard headers do not include definitions of mathematica=
l=20
>> constants. To this math major it appears to be a very strange gap: where=
ver=20
>> common mathematical functions are used, the constants such as  =CF=80 or=
 e=20
>> appear quite frequently. Yes, it is not terribly difficult to define a=
=20
>> constant, but from the C++ user's perspective this is as if they were=20
>> served a dish at a restaurant but asked to bring their own salt. *
>>
>
> Hi Lev,
>
> Are you aware of=20
> www.boost.org/doc/libs/1_63_0/libs/math/doc/html/constants.html ?
>
> IIRC, development of a truly useful library of C++ math functions was far=
=20
> more complex than anyone would have guessed at the onset, and took severa=
l=20
> years of effort. You might want to talk to John Maddock, Paul Bristow,=20
> and Christopher Kormanyos first.
>
> --Beman
>
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/582b35dc-0a1b-4a3e-92bc-881a1ef2d946%40isocpp.or=
g.

------=_Part_165_1484881662.1490787250753
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><=
span style=3D"font-size:11.0pt;
font-family:&quot;Calibri&quot;,sans-serif;mso-ascii-theme-font:minor-latin=
;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme=
-font:minor-bidi">Hi
Beman,<o:p></o:p></span></font></p>

<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt;
font-family:&quot;Calibri&quot;,sans-serif;mso-ascii-theme-font:minor-latin=
;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme=
-font:minor-bidi"><o:p>=C2=A0</o:p></span></font></p>

<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt;
font-family:&quot;Calibri&quot;,sans-serif;mso-ascii-theme-font:minor-latin=
;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme=
-font:minor-bidi">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 Thank you for your message. Yes, I
am aware of the good work that Boost contributors have done on Boost consta=
nts.
It doesn=E2=80=99t surprise me that math functions are difficult to impleme=
nt in a true
cross-platform and computationally stable way. I spoke with Paul Bristow vi=
a
email and got some useful feedback from him. <o:p></o:p></span></font></p>

<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt;
font-family:&quot;Calibri&quot;,sans-serif;mso-ascii-theme-font:minor-latin=
;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme=
-font:minor-bidi"><o:p>=C2=A0</o:p></span></font></p>

<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt;
font-family:&quot;Calibri&quot;,sans-serif;mso-ascii-theme-font:minor-latin=
;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme=
-font:minor-bidi">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 The goal of my proposal is far more
narrow. I focus specifically on constants, and explicitly state that severa=
l aspects
of their implementation should be left up to the implementer=E2=80=99s disc=
retion. It
is not my intent at all to compile a comprehensive set of math constants. I
merely want to =E2=80=9Cpush downstream=E2=80=9D the set included in severa=
l derivative standardization
efforts.<o:p></o:p></span></font></p>

<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt;
font-family:&quot;Calibri&quot;,sans-serif;mso-ascii-theme-font:minor-latin=
;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme=
-font:minor-bidi"><o:p>=C2=A0</o:p></span></font></p>

<ul style=3D"margin-top:0in" type=3D"disc">
 <li class=3D"MsoListParagraph" style=3D"margin-left:.25in;mso-list:l0 leve=
l1 lfo1"><font size=3D"2" face=3D"Calibri"><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif;
     mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;
     mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme-font:m=
inor-bidi">Lev<o:p></o:p></span></font></li>
</ul><br>On Wednesday, March 29, 2017 at 7:04:35 AM UTC-4, Beman Dawes wrot=
e:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;b=
order-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><br><div><b=
r><div class=3D"gmail_quote">On Sat, Mar 4, 2017 at 1:32 PM,  <span dir=3D"=
ltr">&lt;<a href=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D=
"RSpX3Xn_BwAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;javascript:=
&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;return tru=
e;">l...@compuserve.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex"><div dir=3D"ltr"><div><b><div>Hello everyone,</div>=
<div><br></div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Many areas of software deve=
lopment where C++ is actively used involve mathematical calculations. The l=
anguage inherited a sizable math function library from C, and now has its o=
wn numerics library that grows with every release. There is however a small=
 but annoying omission: C++ standard headers do not include definitions of =
mathematical constants. To this math major it appears to be a very strange =
gap: wherever common mathematical functions are used, the constants such as=
 =C2=A0=CF=80 or e appear quite frequently. Yes, it is not terribly difficu=
lt to define a constant, but from the C++ user&#39;s perspective this is as=
 if they were served a dish at a restaurant but asked to bring their own sa=
lt.=C2=A0</div><div><br></div></b></div></div></blockquote><div><br></div><=
div>Hi Lev,</div><div><br></div><div>Are you aware of <a href=3D"http://www=
..boost.org/doc/libs/1_63_0/libs/math/doc/html/constants.html" target=3D"_bl=
ank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;http://www.google.com=
/url?q\x3dhttp%3A%2F%2Fwww.boost.org%2Fdoc%2Flibs%2F1_63_0%2Flibs%2Fmath%2F=
doc%2Fhtml%2Fconstants.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFTc9odm=
Y4-0UJYDjIqoPXGRK2DHg&#39;;return true;" onclick=3D"this.href=3D&#39;http:/=
/www.google.com/url?q\x3dhttp%3A%2F%2Fwww.boost.org%2Fdoc%2Flibs%2F1_63_0%2=
Flibs%2Fmath%2Fdoc%2Fhtml%2Fconstants.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x=
3dAFQjCNFTc9odmY4-0UJYDjIqoPXGRK2DHg&#39;;return true;">www.boost.org/doc/l=
ibs/1_63_0/<wbr>libs/math/doc/html/constants.<wbr>html</a>=C2=A0?</div><div=
><br></div><div>IIRC, development of a truly useful library of C++ math fun=
ctions was far more complex than anyone would have guessed at the onset, an=
d took several years of effort. You might want to talk to John Maddock, Pau=
l Bristow, and=C2=A0Christopher Kormanyos first.</div><div><br></div><div>-=
-Beman</div></div><br></div></div>
</blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/582b35dc-0a1b-4a3e-92bc-881a1ef2d946%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/582b35dc-0a1b-4a3e-92bc-881a1ef2d946=
%40isocpp.org</a>.<br />

------=_Part_165_1484881662.1490787250753--

------=_Part_164_1067762707.1490787250753--

.
