From e35704d13057a395cab48b78413c61f93e9f4089 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Thu, 16 Oct 2025 23:33:31 +0200 Subject: [PATCH] rogueviz::som:: in normalize, fix weird stuff happening when there is no variance --- rogueviz/som/kohonen.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rogueviz/som/kohonen.cpp b/rogueviz/som/kohonen.cpp index c8fa60ca..eb25d1c7 100644 --- a/rogueviz/som/kohonen.cpp +++ b/rogueviz/som/kohonen.cpp @@ -39,7 +39,8 @@ void normalize() { sum += s.val[k], sqsum += s.val[k] * s.val[k]; double variance = sqsum/samples - sqr(sum/samples); - weights[k] = 1 / sqrt(variance); + if(variance == 0) weights[k] = 1; + else weights[k] = 1 / sqrt(variance); } }