[BAEL-7530] Fix Norm calculation by performing sqrt operation (#15846)
Co-authored-by: rajatgarg <rajatgarg@adobe.com>
This commit is contained in:
parent
9a7e33f5df
commit
5e91827680
@ -63,7 +63,7 @@ public class VectorAPIExamples {
|
|||||||
public float[] scalarNormOfTwoArrays(float[] arr1, float[] arr2) {
|
public float[] scalarNormOfTwoArrays(float[] arr1, float[] arr2) {
|
||||||
float[] finalResult = new float[arr1.length];
|
float[] finalResult = new float[arr1.length];
|
||||||
for (int i = 0; i < arr1.length; i++) {
|
for (int i = 0; i < arr1.length; i++) {
|
||||||
finalResult[i] = (arr1[i] * arr1[i] + arr2[i] * arr2[i]) * -1.0f;
|
finalResult[i] = (float) Math.sqrt(arr1[i] * arr1[i] + arr2[i] * arr2[i]);
|
||||||
}
|
}
|
||||||
return finalResult;
|
return finalResult;
|
||||||
}
|
}
|
||||||
@ -77,13 +77,13 @@ public class VectorAPIExamples {
|
|||||||
var vb = FloatVector.fromArray(PREFERRED_SPECIES, arr2, i);
|
var vb = FloatVector.fromArray(PREFERRED_SPECIES, arr2, i);
|
||||||
var vc = va.mul(va)
|
var vc = va.mul(va)
|
||||||
.add(vb.mul(vb))
|
.add(vb.mul(vb))
|
||||||
.neg();
|
.sqrt();
|
||||||
vc.intoArray(finalResult, i);
|
vc.intoArray(finalResult, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// tail cleanup
|
// tail cleanup
|
||||||
for (; i < arr1.length; i++) {
|
for (; i < arr1.length; i++) {
|
||||||
finalResult[i] = (arr1[i] * arr1[i] + arr2[i] * arr2[i]) * -1.0f;
|
finalResult[i] = (float) Math.sqrt(arr1[i] * arr1[i] + arr2[i] * arr2[i]);
|
||||||
}
|
}
|
||||||
return finalResult;
|
return finalResult;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public class VectorAPIUnitTest {
|
|||||||
public void whenTwoValuesProvided_thenComputeScalarNorm() {
|
public void whenTwoValuesProvided_thenComputeScalarNorm() {
|
||||||
float[] arr1 = { 1, 2.3f };
|
float[] arr1 = { 1, 2.3f };
|
||||||
float[] arr2 = { 1.3f, 2.0f };
|
float[] arr2 = { 1.3f, 2.0f };
|
||||||
float[] result = { -2.6899998f, -9.29f };
|
float[] result = { 1.6401219f, 3.047950f };
|
||||||
Assertions.assertArrayEquals(result, vector.scalarNormOfTwoArrays(arr1, arr2));
|
Assertions.assertArrayEquals(result, vector.scalarNormOfTwoArrays(arr1, arr2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ public class VectorAPIUnitTest {
|
|||||||
public void whenTwoValuesProvided_thenComputeVectorNorm() {
|
public void whenTwoValuesProvided_thenComputeVectorNorm() {
|
||||||
float[] arr1 = { 1, 2.3f };
|
float[] arr1 = { 1, 2.3f };
|
||||||
float[] arr2 = { 1.3f, 2.0f };
|
float[] arr2 = { 1.3f, 2.0f };
|
||||||
float[] result = { -2.6899998f, -9.29f };
|
float[] result = { 1.6401219f, 3.047950f };
|
||||||
Assertions.assertArrayEquals(result, vector.vectorNormalForm(arr1, arr2));
|
Assertions.assertArrayEquals(result, vector.vectorNormalForm(arr1, arr2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user