`Double(Float.signalingNaN).isSignalingNaN`

is `false`

.

Is this a bug?

```
extension Float {
var bits: String { String(self.bitPattern, radix: 2) + String(repeating: " ", count: 32) }
}
extension Double {
var bits: String { String(self.bitPattern, radix: 2) }
}
print("""
Value | Bit pattern | isNaN | isSignalingNaN
---------------------------|-----------------------------------------------------------------|-------|----------------
Double.nan | \(Double.nan.bits ) | \(Double.nan .isNaN) | \(Double.nan .isSignalingNaN) âś…
Double.signalingNaN | \(Double.signalingNaN.bits ) | \(Double.signalingNaN .isNaN) | \(Double.signalingNaN .isSignalingNaN) âś…
Float.nan | \( Float.nan.bits ) | \( Float.nan .isNaN) | \(Float.nan .isSignalingNaN) âś…
Float.signalingNaN | \( Float.signalingNaN.bits ) | \( Float.signalingNaN .isNaN) | \(Float.signalingNaN .isSignalingNaN) âś…
Double(Float.nan) | \(Double(Float.nan).bits ) | \(Double(Float.nan) .isNaN) | \(Double(Float.nan) .isSignalingNaN) âś…
Double(Float.signalingNaN) | \(Double(Float.signalingNaN).bits) | \(Double(Float.signalingNaN).isNaN) | \(Double(Float.signalingNaN).isSignalingNaN) âť“
^ Why is this bit set?
""")
```

Value | Bit pattern | isNaN | isSignalingNaN |
---|---|---|---|

Double.nan | `111111111111000000000000000000000000000000000000000000000000000` |
true | false |

Double.signalingNaN | `111111111110100000000000000000000000000000000000000000000000000` |
true | true |

Float.nan | `1111111110000000000000000000000 ` |
true | false |

Float.signalingNaN | `1111111101000000000000000000000 ` |
true | true |

Double(Float.nan) | `111111111111000000000000000000000000000000000000000000000000000` |
true | false |

Double(Float.signalingNaN) | `111111111111100000000000000000000000000000000000000000000000000` |
true | false |

`-----------^ Why is this bit set?` |