From fa5aba002c219b665b6500b2bd14b20efa0a87b1 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Sun, 17 Sep 2023 23:24:01 -0400 Subject: [PATCH] Fix TensorPrimitives.CosineSimilarity to use vectorized implementations --- .../src/System/Numerics/Tensors/TensorPrimitives.cs | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs index f9191108f1d67..a400095b08ad3 100644 --- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs +++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs @@ -271,18 +271,7 @@ public static float CosineSimilarity(ReadOnlySpan x, ReadOnlySpan ThrowHelper.ThrowArgument_SpansMustHaveSameLength(); } - float dotprod = 0f; - float magx = 0f; - float magy = 0f; - - for (int i = 0; i < x.Length; i++) - { - dotprod += x[i] * y[i]; - magx += x[i] * x[i]; - magy += y[i] * y[i]; - } - - return dotprod / (MathF.Sqrt(magx) * MathF.Sqrt(magy)); + return CosineSimilarityCore(x, y); } ///