@@ -160,6 +160,8 @@ libm_macros::for_each_function! {
160160 jnf,
161161 ldexp,
162162 ldexpf,
163+ ldexpf128,
164+ ldexpf16,
163165 lgamma_r,
164166 lgammaf_r,
165167 modf,
@@ -177,6 +179,8 @@ libm_macros::for_each_function! {
177179 roundf,
178180 scalbn,
179181 scalbnf,
182+ scalbnf128,
183+ scalbnf16,
180184 sincos, sincosf,
181185 trunc,
182186 truncf,
@@ -368,34 +372,6 @@ macro_rules! impl_op_for_ty {
368372 }
369373 }
370374
371- // `ldexp` and `scalbn` are the same for binary floating point, so just forward all
372- // methods.
373- impl MpOp for crate :: op:: [ <ldexp $suffix>] :: Routine {
374- type MpTy = <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: MpTy ;
375-
376- fn new_mp( ) -> Self :: MpTy {
377- <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: new_mp( )
378- }
379-
380- fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
381- <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: run( this, input)
382- }
383- }
384-
385- impl MpOp for crate :: op:: [ <scalbn $suffix>] :: Routine {
386- type MpTy = MpFloat ;
387-
388- fn new_mp( ) -> Self :: MpTy {
389- new_mpfloat:: <Self :: FTy >( )
390- }
391-
392- fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
393- this. assign( input. 0 ) ;
394- * this <<= input. 1 ;
395- prep_retval:: <Self :: FTy >( this, Ordering :: Equal )
396- }
397- }
398-
399375 impl MpOp for crate :: op:: [ <sincos $suffix>] :: Routine {
400376 type MpTy = ( MpFloat , MpFloat ) ;
401377
@@ -476,6 +452,34 @@ macro_rules! impl_op_for_ty_all {
476452 prep_retval:: <Self :: RustRet >( & mut this. 0 , Ordering :: Equal )
477453 }
478454 }
455+
456+ // `ldexp` and `scalbn` are the same for binary floating point, so just forward all
457+ // methods.
458+ impl MpOp for crate :: op:: [ <ldexp $suffix>] :: Routine {
459+ type MpTy = <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: MpTy ;
460+
461+ fn new_mp( ) -> Self :: MpTy {
462+ <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: new_mp( )
463+ }
464+
465+ fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
466+ <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: run( this, input)
467+ }
468+ }
469+
470+ impl MpOp for crate :: op:: [ <scalbn $suffix>] :: Routine {
471+ type MpTy = MpFloat ;
472+
473+ fn new_mp( ) -> Self :: MpTy {
474+ new_mpfloat:: <Self :: FTy >( )
475+ }
476+
477+ fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
478+ this. assign( input. 0 ) ;
479+ * this <<= input. 1 ;
480+ prep_retval:: <Self :: FTy >( this, Ordering :: Equal )
481+ }
482+ }
479483 }
480484 } ;
481485}
0 commit comments