"""Arithmetic data structure and utility""" from __future__ import absolute_import as _abs from ._ffi.node import NodeBase, register_node from ._ffi.function import _init_api from . import _api_internal class IntSet(NodeBase): """Represent a set of integer in one dimension.""" def is_nothing(self): """Whether the set represent nothing""" return _api_internal._IntSetIsNothing(self) def is_everything(self): """Whether the set represent everything""" return _api_internal._IntSetIsEverything(self) @register_node class IntervalSet(IntSet): """Represent set of continuous interval""" def min(self): """get the minimum value""" return _api_internal._IntervalSetGetMin(self) def max(self): """get the maximum value""" return _api_internal._IntervalSetGetMax(self) @register_node class StrideSet(IntSet): """Represent set of strided integers""" pass @register_node class ModularSet(IntSet): """Represent range of (coeff * x + base) for x in Z """ pass _init_api("tvm.arith")