MCPcopy Create free account
hub / github.com/numpy/numpy / test_operators_logical

Method test_operators_logical

numpy/core/tests/test_simd.py:1040–1076  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1038 assert cmp == data_cmp
1039
1040 def test_operators_logical(self):
1041 if self._is_fp():
1042 data_a = self._data()
1043 else:
1044 data_a = self._data(self._int_max() - self.nlanes)
1045 data_b = self._data(self._int_min(), reverse=True)
1046 vdata_a, vdata_b = self.load(data_a), self.load(data_b)
1047
1048 if self._is_fp():
1049 data_cast_a = self._to_unsigned(vdata_a)
1050 data_cast_b = self._to_unsigned(vdata_b)
1051 cast, cast_data = self._to_unsigned, self._to_unsigned
1052 else:
1053 data_cast_a, data_cast_b = data_a, data_b
1054 cast, cast_data = lambda a: a, self.load
1055
1056 data_xor = cast_data([a ^ b for a, b in zip(data_cast_a, data_cast_b)])
1057 vxor = cast(self.xor(vdata_a, vdata_b))
1058 assert vxor == data_xor
1059
1060 data_or = cast_data([a | b for a, b in zip(data_cast_a, data_cast_b)])
1061 vor = cast(getattr(self, "or")(vdata_a, vdata_b))
1062 assert vor == data_or
1063
1064 data_and = cast_data([a & b for a, b in zip(data_cast_a, data_cast_b)])
1065 vand = cast(getattr(self, "and")(vdata_a, vdata_b))
1066 assert vand == data_and
1067
1068 data_not = cast_data([~a for a in data_cast_a])
1069 vnot = cast(getattr(self, "not")(vdata_a))
1070 assert vnot == data_not
1071
1072 if self.sfx not in ("u8"):
1073 return
1074 data_andc = [a & ~b for a, b in zip(data_cast_a, data_cast_b)]
1075 vandc = cast(getattr(self, "andc")(vdata_a, vdata_b))
1076 assert vandc == data_andc
1077
1078 @pytest.mark.parametrize("intrin", ["any", "all"])
1079 @pytest.mark.parametrize("data", (

Callers

nothing calls this directly

Calls 5

_is_fpMethod · 0.80
_int_maxMethod · 0.80
_int_minMethod · 0.80
_to_unsignedMethod · 0.80
_dataMethod · 0.45

Tested by

no test coverage detected