@@ -499,175 +499,36 @@ public func %=(lhs: inout CGFloat, rhs: CGFloat) {
499
499
// tgmath
500
500
//===----------------------------------------------------------------------===//
501
501
502
- @_transparent
503
- public func acos( _ x: CGFloat ) -> CGFloat {
504
- return CGFloat ( acos ( x. native) )
505
- }
506
-
507
- @_transparent
508
- public func cos( _ x: CGFloat ) -> CGFloat {
509
- return CGFloat ( cos ( x. native) )
510
- }
511
-
512
- @_transparent
513
- public func sin( _ x: CGFloat ) -> CGFloat {
514
- return CGFloat ( sin ( x. native) )
515
- }
516
-
517
- @_transparent
518
- public func asin( _ x: CGFloat ) -> CGFloat {
519
- return CGFloat ( asin ( x. native) )
520
- }
521
-
522
- @_transparent
523
- public func atan( _ x: CGFloat ) -> CGFloat {
524
- return CGFloat ( atan ( x. native) )
525
- }
526
-
527
- @_transparent
528
- public func tan( _ x: CGFloat ) -> CGFloat {
529
- return CGFloat ( tan ( x. native) )
530
- }
531
-
532
- @_transparent
533
- public func acosh( _ x: CGFloat ) -> CGFloat {
534
- return CGFloat ( acosh ( x. native) )
535
- }
536
-
537
- @_transparent
538
- public func asinh( _ x: CGFloat ) -> CGFloat {
539
- return CGFloat ( asinh ( x. native) )
540
- }
541
-
542
- @_transparent
543
- public func atanh( _ x: CGFloat ) -> CGFloat {
544
- return CGFloat ( atanh ( x. native) )
545
- }
546
-
547
- @_transparent
548
- public func cosh( _ x: CGFloat ) -> CGFloat {
549
- return CGFloat ( cosh ( x. native) )
550
- }
551
-
552
- @_transparent
553
- public func sinh( _ x: CGFloat ) -> CGFloat {
554
- return CGFloat ( sinh ( x. native) )
555
- }
556
-
557
- @_transparent
558
- public func tanh( _ x: CGFloat ) -> CGFloat {
559
- return CGFloat ( tanh ( x. native) )
560
- }
561
-
562
- @_transparent
563
- public func exp( _ x: CGFloat ) -> CGFloat {
564
- return CGFloat ( exp ( x. native) )
565
- }
566
-
567
- @_transparent
568
- public func exp2( _ x: CGFloat ) -> CGFloat {
569
- return CGFloat ( exp2 ( x. native) )
570
- }
571
-
572
- @_transparent
573
- public func expm1( _ x: CGFloat ) -> CGFloat {
574
- return CGFloat ( expm1 ( x. native) )
575
- }
576
-
577
- @_transparent
578
- public func log( _ x: CGFloat ) -> CGFloat {
579
- return CGFloat ( log ( x. native) )
580
- }
581
-
582
- @_transparent
583
- public func log10( _ x: CGFloat ) -> CGFloat {
584
- return CGFloat ( log10 ( x. native) )
585
- }
586
-
587
- @_transparent
588
- public func log2( _ x: CGFloat ) -> CGFloat {
589
- return CGFloat ( log2 ( x. native) )
590
- }
591
-
592
- @_transparent
593
- public func log1p( _ x: CGFloat ) -> CGFloat {
594
- return CGFloat ( log1p ( x. native) )
595
- }
596
-
597
- @_transparent
598
- public func logb( _ x: CGFloat ) -> CGFloat {
599
- return CGFloat ( logb ( x. native) )
600
- }
601
-
602
- @_transparent
603
- public func cbrt( _ x: CGFloat ) -> CGFloat {
604
- return CGFloat ( cbrt ( x. native) )
605
- }
606
-
607
- @_transparent
608
- public func erf( _ x: CGFloat ) -> CGFloat {
609
- return CGFloat ( erf ( x. native) )
610
- }
611
-
612
- @_transparent
613
- public func erfc( _ x: CGFloat ) -> CGFloat {
614
- return CGFloat ( erfc ( x. native) )
615
- }
616
-
617
- @_transparent
618
- public func tgamma( _ x: CGFloat ) -> CGFloat {
619
- return CGFloat ( tgamma ( x. native) )
620
- }
621
-
622
- @_transparent
623
- public func nearbyint( _ x: CGFloat ) -> CGFloat {
624
- return CGFloat ( nearbyint ( x. native) )
625
- }
626
-
627
- @_transparent
628
- public func rint( _ x: CGFloat ) -> CGFloat {
629
- return CGFloat ( rint ( x. native) )
630
- }
631
-
632
- @_transparent
633
- public func atan2( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
634
- return CGFloat ( atan2 ( lhs. native, rhs. native) )
635
- }
636
-
637
- @_transparent
638
- public func hypot( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
639
- return CGFloat ( hypot ( lhs. native, rhs. native) )
640
- }
641
-
642
- @_transparent
643
- public func pow( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
644
- return CGFloat ( pow ( lhs. native, rhs. native) )
645
- }
646
-
647
- @_transparent
648
- public func copysign( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
649
- return CGFloat ( copysign ( lhs. native, rhs. native) )
650
- }
502
+ % {
503
+ UnaryFunctions = [
504
+ 'acos', 'asin', 'atan', 'cos', 'sin', 'tan',
505
+ 'acosh', 'asinh', 'atanh', 'cosh', 'sinh', 'tanh',
506
+ 'exp', 'exp2 ', 'expm1 ',
507
+ 'log', 'log10 ', 'log1 p', 'log2 ', 'logb',
508
+ 'cbrt', 'erf', 'erfc', 'tgamma',
509
+ 'nearbyint', 'rint'
510
+ ]
511
+
512
+ BinaryFunctions = [
513
+ 'atan2 ', 'hypot', 'pow', 'copysign', 'nextafter', 'fdim', 'fmax', 'fmin'
514
+ ]
515
+ } %
651
516
517
+ % for ufunc in UnaryFunctions:
652
518
@_transparent
653
- public func nextafter ( _ lhs : CGFloat , _ rhs : CGFloat ) -> CGFloat {
654
- return CGFloat ( nextafter ( lhs . native , rhs . native) )
519
+ public func $ { ufunc } ( _ x : CGFloat) - > CGFloat {
520
+ return CGFloat ( $ { ufunc } ( x . native) )
655
521
}
656
522
657
- @_transparent
658
- public func fdim( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
659
- return CGFloat ( fdim ( lhs. native, rhs. native) )
660
- }
523
+ % end
661
524
525
+ % for bfunc in BinaryFunctions:
662
526
@_transparent
663
- public func fmax ( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
664
- return CGFloat ( fmax ( lhs. native, rhs. native) )
527
+ public func $ { bfunc } ( _ lhs: CGFloat, _ rhs: CGFloat) - > CGFloat {
528
+ return CGFloat ( $ { bfunc } ( lhs. native, rhs. native) )
665
529
}
666
530
667
- @_transparent
668
- public func fmin( _ lhs: CGFloat , _ rhs: CGFloat ) -> CGFloat {
669
- return CGFloat ( fmin ( lhs. native, rhs. native) )
670
- }
531
+ % end
671
532
672
533
@_transparent
673
534
@available ( * , unavailable, message: " use the floatingPointClass property. " )
@@ -690,28 +551,36 @@ public func isnan(_ value: CGFloat) -> Bool { return value.isNaN }
690
551
@available ( * , unavailable, message: " use the sign property. " )
691
552
public func signbit( _ value: CGFloat ) -> Int { return value. sign. rawValue }
692
553
554
+ // Generic implementation on FloatingPoint as of Swift 4.2
555
+ @available ( swift, obsoleted: 4.2 )
693
556
@_transparent
694
557
public func modf( _ x: CGFloat ) -> ( CGFloat , CGFloat ) {
695
558
let ( ipart, fpart) = modf ( x. native)
696
559
return ( CGFloat ( ipart) , CGFloat ( fpart) )
697
560
}
698
561
562
+ @available ( swift, deprecated: 4.2 , renamed: " scalbn " )
699
563
@_transparent
700
564
public func ldexp( _ x: CGFloat , _ n: Int ) -> CGFloat {
701
565
return CGFloat ( ldexp ( x. native, n) )
702
566
}
703
567
568
+ // Generic implementation on FloatingPoint as of Swift 4.2
569
+ @available ( swift, obsoleted: 4.2 )
704
570
@_transparent
705
571
public func frexp( _ x: CGFloat ) -> ( CGFloat , Int ) {
706
572
let ( frac, exp) = frexp ( x. native)
707
573
return ( CGFloat ( frac) , exp)
708
574
}
709
575
576
+ @available ( swift, deprecated: 4.2 , message: " use the exponent property. " )
710
577
@_transparent
711
578
public func ilogb( _ x: CGFloat ) -> Int {
712
- return ilogb ( x. native )
579
+ return Int ( x. exponent )
713
580
}
714
581
582
+ // Generic implementation on FloatingPoint as of Swift 4.2
583
+ @available ( swift, obsoleted: 4.2 )
715
584
@_transparent
716
585
public func scalbn( _ x: CGFloat , _ n: Int ) -> CGFloat {
717
586
return CGFloat ( scalbn ( x. native, n) )
@@ -729,6 +598,8 @@ public func remquo(_ x: CGFloat, _ y: CGFloat) -> (CGFloat, Int) {
729
598
return ( CGFloat ( rem) , quo)
730
599
}
731
600
601
+ @available ( * , deprecated: 4.2 , message:
602
+ " use CGFloat(nan: CGFloat.RawSignificand) instead. " )
732
603
@_transparent
733
604
public func nan( _ tag: String ) -> CGFloat {
734
605
return CGFloat ( nan ( tag) as CGFloat . NativeType )
0 commit comments