Simplified `Vector<Scalar>` initializers

This commit is contained in:
Vincent Esche 2019-08-19 23:27:57 +02:00
parent df03db0fd9
commit e67cfab808
1 changed files with 7 additions and 6 deletions

View File

@ -36,12 +36,13 @@ public struct Vector<Scalar> where Scalar: FloatingPoint, Scalar: ExpressibleByF
self.init(scalars)
}
public init<T: Collection>(_ contents: T) where T.Element == Scalar {
let scalars = Array(contents)
self.init(scalars)
}
public init(_ scalars: [Scalar]) {
public init<T: Sequence>(_ contents: T) where T.Element == Scalar {
let scalars: [Scalar]
if let array = contents as? [Scalar] {
scalars = array
} else {
scalars = Array(contents)
}
self.dimensions = scalars.count
self.scalars = scalars
}