@@ -159,6 +159,8 @@ libm_macros::for_each_function! {
159159 jnf,
160160 ldexp,
161161 ldexpf,
162+ ldexpf128,
163+ ldexpf16,
162164 lgamma_r,
163165 lgammaf_r,
164166 modf,
@@ -178,6 +180,8 @@ libm_macros::for_each_function! {
178180 roundf16,
179181 scalbn,
180182 scalbnf,
183+ scalbnf128,
184+ scalbnf16,
181185 sincos, sincosf,
182186 trunc,
183187 truncf,
@@ -351,34 +355,6 @@ macro_rules! impl_op_for_ty {
351355 }
352356 }
353357
354- // `ldexp` and `scalbn` are the same for binary floating point, so just forward all
355- // methods.
356- impl MpOp for crate :: op:: [ <ldexp $suffix>] :: Routine {
357- type MpTy = <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: MpTy ;
358-
359- fn new_mp( ) -> Self :: MpTy {
360- <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: new_mp( )
361- }
362-
363- fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
364- <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: run( this, input)
365- }
366- }
367-
368- impl MpOp for crate :: op:: [ <scalbn $suffix>] :: Routine {
369- type MpTy = MpFloat ;
370-
371- fn new_mp( ) -> Self :: MpTy {
372- new_mpfloat:: <Self :: FTy >( )
373- }
374-
375- fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
376- this. assign( input. 0 ) ;
377- * this <<= input. 1 ;
378- prep_retval:: <Self :: FTy >( this, Ordering :: Equal )
379- }
380- }
381-
382358 impl MpOp for crate :: op:: [ <sincos $suffix>] :: Routine {
383359 type MpTy = ( MpFloat , MpFloat ) ;
384360
@@ -464,6 +440,35 @@ macro_rules! impl_op_for_ty_all {
464440 this. 1 . assign( input. 1 ) ;
465441 let ord = this. 0 . rem_assign_round( & this. 1 , Nearest ) ;
466442 prep_retval:: <Self :: RustRet >( & mut this. 0 , ord)
443+
444+ }
445+ }
446+
447+ // `ldexp` and `scalbn` are the same for binary floating point, so just forward all
448+ // methods.
449+ impl MpOp for crate :: op:: [ <ldexp $suffix>] :: Routine {
450+ type MpTy = <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: MpTy ;
451+
452+ fn new_mp( ) -> Self :: MpTy {
453+ <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: new_mp( )
454+ }
455+
456+ fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
457+ <crate :: op:: [ <scalbn $suffix>] :: Routine as MpOp >:: run( this, input)
458+ }
459+ }
460+
461+ impl MpOp for crate :: op:: [ <scalbn $suffix>] :: Routine {
462+ type MpTy = MpFloat ;
463+
464+ fn new_mp( ) -> Self :: MpTy {
465+ new_mpfloat:: <Self :: FTy >( )
466+ }
467+
468+ fn run( this: & mut Self :: MpTy , input: Self :: RustArgs ) -> Self :: RustRet {
469+ this. assign( input. 0 ) ;
470+ * this <<= input. 1 ;
471+ prep_retval:: <Self :: FTy >( this, Ordering :: Equal )
467472 }
468473 }
469474 }
0 commit comments