mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 15:53:03 +04:00
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
This commit is contained in:
@@ -1227,18 +1227,14 @@ inline int v_signmask(const v_uint8x32& a)
|
||||
{ return v_signmask(v_reinterpret_as_s8(a)); }
|
||||
|
||||
inline int v_signmask(const v_int16x16& a)
|
||||
{
|
||||
v_int8x32 v = v_int8x32(_mm256_packs_epi16(a.val, a.val));
|
||||
return v_signmask(v) & 255;
|
||||
}
|
||||
{ return v_signmask(v_pack(a, a)) & 0xFFFF; }
|
||||
inline int v_signmask(const v_uint16x16& a)
|
||||
{ return v_signmask(v_reinterpret_as_s16(a)); }
|
||||
|
||||
inline int v_signmask(const v_int32x8& a)
|
||||
{
|
||||
__m256i a16 = _mm256_packs_epi32(a.val, a.val);
|
||||
v_int8x32 v = v_int8x32(_mm256_packs_epi16(a16, a16));
|
||||
return v_signmask(v) & 15;
|
||||
v_int16x16 a16 = v_pack(a, a);
|
||||
return v_signmask(v_pack(a16, a16)) & 0xFF;
|
||||
}
|
||||
inline int v_signmask(const v_uint32x8& a)
|
||||
{ return v_signmask(v_reinterpret_as_s32(a)); }
|
||||
|
||||
@@ -266,7 +266,7 @@ public class MatTest extends OpenCVTestCase {
|
||||
|
||||
public void testEmpty() {
|
||||
assertTrue(dst.empty());
|
||||
assertTrue(!gray0.empty());
|
||||
assertFalse(gray0.empty());
|
||||
}
|
||||
|
||||
public void testEyeIntIntInt() {
|
||||
@@ -1194,7 +1194,7 @@ public class MatTest extends OpenCVTestCase {
|
||||
}
|
||||
|
||||
public void testToString() {
|
||||
assertTrue(null != gray0.toString());
|
||||
assertNotNull(gray0.toString());
|
||||
}
|
||||
|
||||
public void testTotal() {
|
||||
|
||||
@@ -48,7 +48,7 @@ public class RotatedRectTest extends OpenCVTestCase {
|
||||
RotatedRect rrect = new RotatedRect(center, size, angle);
|
||||
RotatedRect clone = rrect.clone();
|
||||
|
||||
assertTrue(clone != null);
|
||||
assertNotNull(clone);
|
||||
assertTrue(rrect.center.equals(clone.center));
|
||||
assertTrue(rrect.size.equals(clone.size));
|
||||
assertTrue(rrect.angle == clone.angle);
|
||||
@@ -66,24 +66,24 @@ public class RotatedRectTest extends OpenCVTestCase {
|
||||
RotatedRect clone2 = rrect2.clone();
|
||||
|
||||
assertTrue(rrect1.equals(rrect3));
|
||||
assertTrue(!rrect1.equals(rrect2));
|
||||
assertFalse(rrect1.equals(rrect2));
|
||||
|
||||
assertTrue(rrect2.equals(clone2));
|
||||
clone2.angle = 10;
|
||||
assertTrue(!rrect2.equals(clone2));
|
||||
assertFalse(rrect2.equals(clone2));
|
||||
|
||||
assertTrue(rrect1.equals(clone1));
|
||||
|
||||
clone1.center.x += 1;
|
||||
assertTrue(!rrect1.equals(clone1));
|
||||
assertFalse(rrect1.equals(clone1));
|
||||
|
||||
clone1.center.x -= 1;
|
||||
assertTrue(rrect1.equals(clone1));
|
||||
|
||||
clone1.size.width += 1;
|
||||
assertTrue(!rrect1.equals(clone1));
|
||||
assertFalse(rrect1.equals(clone1));
|
||||
|
||||
assertTrue(!rrect1.equals(size));
|
||||
assertFalse(rrect1.equals(size));
|
||||
}
|
||||
|
||||
public void testHashCode() {
|
||||
@@ -140,10 +140,10 @@ public class RotatedRectTest extends OpenCVTestCase {
|
||||
public void testRotatedRect() {
|
||||
RotatedRect rr = new RotatedRect();
|
||||
|
||||
assertTrue(rr != null);
|
||||
assertTrue(rr.center != null);
|
||||
assertTrue(rr.size != null);
|
||||
assertTrue(rr.angle == 0.0);
|
||||
assertNotNull(rr);
|
||||
assertNotNull(rr.center);
|
||||
assertNotNull(rr.size);
|
||||
assertEquals(0.0, rr.angle);
|
||||
}
|
||||
|
||||
public void testRotatedRectDoubleArray() {
|
||||
@@ -161,10 +161,10 @@ public class RotatedRectTest extends OpenCVTestCase {
|
||||
public void testRotatedRectPointSizeDouble() {
|
||||
RotatedRect rr = new RotatedRect(center, size, 40);
|
||||
|
||||
assertTrue(rr != null);
|
||||
assertTrue(rr.center != null);
|
||||
assertTrue(rr.size != null);
|
||||
assertTrue(rr.angle == 40.0);
|
||||
assertNotNull(rr);
|
||||
assertNotNull(rr.center);
|
||||
assertNotNull(rr.size);
|
||||
assertEquals(40.0, rr.angle);
|
||||
}
|
||||
|
||||
public void testSet() {
|
||||
|
||||
@@ -32,8 +32,7 @@ template <> struct initializer<64>
|
||||
return R(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10], d[11], d[12], d[13], d[14], d[15],
|
||||
d[16], d[17], d[18], d[19], d[20], d[21], d[22], d[23], d[24], d[25], d[26], d[27], d[28], d[29], d[30], d[31],
|
||||
d[32], d[33], d[34], d[35], d[36], d[37], d[38], d[39], d[40], d[41], d[42], d[43], d[44], d[45], d[46], d[47],
|
||||
d[48], d[49], d[50], d[51], d[52], d[53], d[54], d[55], d[56], d[57], d[58], d[59], d[50], d[51], d[52], d[53],
|
||||
d[54], d[55], d[56], d[57], d[58], d[59], d[60], d[61], d[62], d[63]);
|
||||
d[48], d[49], d[50], d[51], d[52], d[53], d[54], d[55], d[56], d[57], d[58], d[59], d[60], d[61], d[62], d[63]);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -660,7 +659,7 @@ template<typename R> struct TheTest
|
||||
{
|
||||
SCOPED_TRACE(cv::format("i=%d", i));
|
||||
EXPECT_COMPARE_EQ((float)std::sqrt(dataA[i]), (float)resB[i]);
|
||||
EXPECT_COMPARE_EQ(1/(float)std::sqrt(dataA[i]), (float)resC[i]);
|
||||
EXPECT_COMPARE_EQ((float)(1/std::sqrt(dataA[i])), (float)resC[i]);
|
||||
EXPECT_COMPARE_EQ((float)abs(dataA[i]), (float)resE[i]);
|
||||
}
|
||||
|
||||
@@ -808,8 +807,8 @@ template<typename R> struct TheTest
|
||||
dataC *= (LaneType)-1;
|
||||
R a = dataA, b = dataB, c = dataC, d = dataD, e = dataE;
|
||||
|
||||
int m = v_signmask(a);
|
||||
EXPECT_EQ(2, m);
|
||||
EXPECT_EQ(2, v_signmask(a));
|
||||
EXPECT_EQ(2 | (1 << (R::nlanes / 2)) | (1 << (R::nlanes - 1)), v_signmask(b));
|
||||
|
||||
EXPECT_EQ(false, v_check_all(a));
|
||||
EXPECT_EQ(false, v_check_all(b));
|
||||
|
||||
Reference in New Issue
Block a user