• Home
  • Raw
  • Download

Lines Matching refs:ty

21     ($ty:ty, $wide:ty, $shift:expr) => {
22 impl WideningMultiply for $ty {
23 type Output = ($ty, $ty);
26 fn wmul(self, x: $ty) -> Self::Output {
28 ((tmp >> $shift) as $ty, tmp as $ty)
34 ($(($ty:ident, $wide:ident),)+, $shift:expr) => {
36 impl WideningMultiply for $ty {
37 type Output = ($ty, $ty);
40 fn wmul(self, x: $ty) -> Self::Output {
48 let hi: $ty = (tmp >> $shift).cast();
49 let lo: $ty = tmp.cast();
69 ($ty:ty, $half:expr) => {
70 impl WideningMultiply for $ty {
71 type Output = ($ty, $ty);
74 fn wmul(self, b: $ty) -> Self::Output {
75 const LOWER_MASK: $ty = !0 >> $half;
95 (($($ty:ty,)+) $scalar:ty, $half:expr) => {
97 impl WideningMultiply for $ty {
98 type Output = ($ty, $ty);
101 fn wmul(self, b: $ty) -> Self::Output {
129 ($ty:ty) => {
135 let (high, low) = (self as $ty).wmul(x as $ty);
172 ($ty:ident, $intrinsic:ident, $mulhi:ident, $mullo:ident) => {
173 impl WideningMultiply for $ty {
174 type Output = ($ty, $ty);
177 fn wmul(self, x: $ty) -> Self::Output {
180 let hi = $ty::from_bits(unsafe { $mulhi(a, b) });
181 let lo = $ty::from_bits(unsafe { $mullo(a, b) });
290 ($ty:ident, $uty:ident) => {
292 impl Float for $ty {
300 self == ::core::$ty::INFINITY || self == ::core::$ty::NEG_INFINITY
309 impl FloatSIMDUtils for $ty {
346 <$ty>::from_bits(self.to_bits() - 1)
351 i as $ty
355 impl FloatAsSIMD for $ty {}
365 ($ty:ident, $f_scalar:ident, $mty:ident, $uty:ident) => {
366 impl FloatSIMDUtils for $ty {
388 let neg_inf = $ty::splat(::core::$f_scalar::NEG_INFINITY);
389 let pos_inf = $ty::splat(::core::$f_scalar::INFINITY);
412 <$ty>::from_bits(<$uty>::from_bits(self) + <$uty>::from_bits(mask))