220 37542 <20180328155102.5083219.89905.48476@gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Tony V E <tvaneerd@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Remove floating point requirement for
 unordered (multi) set/map
Date: Wed, 28 Mar 2018 11:51:02 -0400
Lines: 114
Approved: news@gmane.org
Message-ID: <20180328155102.5083219.89905.48476@gmail.com>
References: <4c98e549-8f0c-42e5-a054-0234f7cf1e46@isocpp.org>
 <9d4a8ea3-9e7d-4851-8b28-5cd67779081a@isocpp.org>
 <CAN5YuFb+Gdsijsjbrm6xx2ASpUNpubApEeVK3MQc1y=NtV8JiQ@mail.gmail.com>
 <1356e140-2985-4fe7-b9ee-70e40738d1cf@isocpp.org>
 <7b853bcd-47f5-4c2c-841b-13e30472e14c@isocpp.org>
 <af922ddf-a2c4-4654-a246-de2452477c95@isocpp.org>
 <1df72d61-2659-4864-9a6d-f8ea8fe52792@isocpp.org>
 <8eb5c7cd-42ec-46bd-8aee-842ef11b885e@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Trace: blaine.gmane.org 1522252142 22134 195.159.176.226 (28 Mar 2018 15:49:02 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Wed, 28 Mar 2018 15:49:02 +0000 (UTC)
To: Alberto Barbati <std-proposals@isocpp.org>, ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCUZ5QWKNQIOP47O2UCRUBAQJVD7K@isocpp.org Wed Mar 28 17:48:58 2018
Return-path: <std-proposals+bncBCUZ5QWKNQIOP47O2UCRUBAQJVD7K@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-it0-f71.google.com ([209.85.214.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCUZ5QWKNQIOP47O2UCRUBAQJVD7K@isocpp.org>)
	id 1f1DJp-0005cH-TI
	for gclcip-std-proposals@m.gmane.org; Wed, 28 Mar 2018 17:48:58 +0200
Original-Received: by mail-it0-f71.google.com with SMTP id o187-v6sf2919018ito.2
        for <gclcip-std-proposals@m.gmane.org>; Wed, 28 Mar 2018 08:51:05 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1522252265; cv=pass;
        d=google.com; s=arc-20160816;
        b=STHb3kZqyfHWnlFzb7mwR9LHie+pzv9nUmMEW8wysJ0UZfo5ZO/ySZfB/PC0ApHGAu
         o4av0olOB9sCJ3wWndcGoBhQmmTm4sFXMSRLFuo+ffWZnfT2kny2wN1TWvnLFc2effjx
         Dxl1WBNAW9+8mAbs0w5Nc6Gg1bY9yxhEMgvE/GFtTL3qvlZHP5W/Jkk3R7DWkKKwtVxZ
         A5HbVyWXDoeUukkjVeqiwL/poxLbyfh9e53aF+rshcaYFi7R1yPcW1Jb66OO9cTivug2
         c3Z2gJUs+0A3nEdba6JSLGcRJT/5kUnvfx9pDOk7Cbcl1iXbPtDBUuN33Wlsk2cNvAHL
         1uuw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:to:references:in-reply-to
         :from:subject:date:message-id:content-transfer-encoding:mime-version
         :arc-authentication-results:arc-message-signature:dkim-signature
         :arc-authentication-results;
        bh=xATIh9uOUR3j/DZhFTdoHWwwmCVNAG81d/X0GxLSTno=;
        b=Qtxs0L8Pu7cfHOmegGj6c9uaCwcti0wXwdBUpvSZPkzBx9C7Ecd4wk5p+VVHDbxD1j
         jD+LYDZgMVp5JmYZxZ5sLH1Y1i3rMBrssYoNGLS4Q8I0XTZXGmH+YUFcvvjCxXXJpESX
         PNbEX4ZNIkvu6rmaaBMhVwiImMqz1PCtY84MVN5/PyfLFUtPi45u91pCi0g3qV75zN6/
         B2dHE5BzePcCLl7vR9oqbj4z5RghYrSbrrEBZ5i6ZDvdUtlgWZGc1+ma8bTftCggGJhl
         jRytjxmUbfh8z+ZDApjku+ew8TkSZWflfqEY4+sST3yMQZ24cLvCwlYbhNmBGs31/MMj
         T6dQ==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=r3UGmNjX;
       spf=pass (google.com: domain of tvaneerd@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=tvaneerd@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:content-transfer-encoding:message-id:date:subject:from
         :in-reply-to:references:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe;
        bh=xATIh9uOUR3j/DZhFTdoHWwwmCVNAG81d/X0GxLSTno=;
        b=uXwtxckXd5AyFz7pDwuFHGHiZLYoyQkT6eSXRh7JGxEbMGkWdnDGptaXrPeZu/VhC8
         LPqIQZiKtyBw/7EuUNfFaTABV/unyXJysJ5eQxbczsAFHNiZZhZ88syp7JVyEIS/4b/V
         34k5DxoLOdt1c3lAXw9bWVAuPM69fLA+3GmXc3RtWBhEUKuIzuBiJ1kaGx77oRdpP9dH
         gqQ2lWY8kU369MrZ0qDLNGJlI5weduiN7UFbIfLElvs1QVoWMbUxUGvrfjoCNi9GmGwT
         0jt0AesfsmAQlvKuYMRf9W0SIBUYlKYFH8i3mpWDalEvxOi9MccsvS3fyrfsfY0lWtSC
         7EzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:content-transfer-encoding
         :message-id:date:subject:from:in-reply-to:references:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=xATIh9uOUR3j/DZhFTdoHWwwmCVNAG81d/X0GxLSTno=;
        b=gWOBgFnLr+QNzVEbxcN/kUIEaDFQtZ/eEDD48BVPK0iJtfQH15xWVGMjxdrRXcl26T
         ocvwIwFQv0tU6OE/IhFGZC+wjoXUuZBNmtYPh4JqhYLhR3mEYeEq4Ns/Pqm2dtkTmFJt
         +0WGupW6auKtWofrsjR3cSqdH7vVNSbYRWIs4oS5WSwagjdbFADJ+gCHJAv1APYGJK8V
         MFjjTaDXU71GxSCP/6vXIrE/g4l39jjq7Okm3/wbyt42051w62SxjI/SCwJXtsahvK9C
         zx/Kjl0H4vm4P4zPlZjDFn7BT0H1QLW5gywRhEU+XrrofmZ/WhpX6ynj5ZBDjj/6vPM2
         JGY 
X-Gm-Message-State: AElRT7GOropBEOSrtOqUgIr0mebSbgBtsvJebcM6V6+TB9jUSBKWmv6r
	ULZISRpFqwmCXESc+8krPQcCZA==
X-Google-Smtp-Source: AG47ELsDxjqtW6iUtrRYmgNJ3xu8pSAy/1vfQbVR2SScuOfxltl846GMt3VHvDi6rzR1a5HNUciiiw==
X-Received: by 10.107.174.35 with SMTP id x35mr21850634ioe.106.1522252265117;
        Wed, 28 Mar 2018 08:51:05 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.107.232.15 with SMTP id f15ls164926ioh.23.gmail; Wed, 28 Mar
 2018 08:51:03 -0700 (PDT)
X-Received: by 10.107.191.133 with SMTP id p127mr34010195iof.188.1522252263671;
        Wed, 28 Mar 2018 08:51:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1522252263; cv=none;
        d=google.com; s=arc-20160816;
        b=Zp4IXuoPJqIlShEwUJ3pn/V9cWnbd5YMTgDg5LMehfazpLRRf/JZU6n/LzYaQ6LUXK
         MXv3trpnvlwTEdBV0nFC8zq69qIHXf3x9NRuN1iH5H/Oe8ww42SDiZqAoHiDfn1KBADA
         fRikiBT96IA4ErJLvEF1RNjbCB+kFuRzZKlqmIM+X+q5d5jrJdhH0H7FUaJj/RWs5RrA
         Oamb8R6c5Fsw3Fa0YIgtQysD9JwJdA3eJ9/QJnOF44/9M76N5q6eWi7JY+ppe2G1A9VU
         PbFn+HjLhzCj5YqTj7FH22htBAw2XRqUBde5yUHHVTCRdbeaqzpJ+IXie2URdLB2mCO0
         u6vQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:references:in-reply-to:from:subject:date:message-id
         :content-transfer-encoding:mime-version:dkim-signature
         :arc-authentication-results;
        bh=8N71zTJjDZNzfIgs1WMatXOLxHkFvC3oaw/yT064Zn8=;
        b=Xu5CMumCS0XcrPQCjuNdL9NylNAu3rMGjgNBz/qkYbyYRHtGc6q7kHRNqRfQnxeSeX
         gJYVRftHZnrLW6Ho6rG5pYkSaWaCjSbvTnGkE4fC+B0yVVemceJC7EpZhC7ie+YyYUOk
         j9d56XQzNbrLhOctlSapy01Psmqneh9ndhhGFWFNVcj/2cQiy3fEEY9ZL3m2whjXSe3q
         gu6+wceQ67RYK9VGzKwYc2QG+SerNCH4M70qOgADcgmzymI1z5/RJeCz4cUzrl5IHfOQ
         noZPdCcbjmh9zPzSa1+7SV8zsMBF+VmnS6/TE/4r7S2oUbdyeWcFEoRp+0tRA82U+nQp
         tZoQ==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=r3UGmNjX;
       spf=pass (google.com: domain of tvaneerd@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=tvaneerd@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
        by mx.google.com with SMTPS id g30sor1832731iod.243.2018.03.28.08.51.03
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Wed, 28 Mar 2018 08:51:03 -0700 (PDT)
Received-SPF: pass (google.com: domain of tvaneerd@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 10.107.200.84 with SMTP id y81mr19380825iof.116.1522252263107;
        Wed, 28 Mar 2018 08:51:03 -0700 (PDT)
Original-Received: from [127.0.0.1] (glphon2233w-lp130-03-70-50-121-47.dsl.bell.ca. [70.50.121.47])
        by smtp.gmail.com with ESMTPSA id 199-v6sm3195930itl.5.2018.03.28.08.51.02
        for <std-proposals@isocpp.org>
        (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
        Wed, 28 Mar 2018 08:51:02 -0700 (PDT)
X-Mailer: BlackBerry Email (10.3.3.2205)
In-Reply-To: <8eb5c7cd-42ec-46bd-8aee-842ef11b885e@isocpp.org>
X-Original-Sender: tvaneerd@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=r3UGmNjX;       spf=pass
 (google.com: domain of tvaneerd@gmail.com designates 209.85.220.41 as
 permitted sender) smtp.mailfrom=tvaneerd@gmail.com;       dmarc=pass (p=NONE
 sp=QUARANTINE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: 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:37542
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/37542>

<html><head></head><body lang=3D"en-US" style=3D"background-color: rgb(255,=
 255, 255); line-height: initial;">                                        =
                                              <div style=3D"width: 100%; fo=
nt-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif=
; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, =
255, 255);">He said 'likely'.</div><div style=3D"width: 100%; font-size: in=
itial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rg=
b(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"=
><br></div><div style=3D"width: 100%; font-size: initial; font-family: Cali=
bri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-ali=
gn: initial; background-color: rgb(255, 255, 255);">The question is whether=
 you can find an STL implementation that doesn't use floating point interna=
lly.</div><div style=3D"width: 100%; font-size: initial; font-family: Calib=
ri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-alig=
n: initial; background-color: rgb(255, 255, 255);"><br></div><div style=3D"=
width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-se=
rif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-c=
olor: rgb(255, 255, 255);">Implementations _could_ use fixed point internal=
ly, but will they?<span style=3D"font-size: initial; line-height: initial; =
text-align: initial;"></span></div><div style=3D"width: 100%; font-size: in=
itial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rg=
b(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"=
><br></div><div style=3D"width: 100%; font-size: initial; font-family: Cali=
bri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-ali=
gn: initial; background-color: rgb(255, 255, 255);">Maybe they would. Or ma=
ybe they already do. You should ask your implementation.&nbsp;</div><div st=
yle=3D"width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', =
sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; backg=
round-color: rgb(255, 255, 255);">In fact, ask them to add an extension to =
unordered_map =E2=80=8Ethat takes a percent or ratio or something. &nbsp;On=
ce there is an implementation with the extension, it might be easier to con=
vince the committee.&nbsp;</div><div style=3D"width: 100%; font-size: initi=
al; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(3=
1, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"><b=
r></div><div style=3D"width: 100%; font-size: initial; font-family: Calibri=
, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align:=
 initial; background-color: rgb(255, 255, 255);">Either way, I think you co=
uld write a proposal and see what the committee thinks.</div>              =
                                                                           =
                                            <div style=3D"width: 100%; font=
-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; =
color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 25=
5, 255);"><br style=3D"display:initial"></div>                             =
                                                                           =
                                                                           =
                <div style=3D"font-size: initial; font-family: Calibri, 'Sl=
ate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: init=
ial; background-color: rgb(255, 255, 255);">Sent&nbsp;from&nbsp;my&nbsp;Bla=
ckBerry&nbsp;portable&nbsp;Babbage&nbsp;Device</div>                       =
                                                                           =
                                                                           =
     <table width=3D"100%" style=3D"background-color:white;border-spacing:0=
px;"> <tbody><tr><td colspan=3D"2" style=3D"font-size: initial; text-align:=
 initial; background-color: rgb(255, 255, 255);">                          =
 <div style=3D"border-style: solid none none; border-top-color: rgb(181, 19=
6, 223); border-top-width: 1pt; padding: 3pt 0in 0in; font-family: Tahoma, =
'BB Alpha Sans', 'Slate Pro'; font-size: 10pt;">  <div><b>From: </b>Alberto=
 Barbati</div><div><b>Sent: </b>Wednesday, March 28, 2018 11:42 AM</div><di=
v><b>To: </b>ISO C++ Standard - Future Proposals</div><div><b>Reply To: </b=
>std-proposals@isocpp.org</div><div><b>Subject: </b>Re: [std-proposals] Re:=
 Remove floating point requirement for unordered (multi) set/map</div></div=
></td></tr></tbody></table><div style=3D"border-style: solid none none; bor=
der-top-color: rgb(186, 188, 209); border-top-width: 1pt; font-size: initia=
l; text-align: initial; background-color: rgb(255, 255, 255);"></div><br><d=
iv id=3D"_originalContent" style=3D""><div dir=3D"ltr"><br>Il giorno mercol=
ed=C3=AC 28 marzo 2018 17:35:48 UTC+2, Ben Craig ha scritto:<blockquote cla=
ss=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #=
ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div>Even if you add new int=
erfaces to deal with the load factor, the internals are likely to still nee=
d to use floating point math in order to continue supporting the old interf=
aces.&nbsp; Unless you are willing to write your own std::unordered_* conta=
iners and replace the ones shipped with libstdc++ or libc++ with those, you=
 will probably be stuck with some amount of floating point math in the cont=
ainers.</div><div><br></div><div>reserve does math on the load factor.&nbsp=
; insert does comparisons with the load factor.<br></div></div></blockquote=
><div><br>That is incorrect. The implementation is allowed to store and use=
 internally a fixed point representation of the max load factor and perform=
 math on such value. The only places in which floating point is actually ne=
cessary are the interface functions max_load_factor() and load_factor().<br=
></div></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" 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/8eb5c7cd-42ec-46bd-8aee-842ef11b885e%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter">https://groups.goo=
gle.com/a/isocpp.org/d/msgid/std-proposals/8eb5c7cd-42ec-46bd-8aee-842ef11b=
885e%40isocpp.org</a>.<br>
<br><!--end of _originalContent --></div></body></html>

<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/20180328155102.5083219.89905.48476%40=
gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com=
/a/isocpp.org/d/msgid/std-proposals/20180328155102.5083219.89905.48476%40gm=
ail.com</a>.<br />

.
