extensionNSNumber:ExpressibleByFloatLiteral,ExpressibleByIntegerLiteral,ExpressibleByBooleanLiteral{/// Create an instance initialized to `value`.@nonobjcrequiredpublicconvenienceinit(integerLiteralvalue:Int)/// Create an instance initialized to `value`.@nonobjcrequiredpublicconvenienceinit(floatLiteralvalue:Double)/// Create an instance initialized to `value`.@nonobjcrequiredpublicconvenienceinit(booleanLiteralvalue:Bool)/// A type that represents a Boolean literal, such as `Bool`.publictypealiasBooleanLiteralType=Bool/// A type that represents a floating-point literal.////// Valid types for `FloatLiteralType` are `Float`, `Double`, and `Float80`/// where available.publictypealiasFloatLiteralType=Double/// A type that represents an integer literal.////// The standard library integer and floating-point types are all valid types/// for `IntegerLiteralType`.publictypealiasIntegerLiteralType=Int}
/// A type that can be initialized with a floating-point literal.////// The standard library floating-point types---`Float`, `Double`, and/// `Float80` where available---all conform to the `ExpressibleByFloatLiteral`/// protocol. You can initialize a variable or constant of any of these types/// by assigning a floating-point literal.////// // Type inferred as 'Double'/// let threshold = 6.0////// // An array of 'Double'/// let measurements = [2.2, 4.1, 3.65, 4.2, 9.1]////// Conforming to ExpressibleByFloatLiteral/// =======================================////// To add `ExpressibleByFloatLiteral` conformance to your custom type,/// implement the required initializer.publicprotocolExpressibleByFloatLiteral{/// A type that represents a floating-point literal.////// Valid types for `FloatLiteralType` are `Float`, `Double`, and `Float80`/// where available.associatedtypeFloatLiteralType:_ExpressibleByBuiltinFloatLiteral/// Creates an instance initialized to the specified floating-point value.////// Do not call this initializer directly. Instead, initialize a variable or/// constant using a floating-point literal. For example:////// let x = 21.5////// In this example, the assignment to the `x` constant calls this/// floating-point literal initializer behind the scenes.////// - Parameter value: The value to create.init(floatLiteralvalue:Self.FloatLiteralType)}