[swift-evolution] [Proposal] Add floor() and ceiling() functions to FloatingPoint

Xiaodi Wu xiaodi.wu at gmail.com
Mon Jun 27 01:53:57 CDT 2016


I disagree: in English, the nouns are floor and ceiling. That's what they
should be called.
On Mon, Jun 27, 2016 at 02:41 David Hart <david at hartbit.com> wrote:

> Whatever the naming scheme, I would be hesitant to have the non-mutating
> versions of floor and ceil have different endings, seeing how connected
> they are. So:
>
> floor, ceil
> floored, ceiled
> flooring, ceiling
>
> But not a mix.
>
> On 27 Jun 2016, at 07:13, Xiaodi Wu via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> On Mon, Jun 27, 2016 at 12:45 AM, Charlie Monroe via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>> Given the API guidelines, it should be
>>
>> rounded, ceiled, floored
>>
>> for returning the rounded/ceiled/floored value and
>>
>> round(), ceil(), floor()
>>
>> would be the mutating variants. Question is where it's not too confusing
>> for anyone knowing these from another language.
>>
>
> Although colloquially they can be "verbed," ceil[ing] and floor are
> formally nouns, just like sine, union, etc. So the API guidelines would
> recommend: `rounded`, `ceiling`, `floor` for the non-mutating version and
> `round`, `formCeiling`, and `formFloor` for the mutating version.
>
>
>> On Jun 25, 2016, at 9:02 PM, Remy Demarest via swift-evolution <
>> swift-evolution at swift.org> wrote:
>>
>> We don't seem to have a rounded() function either as part of
>> FloatingPoint, we should probably have these methods in the end:
>>
>> func rounded() -> Self
>> func rounded(withPrecision: Int) -> Self
>>
>> Along with the 4 other methods proposed below.
>>
>> Le 25 juin 2016 à 11:55, Haravikk via swift-evolution <
>> swift-evolution at swift.org> a écrit :
>>
>>
>> On 25 Jun 2016, at 11:06, Karl via swift-evolution <
>> swift-evolution at swift.org> wrote:
>>
>>
>>    - floor() and ceil(), exactly like C. ceiling() is more descriptive
>>    and is a mathematical term of art
>>    <http://mathworld.wolfram.com/CeilingFunction.html>.
>>    - nextIntegralUp() and nextIntegralDown() are more descriptive still,
>>    but possibly misleading as (4.0).nextIntegralUp() == 4.0
>>
>> I'm in favour of these capabilities being there, but in terms of naming
>> I've often wondered why it can't just be part of a rounding group of
>> methods like so:
>>
>> func roundedUp() -> Self { … }
>> func roundedUp(withPrecision:Int) -> Self { … }
>> func roundedDown() -> Self { … }
>> func roundedDown(withPrecision:Int) -> Self { … }
>>
>> Since the methods with implied precision of zero are equivalent to floor
>> and ceiling surely? I know floor and ceiling are pretty common terms, but
>> they're just a form rounding when it comes down to it.
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>>
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160627/fe9d4386/attachment.html>


More information about the swift-evolution mailing list