Coverage for src/flag_gems/ops/logical_and.py: 90%
20 statements
« prev ^ index » next coverage.py v7.6.9, created at 2026-03-24 15:40 +0800
« prev ^ index » next coverage.py v7.6.9, created at 2026-03-24 15:40 +0800
1import logging
3import triton
4import triton.language as tl
6from flag_gems.utils import pointwise_dynamic
8logger = logging.getLogger(__name__)
11@pointwise_dynamic(promotion_methods=[(0, 1, "ALWAYS_BOOL")])
12@triton.jit
13def logical_and_func(x, y):
14 return x.to(tl.int1).logical_and(y.to(tl.int1))
17def logical_and(A, B):
18 logger.debug("GEMS LOGICAL_AND")
19 return logical_and_func(A, B)
22@pointwise_dynamic(promotion_methods=[(0, 1, "ALWAYS_BOOL")])
23@triton.jit
24def logical_and_func_(x, y):
25 return tl.where((x != 0) & (y != 0), 1, 0)
28def logical_and_(A, B):
29 logger.debug("GEMS LOGICAL_AND_")
30 logical_and_func_(A, B, out0=A)
31 return A