diff --git a/prettyvec.nimble b/prettyvec.nimble index fe7d8cf..7c4b227 100644 --- a/prettyvec.nimble +++ b/prettyvec.nimble @@ -1,7 +1,7 @@ [Package] name = "prettyvec" author = "prettybauble" -version = "1.0.0" +version = "1.0.1" description = "Small library for working with vectors" license = "MIT" srcDir = "src" diff --git a/src/prettyvec/vec2/vec2_math.nim b/src/prettyvec/vec2/vec2_math.nim index 52ba0b0..c2779f3 100644 --- a/src/prettyvec/vec2/vec2_math.nim +++ b/src/prettyvec/vec2/vec2_math.nim @@ -26,6 +26,10 @@ func `*`*(a, b: Vec2Obj): Vec2Obj = vec2(a.x * b.x, a.y * b.y) +func `-`*(a: Vec2Obj): Vec2Obj = + ## Negates the vector + vec2(-a.x, -a.y) + func `-`*(a: Vec2Obj, b: float): Vec2Obj = vec2(a.x - b, a.y - b) diff --git a/src/prettyvec/vec3/vec3_math.nim b/src/prettyvec/vec3/vec3_math.nim index ee4dc0a..62a60c4 100644 --- a/src/prettyvec/vec3/vec3_math.nim +++ b/src/prettyvec/vec3/vec3_math.nim @@ -26,6 +26,10 @@ func `*`*(a, b: Vec3Obj): Vec3Obj = vec3(a.x * b.x, a.y * b.y, a.z * b.z) +func `-`*(a: Vec3Obj): Vec3Obj = + ## Negates the vector + vec3(-a.x, -a.y, -a.z) + func `-`*(a: Vec3Obj, b: float): Vec3Obj = vec3(a.x - b, a.y - b, a.z - b) diff --git a/tests/test1.nim b/tests/test1.nim index c4581ac..3c5fac9 100644 --- a/tests/test1.nim +++ b/tests/test1.nim @@ -17,6 +17,8 @@ suite "Vec2": assert vec2(1) - 5 == vec2(-4) assert vec2(1) / 5 == vec2(0.2) + assert -vec2(1, -2) == vec2(-1, 2) + test "basic math": assert sqrt(vec2(4)) == vec2(2) assert pow(vec2(2), 3) == vec2(8, 8) @@ -42,6 +44,8 @@ suite "Vec3": assert vec3(1) - 5 == vec3(-4) assert vec3(1) / 5 == vec3(0.2) + assert -vec3(1, -2, 3) == vec3(-1, 2, -3) + test "basic math": assert sqrt(vec3(4)) == vec3(2) assert pow(vec3(4), 3) == vec3(64)