File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -639,6 +639,12 @@ internal class CBORParser {
639639 } else {
640640 result = ( . nan, 3 )
641641 }
642+ } else if half. isInfinite {
643+ if half. sign == . minus {
644+ result = ( - . infinity, 3 )
645+ } else {
646+ result = ( . infinity, 3 )
647+ }
642648 } else if let value = T ( exactly: half) {
643649 result = ( value, 3 )
644650 } else {
@@ -659,6 +665,12 @@ internal class CBORParser {
659665 } else {
660666 result = ( . nan, 5 )
661667 }
668+ } else if float. isInfinite {
669+ if float. sign == . minus {
670+ result = ( - . infinity, 5 )
671+ } else {
672+ result = ( . infinity, 5 )
673+ }
662674 } else if let value = T ( exactly: float) {
663675 result = ( value, 5 )
664676 } else {
@@ -679,6 +691,12 @@ internal class CBORParser {
679691 } else {
680692 result = ( . nan, 9 )
681693 }
694+ } else if double. isInfinite {
695+ if double. sign == . minus {
696+ result = ( - . infinity, 9 )
697+ } else {
698+ result = ( . infinity, 9 )
699+ }
682700 } else if let value = T ( exactly: double) {
683701 result = ( value, 9 )
684702 } else {
You can’t perform that action at this time.
0 commit comments