@@ -347,13 +347,79 @@ impl Round for f32 {
347
347
fn fract ( & self ) -> f32 { * self - self . trunc ( ) }
348
348
}
349
349
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
+
351
419
/// The reciprocal (multiplicative inverse) of the number
352
420
#[ inline]
353
421
fn recip ( & self ) -> f32 { 1.0 / * self }
354
- }
355
422
356
- impl Algebraic for f32 {
357
423
#[ inline]
358
424
fn pow ( & self , n : & f32 ) -> f32 { pow ( * self , * n) }
359
425
@@ -368,9 +434,7 @@ impl Algebraic for f32 {
368
434
369
435
#[ inline]
370
436
fn hypot ( & self , other : & f32 ) -> f32 { hypot ( * self , * other) }
371
- }
372
437
373
- impl Trigonometric for f32 {
374
438
#[ inline]
375
439
fn sin ( & self ) -> f32 { sin ( * self ) }
376
440
@@ -397,9 +461,7 @@ impl Trigonometric for f32 {
397
461
fn sin_cos ( & self ) -> ( f32 , f32 ) {
398
462
( self . sin ( ) , self . cos ( ) )
399
463
}
400
- }
401
464
402
- impl Exponential for f32 {
403
465
/// Returns the exponential of the number
404
466
#[ inline]
405
467
fn exp ( & self ) -> f32 { exp ( * self ) }
@@ -423,9 +485,7 @@ impl Exponential for f32 {
423
485
/// Returns the base 10 logarithm of the number
424
486
#[ inline]
425
487
fn log10 ( & self ) -> f32 { log10 ( * self ) }
426
- }
427
488
428
- impl Hyperbolic for f32 {
429
489
#[ inline]
430
490
fn sinh ( & self ) -> f32 { sinh ( * self ) }
431
491
@@ -485,76 +545,6 @@ impl Hyperbolic for f32 {
485
545
fn atanh ( & self ) -> f32 {
486
546
0.5 * ( ( 2.0 * * self ) / ( 1.0 - * self ) ) . ln_1p ( )
487
547
}
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 }
558
548
559
549
/// Converts to degrees, assuming the number is in radians
560
550
#[ inline]
0 commit comments