Extend FloatingPoint with tau!


(David Hart) #1

Hello community,

Tau day <http://tauday.com/> was yesterday, and reminded me that we forgot to provide a `tau` next to `FloatingPoint`’s `pi` property. How about we write a proposal to brind this forward-thinking constant to a forward-thinking language?

Proposal: Extend `FloatingPoint` with tau

  /// The mathematical constant tau = 6.28318...
  ///
  /// Extensible floating-point types might provide additional APIs to obtain
  /// this value to caller-specified precision.
  static var tau: Self { get }

David.


(Joe Bell) #2

I would argue the reverse, i.e., removing pi as a property of
FloatingPoint. What is it there vs. being part of a separate mathematic
constants package? I don't see Euler's number or phi (golden ratio) in the
proposal.

Joe

···

On Wed, Jun 29, 2016 at 2:45 AM, David Hart via swift-evolution < swift-evolution@swift.org> wrote:

Hello community,

Tau day <http://tauday.com> was yesterday, and reminded me that we forgot
to provide a `tau` next to `FloatingPoint`’s `pi` property. How about we
write a proposal to brind this forward-thinking constant to a
forward-thinking language?

*Proposal: Extend `FloatingPoint` with tau*

  /// The mathematical constant tau = 6.28318...
  ///
  /// Extensible floating-point types might provide additional APIs to
obtain
  /// this value to caller-specified precision.
  static var tau: Self { get }

David.

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

--
Joseph Bell
http://dev.iachieved.it/iachievedit/
@iachievedit


(Stephen Canon) #3

This was discussed as part of SE-0067.

The consensus was that pi deserved special treatment, as it is used in general-purpose code an order of magnitude more often than the all other constants combined. I don’t think that anyone argued against it’s inclusion.

– Steve

···

On Jun 30, 2016, at 9:12 AM, Joseph Bell via swift-evolution <swift-evolution@swift.org> wrote:

I would argue the reverse, i.e., removing pi as a property of FloatingPoint. What is it there vs. being part of a separate mathematic constants package? I don't see Euler's number or phi (golden ratio) in the proposal.

Joe

On Wed, Jun 29, 2016 at 2:45 AM, David Hart via swift-evolution <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
Hello community,

Tau day <http://tauday.com/> was yesterday, and reminded me that we forgot to provide a `tau` next to `FloatingPoint`’s `pi` property. How about we write a proposal to brind this forward-thinking constant to a forward-thinking language?

Proposal: Extend `FloatingPoint` with tau

  /// The mathematical constant tau = 6.28318...
  ///
  /// Extensible floating-point types might provide additional APIs to obtain
  /// this value to caller-specified precision.
  static var tau: Self { get }

David.

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org <mailto:swift-evolution@swift.org>
https://lists.swift.org/mailman/listinfo/swift-evolution

--
Joseph Bell
http://dev.iachieved.it/iachievedit/
@iachievedit
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution


(Joe Groff) #4

'2 * x' is a precise operation (assuming it doesn't overflow the exponent), so '2 * .pi' will always be as accurate as '.pi' itself.

-Joe

···

On Jun 30, 2016, at 9:01 AM, David Waite via swift-evolution <swift-evolution@swift.org> wrote:

On Jun 30, 2016, at 9:22 AM, Stephen Canon via swift-evolution <swift-evolution@swift.org> wrote:

This was discussed as part of SE-0067.

The consensus was that pi deserved special treatment, as it is used in general-purpose code an order of magnitude more often than the all other constants combined. I don’t think that anyone argued against it’s inclusion.

To me, it also makes sense to offer a common transcendental constant with the highest precision available to a particular floating point type.


(David Waite) #5

To me, it also makes sense to offer a common transcendental constant with the highest precision available to a particular floating point type.

-DW

···

On Jun 30, 2016, at 9:22 AM, Stephen Canon via swift-evolution <swift-evolution@swift.org> wrote:

This was discussed as part of SE-0067.

The consensus was that pi deserved special treatment, as it is used in general-purpose code an order of magnitude more often than the all other constants combined. I don’t think that anyone argued against it’s inclusion.