Made `Vector<Scalar>`’s `var scalars` public, adding explicit test for changes in dimension
This commit is contained in:
parent
9f858668d9
commit
2659ad8f20
|
@ -21,11 +21,13 @@
|
||||||
import Accelerate
|
import Accelerate
|
||||||
|
|
||||||
public struct Vector<Scalar> where Scalar: FloatingPoint, Scalar: ExpressibleByFloatLiteral {
|
public struct Vector<Scalar> where Scalar: FloatingPoint, Scalar: ExpressibleByFloatLiteral {
|
||||||
public var dimensions: Int {
|
public let dimensions: Int
|
||||||
return self.scalars.count
|
|
||||||
}
|
|
||||||
|
|
||||||
var scalars: [Scalar]
|
public var scalars: [Scalar] {
|
||||||
|
didSet {
|
||||||
|
precondition(self.scalars.count == self.dimensions)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: - Initialize
|
// MARK: - Initialize
|
||||||
|
|
||||||
|
@ -40,8 +42,7 @@ public struct Vector<Scalar> where Scalar: FloatingPoint, Scalar: ExpressibleByF
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(_ scalars: [Scalar]) {
|
public init(_ scalars: [Scalar]) {
|
||||||
precondition(!scalars.isEmpty)
|
self.dimensions = scalars.count
|
||||||
|
|
||||||
self.scalars = scalars
|
self.scalars = scalars
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue