Skip to content

Commit 5e91827

Browse files
rajat-gargrajatgarg
andauthored
[BAEL-7530] Fix Norm calculation by performing sqrt operation (#15846)
Co-authored-by: rajatgarg <rajatgarg@adobe.com>
1 parent 9a7e33f commit 5e91827

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

core-java-modules/core-java-19/src/main/java/com/baeldung/vectors/VectorAPIExamples.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public int[] addTwoVectorsWithMasks(int[] arr1, int[] arr2) {
6363
public float[] scalarNormOfTwoArrays(float[] arr1, float[] arr2) {
6464
float[] finalResult = new float[arr1.length];
6565
for (int i = 0; i < arr1.length; i++) {
66-
finalResult[i] = (arr1[i] * arr1[i] + arr2[i] * arr2[i]) * -1.0f;
66+
finalResult[i] = (float) Math.sqrt(arr1[i] * arr1[i] + arr2[i] * arr2[i]);
6767
}
6868
return finalResult;
6969
}
@@ -77,13 +77,13 @@ public float[] vectorNormalForm(float[] arr1, float[] arr2) {
7777
var vb = FloatVector.fromArray(PREFERRED_SPECIES, arr2, i);
7878
var vc = va.mul(va)
7979
.add(vb.mul(vb))
80-
.neg();
80+
.sqrt();
8181
vc.intoArray(finalResult, i);
8282
}
8383

8484
// tail cleanup
8585
for (; i < arr1.length; i++) {
86-
finalResult[i] = (arr1[i] * arr1[i] + arr2[i] * arr2[i]) * -1.0f;
86+
finalResult[i] = (float) Math.sqrt(arr1[i] * arr1[i] + arr2[i] * arr2[i]);
8787
}
8888
return finalResult;
8989
}

core-java-modules/core-java-19/src/test/java/com/baeldung/vectors/VectorAPIUnitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ public void whenTwoArraysProvided_thenVerifyVectorAdd() {
2828
public void whenTwoValuesProvided_thenComputeScalarNorm() {
2929
float[] arr1 = { 1, 2.3f };
3030
float[] arr2 = { 1.3f, 2.0f };
31-
float[] result = { -2.6899998f, -9.29f };
31+
float[] result = { 1.6401219f, 3.047950f };
3232
Assertions.assertArrayEquals(result, vector.scalarNormOfTwoArrays(arr1, arr2));
3333
}
3434

3535
@Test
3636
public void whenTwoValuesProvided_thenComputeVectorNorm() {
3737
float[] arr1 = { 1, 2.3f };
3838
float[] arr2 = { 1.3f, 2.0f };
39-
float[] result = { -2.6899998f, -9.29f };
39+
float[] result = { 1.6401219f, 3.047950f };
4040
Assertions.assertArrayEquals(result, vector.vectorNormalForm(arr1, arr2));
4141
}
4242

0 commit comments

Comments
 (0)