@@ -331,13 +331,79 @@ impl Round for f32 {
331
331
fn fract ( & self ) -> f32 { * self - self . trunc ( ) }
332
332
}
333
333
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
+
335
403
/// The reciprocal (multiplicative inverse) of the number
336
404
#[ inline]
337
405
fn recip ( & self ) -> f32 { 1.0 / * self }
338
- }
339
406
340
- impl Algebraic for f32 {
341
407
#[ inline]
342
408
fn pow ( & self , n : & f32 ) -> f32 { pow ( * self , * n) }
343
409
@@ -352,9 +418,7 @@ impl Algebraic for f32 {
352
418
353
419
#[ inline]
354
420
fn hypot ( & self , other : & f32 ) -> f32 { hypot ( * self , * other) }
355
- }
356
421
357
- impl Trigonometric for f32 {
358
422
#[ inline]
359
423
fn sin ( & self ) -> f32 { sin ( * self ) }
360
424
@@ -381,9 +445,7 @@ impl Trigonometric for f32 {
381
445
fn sin_cos ( & self ) -> ( f32 , f32 ) {
382
446
( self . sin ( ) , self . cos ( ) )
383
447
}
384
- }
385
448
386
- impl Exponential for f32 {
387
449
/// Returns the exponential of the number
388
450
#[ inline]
389
451
fn exp ( & self ) -> f32 { exp ( * self ) }
@@ -407,9 +469,7 @@ impl Exponential for f32 {
407
469
/// Returns the base 10 logarithm of the number
408
470
#[ inline]
409
471
fn log10 ( & self ) -> f32 { log10 ( * self ) }
410
- }
411
472
412
- impl Hyperbolic for f32 {
413
473
#[ inline]
414
474
fn sinh ( & self ) -> f32 { sinh ( * self ) }
415
475
@@ -469,76 +529,6 @@ impl Hyperbolic for f32 {
469
529
fn atanh ( & self ) -> f32 {
470
530
0.5 * ( ( 2.0 * * self ) / ( 1.0 - * self ) ) . ln_1p ( )
471
531
}
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 }
542
532
543
533
/// Converts to degrees, assuming the number is in radians
544
534
#[ inline]
0 commit comments