@@ -157,6 +157,8 @@ libm_macros::for_each_function! {
157157 jnf,
158158 ldexp,
159159 ldexpf,
160+ ldexpf128,
161+ ldexpf16,
160162 lgamma_r,
161163 lgammaf_r,
162164 modf,
@@ -174,6 +176,8 @@ libm_macros::for_each_function! {
174176 roundf,
175177 scalbn,
176178 scalbnf,
179+ scalbnf128,
180+ scalbnf16,
177181 sincos, sincosf,
178182 trunc,
179183 truncf,
@@ -360,34 +364,6 @@ macro_rules! impl_op_for_ty {
360364 }
361365 }
362366
363- // `ldexp` and `scalbn` are the same for binary floating point, so just forward all
364- // methods.
365- impl MpOp for crate :: op:: [ <ldexp $suffix>] :: Routine {
366- type MpTy = <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: MpTy ;
367-
368- fn new_mp( ) -> Self :: MpTy {
369- <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: new_mp( )
370- }
371-
372- fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
373- <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: run( this, input)
374- }
375- }
376-
377- impl MpOp for crate :: op:: [ <scalbn $suffix>] :: Routine {
378- type MpTy = MpFloat ;
379-
380- fn new_mp( ) -> Self :: MpTy {
381- new_mpfloat:: <Self :: FTy >( )
382- }
383-
384- fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
385- this. assign( input. 0 ) ;
386- * this <<= input. 1 ;
387- prep_retval:: <Self :: FTy >( this, Ordering :: Equal )
388- }
389- }
390-
391367 impl MpOp for crate :: op:: [ <sincos $suffix>] :: Routine {
392368 type MpTy = ( MpFloat , MpFloat ) ;
393369
@@ -460,6 +436,34 @@ macro_rules! impl_op_for_ty_all {
460436 prep_retval:: <Self :: RustRet >( & mut this. 0 , Ordering :: Equal )
461437 }
462438 }
439+
440+ // `ldexp` and `scalbn` are the same for binary floating point, so just forward all
441+ // methods.
442+ impl MpOp for crate :: op:: [ <ldexp $suffix>] :: Routine {
443+ type MpTy = <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: MpTy ;
444+
445+ fn new_mp( ) -> Self :: MpTy {
446+ <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: new_mp( )
447+ }
448+
449+ fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
450+ <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: run( this, input)
451+ }
452+ }
453+
454+ impl MpOp for crate :: op:: [ <scalbn $suffix>] :: Routine {
455+ type MpTy = MpFloat ;
456+
457+ fn new_mp( ) -> Self :: MpTy {
458+ new_mpfloat:: <Self :: FTy >( )
459+ }
460+
461+ fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
462+ this. assign( input. 0 ) ;
463+ * this <<= input. 1 ;
464+ prep_retval:: <Self :: FTy >( this, Ordering :: Equal )
465+ }
466+ }
463467 }
464468 } ;
465469}
0 commit comments