@@ -347,13 +347,79 @@ impl Round for f32 {
347347 fn fract ( & self ) -> f32 { * self - self . trunc ( ) }
348348}
349349
350- impl Fractional for f32 {
350+ impl Real for f32 {
351+ /// Archimedes' constant
352+ #[ inline]
353+ fn pi ( ) -> f32 { 3.14159265358979323846264338327950288 }
354+
355+ /// 2.0 * pi
356+ #[ inline]
357+ fn two_pi ( ) -> f32 { 6.28318530717958647692528676655900576 }
358+
359+ /// pi / 2.0
360+ #[ inline]
361+ fn frac_pi_2 ( ) -> f32 { 1.57079632679489661923132169163975144 }
362+
363+ /// pi / 3.0
364+ #[ inline]
365+ fn frac_pi_3 ( ) -> f32 { 1.04719755119659774615421446109316763 }
366+
367+ /// pi / 4.0
368+ #[ inline]
369+ fn frac_pi_4 ( ) -> f32 { 0.785398163397448309615660845819875721 }
370+
371+ /// pi / 6.0
372+ #[ inline]
373+ fn frac_pi_6 ( ) -> f32 { 0.52359877559829887307710723054658381 }
374+
375+ /// pi / 8.0
376+ #[ inline]
377+ fn frac_pi_8 ( ) -> f32 { 0.39269908169872415480783042290993786 }
378+
379+ /// 1 .0/ pi
380+ #[ inline]
381+ fn frac_1_pi ( ) -> f32 { 0.318309886183790671537767526745028724 }
382+
383+ /// 2.0 / pi
384+ #[ inline]
385+ fn frac_2_pi ( ) -> f32 { 0.636619772367581343075535053490057448 }
386+
387+ /// 2.0 / sqrt(pi)
388+ #[ inline]
389+ fn frac_2_sqrtpi ( ) -> f32 { 1.12837916709551257389615890312154517 }
390+
391+ /// sqrt(2.0)
392+ #[ inline]
393+ fn sqrt2 ( ) -> f32 { 1.41421356237309504880168872420969808 }
394+
395+ /// 1.0 / sqrt(2.0)
396+ #[ inline]
397+ fn frac_1_sqrt2 ( ) -> f32 { 0.707106781186547524400844362104849039 }
398+
399+ /// Euler's number
400+ #[ inline]
401+ fn e ( ) -> f32 { 2.71828182845904523536028747135266250 }
402+
403+ /// log2(e)
404+ #[ inline]
405+ fn log2_e ( ) -> f32 { 1.44269504088896340735992468100189214 }
406+
407+ /// log10(e)
408+ #[ inline]
409+ fn log10_e ( ) -> f32 { 0.434294481903251827651128918916605082 }
410+
411+ /// ln(2.0)
412+ #[ inline]
413+ fn ln_2 ( ) -> f32 { 0.693147180559945309417232121458176568 }
414+
415+ /// ln(10.0)
416+ #[ inline]
417+ fn ln_10 ( ) -> f32 { 2.30258509299404568401799145468436421 }
418+
351419 /// The reciprocal (multiplicative inverse) of the number
352420 #[ inline]
353421 fn recip ( & self ) -> f32 { 1.0 / * self }
354- }
355422
356- impl Algebraic for f32 {
357423 #[ inline]
358424 fn pow ( & self , n : & f32 ) -> f32 { pow ( * self , * n) }
359425
@@ -368,9 +434,7 @@ impl Algebraic for f32 {
368434
369435 #[ inline]
370436 fn hypot ( & self , other : & f32 ) -> f32 { hypot ( * self , * other) }
371- }
372437
373- impl Trigonometric for f32 {
374438 #[ inline]
375439 fn sin ( & self ) -> f32 { sin ( * self ) }
376440
@@ -397,9 +461,7 @@ impl Trigonometric for f32 {
397461 fn sin_cos ( & self ) -> ( f32 , f32 ) {
398462 ( self . sin ( ) , self . cos ( ) )
399463 }
400- }
401464
402- impl Exponential for f32 {
403465 /// Returns the exponential of the number
404466 #[ inline]
405467 fn exp ( & self ) -> f32 { exp ( * self ) }
@@ -423,9 +485,7 @@ impl Exponential for f32 {
423485 /// Returns the base 10 logarithm of the number
424486 #[ inline]
425487 fn log10 ( & self ) -> f32 { log10 ( * self ) }
426- }
427488
428- impl Hyperbolic for f32 {
429489 #[ inline]
430490 fn sinh ( & self ) -> f32 { sinh ( * self ) }
431491
@@ -485,76 +545,6 @@ impl Hyperbolic for f32 {
485545 fn atanh ( & self ) -> f32 {
486546 0.5 * ( ( 2.0 * * self ) / ( 1.0 - * self ) ) . ln_1p ( )
487547 }
488- }
489-
490- impl Real for f32 {
491- /// Archimedes' constant
492- #[ inline]
493- fn pi ( ) -> f32 { 3.14159265358979323846264338327950288 }
494-
495- /// 2.0 * pi
496- #[ inline]
497- fn two_pi ( ) -> f32 { 6.28318530717958647692528676655900576 }
498-
499- /// pi / 2.0
500- #[ inline]
501- fn frac_pi_2 ( ) -> f32 { 1.57079632679489661923132169163975144 }
502-
503- /// pi / 3.0
504- #[ inline]
505- fn frac_pi_3 ( ) -> f32 { 1.04719755119659774615421446109316763 }
506-
507- /// pi / 4.0
508- #[ inline]
509- fn frac_pi_4 ( ) -> f32 { 0.785398163397448309615660845819875721 }
510-
511- /// pi / 6.0
512- #[ inline]
513- fn frac_pi_6 ( ) -> f32 { 0.52359877559829887307710723054658381 }
514-
515- /// pi / 8.0
516- #[ inline]
517- fn frac_pi_8 ( ) -> f32 { 0.39269908169872415480783042290993786 }
518-
519- /// 1 .0/ pi
520- #[ inline]
521- fn frac_1_pi ( ) -> f32 { 0.318309886183790671537767526745028724 }
522-
523- /// 2.0 / pi
524- #[ inline]
525- fn frac_2_pi ( ) -> f32 { 0.636619772367581343075535053490057448 }
526-
527- /// 2.0 / sqrt(pi)
528- #[ inline]
529- fn frac_2_sqrtpi ( ) -> f32 { 1.12837916709551257389615890312154517 }
530-
531- /// sqrt(2.0)
532- #[ inline]
533- fn sqrt2 ( ) -> f32 { 1.41421356237309504880168872420969808 }
534-
535- /// 1.0 / sqrt(2.0)
536- #[ inline]
537- fn frac_1_sqrt2 ( ) -> f32 { 0.707106781186547524400844362104849039 }
538-
539- /// Euler's number
540- #[ inline]
541- fn e ( ) -> f32 { 2.71828182845904523536028747135266250 }
542-
543- /// log2(e)
544- #[ inline]
545- fn log2_e ( ) -> f32 { 1.44269504088896340735992468100189214 }
546-
547- /// log10(e)
548- #[ inline]
549- fn log10_e ( ) -> f32 { 0.434294481903251827651128918916605082 }
550-
551- /// ln(2.0)
552- #[ inline]
553- fn ln_2 ( ) -> f32 { 0.693147180559945309417232121458176568 }
554-
555- /// ln(10.0)
556- #[ inline]
557- fn ln_10 ( ) -> f32 { 2.30258509299404568401799145468436421 }
558548
559549 /// Converts to degrees, assuming the number is in radians
560550 #[ inline]
0 commit comments