@@ -331,13 +331,79 @@ impl Round for f32 {
331331 fn fract ( & self ) -> f32 { * self - self . trunc ( ) }
332332}
333333
334- impl Fractional for f32 {
334+ impl Real for f32 {
335+ /// Archimedes' constant
336+ #[ inline]
337+ fn pi ( ) -> f32 { 3.14159265358979323846264338327950288 }
338+
339+ /// 2.0 * pi
340+ #[ inline]
341+ fn two_pi ( ) -> f32 { 6.28318530717958647692528676655900576 }
342+
343+ /// pi / 2.0
344+ #[ inline]
345+ fn frac_pi_2 ( ) -> f32 { 1.57079632679489661923132169163975144 }
346+
347+ /// pi / 3.0
348+ #[ inline]
349+ fn frac_pi_3 ( ) -> f32 { 1.04719755119659774615421446109316763 }
350+
351+ /// pi / 4.0
352+ #[ inline]
353+ fn frac_pi_4 ( ) -> f32 { 0.785398163397448309615660845819875721 }
354+
355+ /// pi / 6.0
356+ #[ inline]
357+ fn frac_pi_6 ( ) -> f32 { 0.52359877559829887307710723054658381 }
358+
359+ /// pi / 8.0
360+ #[ inline]
361+ fn frac_pi_8 ( ) -> f32 { 0.39269908169872415480783042290993786 }
362+
363+ /// 1 .0/ pi
364+ #[ inline]
365+ fn frac_1_pi ( ) -> f32 { 0.318309886183790671537767526745028724 }
366+
367+ /// 2.0 / pi
368+ #[ inline]
369+ fn frac_2_pi ( ) -> f32 { 0.636619772367581343075535053490057448 }
370+
371+ /// 2.0 / sqrt(pi)
372+ #[ inline]
373+ fn frac_2_sqrtpi ( ) -> f32 { 1.12837916709551257389615890312154517 }
374+
375+ /// sqrt(2.0)
376+ #[ inline]
377+ fn sqrt2 ( ) -> f32 { 1.41421356237309504880168872420969808 }
378+
379+ /// 1.0 / sqrt(2.0)
380+ #[ inline]
381+ fn frac_1_sqrt2 ( ) -> f32 { 0.707106781186547524400844362104849039 }
382+
383+ /// Euler's number
384+ #[ inline]
385+ fn e ( ) -> f32 { 2.71828182845904523536028747135266250 }
386+
387+ /// log2(e)
388+ #[ inline]
389+ fn log2_e ( ) -> f32 { 1.44269504088896340735992468100189214 }
390+
391+ /// log10(e)
392+ #[ inline]
393+ fn log10_e ( ) -> f32 { 0.434294481903251827651128918916605082 }
394+
395+ /// ln(2.0)
396+ #[ inline]
397+ fn ln_2 ( ) -> f32 { 0.693147180559945309417232121458176568 }
398+
399+ /// ln(10.0)
400+ #[ inline]
401+ fn ln_10 ( ) -> f32 { 2.30258509299404568401799145468436421 }
402+
335403 /// The reciprocal (multiplicative inverse) of the number
336404 #[ inline]
337405 fn recip ( & self ) -> f32 { 1.0 / * self }
338- }
339406
340- impl Algebraic for f32 {
341407 #[ inline]
342408 fn pow ( & self , n : & f32 ) -> f32 { pow ( * self , * n) }
343409
@@ -352,9 +418,7 @@ impl Algebraic for f32 {
352418
353419 #[ inline]
354420 fn hypot ( & self , other : & f32 ) -> f32 { hypot ( * self , * other) }
355- }
356421
357- impl Trigonometric for f32 {
358422 #[ inline]
359423 fn sin ( & self ) -> f32 { sin ( * self ) }
360424
@@ -381,9 +445,7 @@ impl Trigonometric for f32 {
381445 fn sin_cos ( & self ) -> ( f32 , f32 ) {
382446 ( self . sin ( ) , self . cos ( ) )
383447 }
384- }
385448
386- impl Exponential for f32 {
387449 /// Returns the exponential of the number
388450 #[ inline]
389451 fn exp ( & self ) -> f32 { exp ( * self ) }
@@ -407,9 +469,7 @@ impl Exponential for f32 {
407469 /// Returns the base 10 logarithm of the number
408470 #[ inline]
409471 fn log10 ( & self ) -> f32 { log10 ( * self ) }
410- }
411472
412- impl Hyperbolic for f32 {
413473 #[ inline]
414474 fn sinh ( & self ) -> f32 { sinh ( * self ) }
415475
@@ -469,76 +529,6 @@ impl Hyperbolic for f32 {
469529 fn atanh ( & self ) -> f32 {
470530 0.5 * ( ( 2.0 * * self ) / ( 1.0 - * self ) ) . ln_1p ( )
471531 }
472- }
473-
474- impl Real for f32 {
475- /// Archimedes' constant
476- #[ inline]
477- fn pi ( ) -> f32 { 3.14159265358979323846264338327950288 }
478-
479- /// 2.0 * pi
480- #[ inline]
481- fn two_pi ( ) -> f32 { 6.28318530717958647692528676655900576 }
482-
483- /// pi / 2.0
484- #[ inline]
485- fn frac_pi_2 ( ) -> f32 { 1.57079632679489661923132169163975144 }
486-
487- /// pi / 3.0
488- #[ inline]
489- fn frac_pi_3 ( ) -> f32 { 1.04719755119659774615421446109316763 }
490-
491- /// pi / 4.0
492- #[ inline]
493- fn frac_pi_4 ( ) -> f32 { 0.785398163397448309615660845819875721 }
494-
495- /// pi / 6.0
496- #[ inline]
497- fn frac_pi_6 ( ) -> f32 { 0.52359877559829887307710723054658381 }
498-
499- /// pi / 8.0
500- #[ inline]
501- fn frac_pi_8 ( ) -> f32 { 0.39269908169872415480783042290993786 }
502-
503- /// 1 .0/ pi
504- #[ inline]
505- fn frac_1_pi ( ) -> f32 { 0.318309886183790671537767526745028724 }
506-
507- /// 2.0 / pi
508- #[ inline]
509- fn frac_2_pi ( ) -> f32 { 0.636619772367581343075535053490057448 }
510-
511- /// 2.0 / sqrt(pi)
512- #[ inline]
513- fn frac_2_sqrtpi ( ) -> f32 { 1.12837916709551257389615890312154517 }
514-
515- /// sqrt(2.0)
516- #[ inline]
517- fn sqrt2 ( ) -> f32 { 1.41421356237309504880168872420969808 }
518-
519- /// 1.0 / sqrt(2.0)
520- #[ inline]
521- fn frac_1_sqrt2 ( ) -> f32 { 0.707106781186547524400844362104849039 }
522-
523- /// Euler's number
524- #[ inline]
525- fn e ( ) -> f32 { 2.71828182845904523536028747135266250 }
526-
527- /// log2(e)
528- #[ inline]
529- fn log2_e ( ) -> f32 { 1.44269504088896340735992468100189214 }
530-
531- /// log10(e)
532- #[ inline]
533- fn log10_e ( ) -> f32 { 0.434294481903251827651128918916605082 }
534-
535- /// ln(2.0)
536- #[ inline]
537- fn ln_2 ( ) -> f32 { 0.693147180559945309417232121458176568 }
538-
539- /// ln(10.0)
540- #[ inline]
541- fn ln_10 ( ) -> f32 { 2.30258509299404568401799145468436421 }
542532
543533 /// Converts to degrees, assuming the number is in radians
544534 #[ inline]
0 commit comments