Skip to content

Commit 1bd0430

Browse files
committed
Auto merge of #103836 - H4x5:extra-float-constants, r=thomcc
Add additional float constants Initial implementation of this ACP: rust-lang/libs-team#119. [Accepted] Tracking issue: #103883 The values for the constants are copied from the [`libstdc++` source code](https://github.com/gcc-mirror/gcc/blob/16e2427f50c208dfe07d07f18009969502c25dc8/libstdc%2B%2B-v3/include/std/numbers#L57-L120).
2 parents 7e02fd8 + f7dec78 commit 1bd0430

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

library/core/src/num/f32.rs

+20
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,14 @@ pub mod consts {
277277
#[stable(feature = "tau_constant", since = "1.47.0")]
278278
pub const TAU: f32 = 6.28318530717958647692528676655900577_f32;
279279

280+
/// The golden ratio (φ)
281+
#[unstable(feature = "more_float_constants", issue = "103883")]
282+
pub const PHI: f32 = 1.618033988749894848204586834365638118_f32;
283+
284+
/// The Euler-Mascheroni constant (γ)
285+
#[unstable(feature = "more_float_constants", issue = "103883")]
286+
pub const EGAMMA: f32 = 0.577215664901532860606512090082402431_f32;
287+
280288
/// π/2
281289
#[stable(feature = "rust1", since = "1.0.0")]
282290
pub const FRAC_PI_2: f32 = 1.57079632679489661923132169163975144_f32;
@@ -301,6 +309,10 @@ pub mod consts {
301309
#[stable(feature = "rust1", since = "1.0.0")]
302310
pub const FRAC_1_PI: f32 = 0.318309886183790671537767526745028724_f32;
303311

312+
/// 1/sqrt(π)
313+
#[unstable(feature = "more_float_constants", issue = "103883")]
314+
pub const FRAC_1_SQRT_PI: f32 = 0.564189583547756286948079451560772586_f32;
315+
304316
/// 2/π
305317
#[stable(feature = "rust1", since = "1.0.0")]
306318
pub const FRAC_2_PI: f32 = 0.636619772367581343075535053490057448_f32;
@@ -317,6 +329,14 @@ pub mod consts {
317329
#[stable(feature = "rust1", since = "1.0.0")]
318330
pub const FRAC_1_SQRT_2: f32 = 0.707106781186547524400844362104849039_f32;
319331

332+
/// sqrt(3)
333+
#[unstable(feature = "more_float_constants", issue = "103883")]
334+
pub const SQRT_3: f32 = 1.732050807568877293527446341505872367_f32;
335+
336+
/// 1/sqrt(3)
337+
#[unstable(feature = "more_float_constants", issue = "103883")]
338+
pub const FRAC_1_SQRT_3: f32 = 0.577350269189625764509148780501957456_f32;
339+
320340
/// Euler's number (e)
321341
#[stable(feature = "rust1", since = "1.0.0")]
322342
pub const E: f32 = 2.71828182845904523536028747135266250_f32;

library/core/src/num/f64.rs

+20
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,14 @@ pub mod consts {
277277
#[stable(feature = "tau_constant", since = "1.47.0")]
278278
pub const TAU: f64 = 6.28318530717958647692528676655900577_f64;
279279

280+
/// The golden ratio (φ)
281+
#[unstable(feature = "more_float_constants", issue = "103883")]
282+
pub const PHI: f64 = 1.618033988749894848204586834365638118_f64;
283+
284+
/// The Euler-Mascheroni constant (γ)
285+
#[unstable(feature = "more_float_constants", issue = "103883")]
286+
pub const EGAMMA: f64 = 0.577215664901532860606512090082402431_f64;
287+
280288
/// π/2
281289
#[stable(feature = "rust1", since = "1.0.0")]
282290
pub const FRAC_PI_2: f64 = 1.57079632679489661923132169163975144_f64;
@@ -301,6 +309,10 @@ pub mod consts {
301309
#[stable(feature = "rust1", since = "1.0.0")]
302310
pub const FRAC_1_PI: f64 = 0.318309886183790671537767526745028724_f64;
303311

312+
/// 1/sqrt(π)
313+
#[unstable(feature = "more_float_constants", issue = "103883")]
314+
pub const FRAC_1_SQRT_PI: f64 = 0.564189583547756286948079451560772586_f64;
315+
304316
/// 2/π
305317
#[stable(feature = "rust1", since = "1.0.0")]
306318
pub const FRAC_2_PI: f64 = 0.636619772367581343075535053490057448_f64;
@@ -317,6 +329,14 @@ pub mod consts {
317329
#[stable(feature = "rust1", since = "1.0.0")]
318330
pub const FRAC_1_SQRT_2: f64 = 0.707106781186547524400844362104849039_f64;
319331

332+
/// sqrt(3)
333+
#[unstable(feature = "more_float_constants", issue = "103883")]
334+
pub const SQRT_3: f64 = 1.732050807568877293527446341505872367_f64;
335+
336+
/// 1/sqrt(3)
337+
#[unstable(feature = "more_float_constants", issue = "103883")]
338+
pub const FRAC_1_SQRT_3: f64 = 0.577350269189625764509148780501957456_f64;
339+
320340
/// Euler's number (e)
321341
#[stable(feature = "rust1", since = "1.0.0")]
322342
pub const E: f64 = 2.71828182845904523536028747135266250_f64;

0 commit comments

Comments
 (0)