about summary refs log tree commit diff
path: root/library/std/src/sys
diff options
context:
space:
mode:
authorAndrew Kane <andrew@ankane.org>2023-07-31 07:41:50 -0700
committerAndrew Kane <andrew@ankane.org>2023-07-31 07:41:50 -0700
commitfcecaff16eeb3f11d84520d3ebcf9b762d0e48eb (patch)
treea5e2e13c0b8e86363b32665174264e9f757c18bb /library/std/src/sys
parenta17c7968b727d8413801961fc4e89869b6ab00d3 (diff)
downloadrust-fcecaff16eeb3f11d84520d3ebcf9b762d0e48eb.tar.gz
rust-fcecaff16eeb3f11d84520d3ebcf9b762d0e48eb.zip
Add gamma and ln_gamma functions to f32 and f64
Diffstat (limited to 'library/std/src/sys')
-rw-r--r--library/std/src/sys/unix/cmath.rs4
-rw-r--r--library/std/src/sys/windows/cmath.rs6
2 files changed, 9 insertions, 1 deletions
diff --git a/library/std/src/sys/unix/cmath.rs b/library/std/src/sys/unix/cmath.rs
index 2bf80d7a4cb..5346d229116 100644
--- a/library/std/src/sys/unix/cmath.rs
+++ b/library/std/src/sys/unix/cmath.rs
@@ -30,4 +30,8 @@ extern "C" {
     pub fn tanf(n: f32) -> f32;
     pub fn tanh(n: f64) -> f64;
     pub fn tanhf(n: f32) -> f32;
+    pub fn tgamma(n: f64) -> f64;
+    pub fn tgammaf(n: f32) -> f32;
+    pub fn lgamma_r(n: f64, s: &mut i32) -> f64;
+    pub fn lgammaf_r(n: f32, s: &mut i32) -> f32;
 }
diff --git a/library/std/src/sys/windows/cmath.rs b/library/std/src/sys/windows/cmath.rs
index 43ab8c7ee65..1b2a86f3c0e 100644
--- a/library/std/src/sys/windows/cmath.rs
+++ b/library/std/src/sys/windows/cmath.rs
@@ -1,6 +1,6 @@
 #![cfg(not(test))]
 
-use libc::{c_double, c_float};
+use libc::{c_double, c_float, c_int};
 
 extern "C" {
     pub fn acos(n: c_double) -> c_double;
@@ -23,6 +23,10 @@ extern "C" {
     pub fn sinh(n: c_double) -> c_double;
     pub fn tan(n: c_double) -> c_double;
     pub fn tanh(n: c_double) -> c_double;
+    pub fn tgamma(n: c_double) -> c_double;
+    pub fn tgammaf(n: c_float) -> c_float;
+    pub fn lgamma_r(n: c_double, s: &mut c_int) -> c_double;
+    pub fn lgammaf_r(n: c_float, s: &mut c_int) -> c_float;
 }
 
 pub use self::shims::*;