summaryrefslogtreecommitdiffstats
path: root/vendor/packed_simd_2/src/codegen/math/float
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float.rs30
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/abs.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/cos.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/cos_pi.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/exp.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/ln.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/macros.rs133
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/mul_add.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/mul_adde.rs10
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/powf.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/sin.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/sin_cos_pi.rs23
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/sin_pi.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/sqrt.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/sqrte.rs2
-rw-r--r--vendor/packed_simd_2/src/codegen/math/float/tanh.rs8
16 files changed, 62 insertions, 164 deletions
diff --git a/vendor/packed_simd_2/src/codegen/math/float.rs b/vendor/packed_simd_2/src/codegen/math/float.rs
index 3743b4990..10d21831f 100644
--- a/vendor/packed_simd_2/src/codegen/math/float.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float.rs
@@ -2,18 +2,18 @@
#![allow(clippy::useless_transmute)]
#[macro_use]
-crate mod macros;
-crate mod abs;
-crate mod cos;
-crate mod cos_pi;
-crate mod exp;
-crate mod ln;
-crate mod mul_add;
-crate mod mul_adde;
-crate mod powf;
-crate mod sin;
-crate mod sin_cos_pi;
-crate mod sin_pi;
-crate mod sqrt;
-crate mod sqrte;
-crate mod tanh;
+pub(crate) mod macros;
+pub(crate) mod abs;
+pub(crate) mod cos;
+pub(crate) mod cos_pi;
+pub(crate) mod exp;
+pub(crate) mod ln;
+pub(crate) mod mul_add;
+pub(crate) mod mul_adde;
+pub(crate) mod powf;
+pub(crate) mod sin;
+pub(crate) mod sin_cos_pi;
+pub(crate) mod sin_pi;
+pub(crate) mod sqrt;
+pub(crate) mod sqrte;
+pub(crate) mod tanh;
diff --git a/vendor/packed_simd_2/src/codegen/math/float/abs.rs b/vendor/packed_simd_2/src/codegen/math/float/abs.rs
index bc4421f61..34aacc25b 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/abs.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/abs.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Abs {
+pub(crate) trait Abs {
fn abs(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/cos.rs b/vendor/packed_simd_2/src/codegen/math/float/cos.rs
index 50f6c16da..dec390cb7 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/cos.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/cos.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Cos {
+pub(crate) trait Cos {
fn cos(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/cos_pi.rs b/vendor/packed_simd_2/src/codegen/math/float/cos_pi.rs
index ebff5fd1c..e283280ee 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/cos_pi.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/cos_pi.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait CosPi {
+pub(crate) trait CosPi {
fn cos_pi(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/exp.rs b/vendor/packed_simd_2/src/codegen/math/float/exp.rs
index 00d10e9fa..a7b20580e 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/exp.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/exp.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Exp {
+pub(crate) trait Exp {
fn exp(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/ln.rs b/vendor/packed_simd_2/src/codegen/math/float/ln.rs
index 88a5a6c6c..a5e38cb40 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/ln.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/ln.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Ln {
+pub(crate) trait Ln {
fn ln(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/macros.rs b/vendor/packed_simd_2/src/codegen/math/float/macros.rs
index 02d0ca3f5..8daee1afe 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/macros.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/macros.rs
@@ -1,7 +1,6 @@
//! Utility macros
#![allow(unused)]
-
macro_rules! impl_unary_ {
// implementation mapping 1:1
(vec | $trait_id:ident, $trait_method:ident, $vec_id:ident,
@@ -64,10 +63,8 @@ macro_rules! impl_unary_ {
let mut halves = U { vec: self }.halves;
- *halves.get_unchecked_mut(0) =
- transmute($fun(transmute(*halves.get_unchecked(0))));
- *halves.get_unchecked_mut(1) =
- transmute($fun(transmute(*halves.get_unchecked(1))));
+ *halves.get_unchecked_mut(0) = transmute($fun(transmute(*halves.get_unchecked(0))));
+ *halves.get_unchecked_mut(1) = transmute($fun(transmute(*halves.get_unchecked(1))));
U { halves }.vec
}
@@ -89,14 +86,10 @@ macro_rules! impl_unary_ {
let mut quarters = U { vec: self }.quarters;
- *quarters.get_unchecked_mut(0) =
- transmute($fun(transmute(*quarters.get_unchecked(0))));
- *quarters.get_unchecked_mut(1) =
- transmute($fun(transmute(*quarters.get_unchecked(1))));
- *quarters.get_unchecked_mut(2) =
- transmute($fun(transmute(*quarters.get_unchecked(2))));
- *quarters.get_unchecked_mut(3) =
- transmute($fun(transmute(*quarters.get_unchecked(3))));
+ *quarters.get_unchecked_mut(0) = transmute($fun(transmute(*quarters.get_unchecked(0))));
+ *quarters.get_unchecked_mut(1) = transmute($fun(transmute(*quarters.get_unchecked(1))));
+ *quarters.get_unchecked_mut(2) = transmute($fun(transmute(*quarters.get_unchecked(2))));
+ *quarters.get_unchecked_mut(3) = transmute($fun(transmute(*quarters.get_unchecked(3))));
U { quarters }.vec
}
@@ -137,43 +130,19 @@ macro_rules! gen_unary_impl_table {
impl_unary_!(gen | $trait_id, $trait_method, $vid, $fun);
};
($vid:ident[$sid:ident; $sc:expr]: $fun:ident) => {
- impl_unary_!(
- scalar | $trait_id,
- $trait_method,
- $vid,
- [$sid; $sc],
- $fun
- );
+ impl_unary_!(scalar | $trait_id, $trait_method, $vid, [$sid; $sc], $fun);
};
($vid:ident[s]: $fun:ident) => {
impl_unary_!(scalar | $trait_id, $trait_method, $vid, $fun);
};
($vid:ident[h => $vid_h:ident]: $fun:ident) => {
- impl_unary_!(
- halves | $trait_id,
- $trait_method,
- $vid,
- $vid_h,
- $fun
- );
+ impl_unary_!(halves | $trait_id, $trait_method, $vid, $vid_h, $fun);
};
($vid:ident[q => $vid_q:ident]: $fun:ident) => {
- impl_unary_!(
- quarter | $trait_id,
- $trait_method,
- $vid,
- $vid_q,
- $fun
- );
+ impl_unary_!(quarter | $trait_id, $trait_method, $vid, $vid_q, $fun);
};
($vid:ident[t => $vid_t:ident]: $fun:ident) => {
- impl_unary_!(
- twice | $trait_id,
- $trait_method,
- $vid,
- $vid_t,
- $fun
- );
+ impl_unary_!(twice | $trait_id, $trait_method, $vid, $vid_t, $fun);
};
}
};
@@ -188,11 +157,7 @@ macro_rules! impl_tertiary_ {
fn $trait_method(self, y: Self, z: Self) -> Self {
unsafe {
use crate::mem::transmute;
- transmute($fun(
- transmute(self),
- transmute(y),
- transmute(z),
- ))
+ transmute($fun(transmute(self), transmute(y), transmute(z)))
}
}
}
@@ -314,11 +279,8 @@ macro_rules! impl_tertiary_ {
let x_twice = U { vec: [self, uninitialized()] }.twice;
let y_twice = U { vec: [y, uninitialized()] }.twice;
let z_twice = U { vec: [z, uninitialized()] }.twice;
- let twice: $vect_id = transmute($fun(
- transmute(x_twice),
- transmute(y_twice),
- transmute(z_twice),
- ));
+ let twice: $vect_id =
+ transmute($fun(transmute(x_twice), transmute(y_twice), transmute(z_twice)));
*(U { twice }.vec.get_unchecked(0))
}
@@ -334,43 +296,19 @@ macro_rules! gen_tertiary_impl_table {
impl_tertiary_!(vec | $trait_id, $trait_method, $vid, $fun);
};
($vid:ident[$sid:ident; $sc:expr]: $fun:ident) => {
- impl_tertiary_!(
- scalar | $trait_id,
- $trait_method,
- $vid,
- [$sid; $sc],
- $fun
- );
+ impl_tertiary_!(scalar | $trait_id, $trait_method, $vid, [$sid; $sc], $fun);
};
($vid:ident[s]: $fun:ident) => {
impl_tertiary_!(scalar | $trait_id, $trait_method, $vid, $fun);
};
($vid:ident[h => $vid_h:ident]: $fun:ident) => {
- impl_tertiary_!(
- halves | $trait_id,
- $trait_method,
- $vid,
- $vid_h,
- $fun
- );
+ impl_tertiary_!(halves | $trait_id, $trait_method, $vid, $vid_h, $fun);
};
($vid:ident[q => $vid_q:ident]: $fun:ident) => {
- impl_tertiary_!(
- quarter | $trait_id,
- $trait_method,
- $vid,
- $vid_q,
- $fun
- );
+ impl_tertiary_!(quarter | $trait_id, $trait_method, $vid, $vid_q, $fun);
};
($vid:ident[t => $vid_t:ident]: $fun:ident) => {
- impl_tertiary_!(
- twice | $trait_id,
- $trait_method,
- $vid,
- $vid_t,
- $fun
- );
+ impl_tertiary_!(twice | $trait_id, $trait_method, $vid, $vid_t, $fun);
};
}
};
@@ -497,10 +435,7 @@ macro_rules! impl_binary_ {
let x_twice = U { vec: [self, uninitialized()] }.twice;
let y_twice = U { vec: [y, uninitialized()] }.twice;
- let twice: $vect_id = transmute($fun(
- transmute(x_twice),
- transmute(y_twice),
- ));
+ let twice: $vect_id = transmute($fun(transmute(x_twice), transmute(y_twice)));
*(U { twice }.vec.get_unchecked(0))
}
@@ -516,43 +451,19 @@ macro_rules! gen_binary_impl_table {
impl_binary_!(vec | $trait_id, $trait_method, $vid, $fun);
};
($vid:ident[$sid:ident; $sc:expr]: $fun:ident) => {
- impl_binary_!(
- scalar | $trait_id,
- $trait_method,
- $vid,
- [$sid; $sc],
- $fun
- );
+ impl_binary_!(scalar | $trait_id, $trait_method, $vid, [$sid; $sc], $fun);
};
($vid:ident[s]: $fun:ident) => {
impl_binary_!(scalar | $trait_id, $trait_method, $vid, $fun);
};
($vid:ident[h => $vid_h:ident]: $fun:ident) => {
- impl_binary_!(
- halves | $trait_id,
- $trait_method,
- $vid,
- $vid_h,
- $fun
- );
+ impl_binary_!(halves | $trait_id, $trait_method, $vid, $vid_h, $fun);
};
($vid:ident[q => $vid_q:ident]: $fun:ident) => {
- impl_binary_!(
- quarter | $trait_id,
- $trait_method,
- $vid,
- $vid_q,
- $fun
- );
+ impl_binary_!(quarter | $trait_id, $trait_method, $vid, $vid_q, $fun);
};
($vid:ident[t => $vid_t:ident]: $fun:ident) => {
- impl_binary_!(
- twice | $trait_id,
- $trait_method,
- $vid,
- $vid_t,
- $fun
- );
+ impl_binary_!(twice | $trait_id, $trait_method, $vid, $vid_t, $fun);
};
}
};
diff --git a/vendor/packed_simd_2/src/codegen/math/float/mul_add.rs b/vendor/packed_simd_2/src/codegen/math/float/mul_add.rs
index f48a57dc4..d37f30fa8 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/mul_add.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/mul_add.rs
@@ -4,7 +4,7 @@ use crate::*;
// FIXME: 64-bit 1 element mul_add
-crate trait MulAdd {
+pub(crate) trait MulAdd {
fn mul_add(self, y: Self, z: Self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/mul_adde.rs b/vendor/packed_simd_2/src/codegen/math/float/mul_adde.rs
index 8c41fb131..c0baeacec 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/mul_adde.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/mul_adde.rs
@@ -3,7 +3,7 @@ use crate::*;
// FIXME: 64-bit 1 element mul_adde
-crate trait MulAddE {
+pub(crate) trait MulAddE {
fn mul_adde(self, y: Self, z: Self) -> Self;
}
@@ -38,13 +38,7 @@ macro_rules! impl_mul_adde {
#[cfg(not(target_arch = "s390x"))]
{
use crate::mem::transmute;
- unsafe {
- transmute($fn(
- transmute(self),
- transmute(y),
- transmute(z),
- ))
- }
+ unsafe { transmute($fn(transmute(self), transmute(y), transmute(z))) }
}
#[cfg(target_arch = "s390x")]
{
diff --git a/vendor/packed_simd_2/src/codegen/math/float/powf.rs b/vendor/packed_simd_2/src/codegen/math/float/powf.rs
index bc15067d7..89ca52e96 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/powf.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/powf.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Powf {
+pub(crate) trait Powf {
fn powf(self, x: Self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/sin.rs b/vendor/packed_simd_2/src/codegen/math/float/sin.rs
index 7b014d07d..d88141590 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/sin.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/sin.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Sin {
+pub(crate) trait Sin {
fn sin(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/sin_cos_pi.rs b/vendor/packed_simd_2/src/codegen/math/float/sin_cos_pi.rs
index 0f1249ec8..b283d1111 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/sin_cos_pi.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/sin_cos_pi.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait SinCosPi: Sized {
+pub(crate) trait SinCosPi: Sized {
type Output;
fn sin_cos_pi(self) -> Self::Output;
}
@@ -85,17 +85,14 @@ macro_rules! impl_unary_t {
let halves = U { vec: self }.halves;
- let res_0: ($vid_h, $vid_h) =
- transmute($fun(transmute(*halves.get_unchecked(0))));
- let res_1: ($vid_h, $vid_h) =
- transmute($fun(transmute(*halves.get_unchecked(1))));
+ let res_0: ($vid_h, $vid_h) = transmute($fun(transmute(*halves.get_unchecked(0))));
+ let res_1: ($vid_h, $vid_h) = transmute($fun(transmute(*halves.get_unchecked(1))));
union R {
result: ($vid, $vid),
halves: ([$vid_h; 2], [$vid_h; 2]),
}
- R { halves: ([res_0.0, res_1.0], [res_0.1, res_1.1]) }
- .result
+ R { halves: ([res_0.0, res_1.0], [res_0.1, res_1.1]) }.result
}
}
}
@@ -114,14 +111,10 @@ macro_rules! impl_unary_t {
let quarters = U { vec: self }.quarters;
- let res_0: ($vid_q, $vid_q) =
- transmute($fun(transmute(*quarters.get_unchecked(0))));
- let res_1: ($vid_q, $vid_q) =
- transmute($fun(transmute(*quarters.get_unchecked(1))));
- let res_2: ($vid_q, $vid_q) =
- transmute($fun(transmute(*quarters.get_unchecked(2))));
- let res_3: ($vid_q, $vid_q) =
- transmute($fun(transmute(*quarters.get_unchecked(3))));
+ let res_0: ($vid_q, $vid_q) = transmute($fun(transmute(*quarters.get_unchecked(0))));
+ let res_1: ($vid_q, $vid_q) = transmute($fun(transmute(*quarters.get_unchecked(1))));
+ let res_2: ($vid_q, $vid_q) = transmute($fun(transmute(*quarters.get_unchecked(2))));
+ let res_3: ($vid_q, $vid_q) = transmute($fun(transmute(*quarters.get_unchecked(3))));
union R {
result: ($vid, $vid),
diff --git a/vendor/packed_simd_2/src/codegen/math/float/sin_pi.rs b/vendor/packed_simd_2/src/codegen/math/float/sin_pi.rs
index 72df98c93..0c8f6bb12 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/sin_pi.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/sin_pi.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait SinPi {
+pub(crate) trait SinPi {
fn sin_pi(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/sqrt.rs b/vendor/packed_simd_2/src/codegen/math/float/sqrt.rs
index 7ce31df62..67bb0a2a9 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/sqrt.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/sqrt.rs
@@ -5,7 +5,7 @@
use crate::*;
-crate trait Sqrt {
+pub(crate) trait Sqrt {
fn sqrt(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/sqrte.rs b/vendor/packed_simd_2/src/codegen/math/float/sqrte.rs
index c1e379c34..58a1de1f4 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/sqrte.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/sqrte.rs
@@ -6,7 +6,7 @@
use crate::llvm::simd_fsqrt;
use crate::*;
-crate trait Sqrte {
+pub(crate) trait Sqrte {
fn sqrte(self) -> Self;
}
diff --git a/vendor/packed_simd_2/src/codegen/math/float/tanh.rs b/vendor/packed_simd_2/src/codegen/math/float/tanh.rs
index 5220c7d10..2c0dd3dc3 100644
--- a/vendor/packed_simd_2/src/codegen/math/float/tanh.rs
+++ b/vendor/packed_simd_2/src/codegen/math/float/tanh.rs
@@ -5,12 +5,11 @@
use crate::*;
-crate trait Tanh {
+pub(crate) trait Tanh {
fn tanh(self) -> Self;
}
macro_rules! define_tanh {
-
($name:ident, $basetype:ty, $simdtype:ty, $lanes:expr, $trait:path) => {
fn $name(x: $simdtype) -> $simdtype {
use core::intrinsics::transmute;
@@ -31,8 +30,9 @@ macro_rules! define_tanh {
};
}
-// llvm does not seem to expose the hyperbolic versions of trigonometric functions;
-// we thus call the classical rust versions on all of them (which stem from cmath).
+// llvm does not seem to expose the hyperbolic versions of trigonometric
+// functions; we thus call the classical rust versions on all of them (which
+// stem from cmath).
define_tanh!(f32 => tanh_v2f32, f32x2, 2);
define_tanh!(f32 => tanh_v4f32, f32x4, 4);
define_tanh!(f32 => tanh_v8f32, f32x8, 8);