From 66315d0219a1a43e5a1b7e86626804c36cd02a64 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Wed, 12 Jan 2022 12:16:55 +0100 Subject: [PATCH] Add vector.normalize_zero --- vector.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/vector.lua b/vector.lua index c376601..7274ac3 100644 --- a/vector.lua +++ b/vector.lua @@ -162,6 +162,19 @@ function normalize(v) return divide_scalar(v, length(v)) end +function normalize_zero(v) + local len = length(v) + if len == 0 then + -- Return a zeroed vector with the same keys + local zeroed = {} + for k in pairs(v) do + zeroed[k] = 0 + end + return new(zeroed) + end + return divide_scalar(v, len) +end + function floor(v) return apply(v, math.floor) end