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

Xiaodi Wu xiaodi.wu at gmail.com
Mon Jun 27 00:13:48 CDT 2016


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160627/1b02a429/attachment.html>


More information about the swift-evolution mailing list