.. index:: single: integer .. _integer/0: .. rst-class:: right **object** ``integer`` =========== Integer data type predicates. | **Availability:** | ``logtalk_load(types(loader))`` | **Author:** Paulo Moura | **Version:** 1:56:0 | **Date:** 2025-05-26 | **Compilation flags:** | ``static, context_switching_calls`` | **Extends:** | ``public`` :ref:`number ` | **Remarks:** - Portability notes: This object will use the backend Prolog system ``between/3``, ``plus/3``, and ``succ/2`` built-in predicates when available. | **Inherited public predicates:** |  :ref:`comparingp/0::(<)/2`  :ref:`comparingp/0::(=:=)/2`  :ref:`comparingp/0::(=<)/2`  :ref:`comparingp/0::(=\=)/2`  :ref:`number/0::=~= / 2`  :ref:`comparingp/0::(>)/2`  :ref:`comparingp/0::(>=)/2`  :ref:`number/0::approximately_equal/2`  :ref:`number/0::approximately_equal/3`  :ref:`termp/0::check/1`  :ref:`termp/0::depth/2`  :ref:`number/0::essentially_equal/3`  :ref:`termp/0::ground/1`  :ref:`termp/0::new/1`  :ref:`termp/0::numbervars/1`  :ref:`termp/0::numbervars/3`  :ref:`termp/0::occurs/2`  :ref:`termp/0::singletons/2`  :ref:`termp/0::subsumes/2`  :ref:`termp/0::subterm/2`  :ref:`number/0::tolerance_equal/4`  :ref:`termp/0::valid/1`  :ref:`termp/0::variables/2`  :ref:`termp/0::variant/2`  :ref:`termp/0::varnumbers/2`  :ref:`termp/0::varnumbers/3`   .. contents:: :local: :backlinks: top Public predicates ----------------- .. index:: between/3 .. _integer/0::between/3: ``between/3`` ^^^^^^^^^^^^^ Returns integers in the interval defined by the two first arguments. | **Compilation flags:** | ``static`` | **Template:** | ``between(Lower,Upper,Integer)`` | **Mode and number of proofs:** | ``between(+integer,+integer,+integer)`` - ``zero_or_one`` | ``between(+integer,+integer,-integer)`` - ``zero_or_more`` ------------ .. index:: plus/3 .. _integer/0::plus/3: ``plus/3`` ^^^^^^^^^^ Reversible integer sum. At least two of the arguments must be instantiated to integers. | **Compilation flags:** | ``static`` | **Template:** | ``plus(I,J,Sum)`` | **Mode and number of proofs:** | ``plus(+integer,+integer,?integer)`` - ``zero_or_one`` | ``plus(+integer,?integer,+integer)`` - ``zero_or_one`` | ``plus(?integer,+integer,+integer)`` - ``zero_or_one`` ------------ .. index:: succ/2 .. _integer/0::succ/2: ``succ/2`` ^^^^^^^^^^ Successor of a natural number. At least one of the arguments must be instantiated to a natural number. | **Compilation flags:** | ``static`` | **Template:** | ``succ(I,J)`` | **Mode and number of proofs:** | ``succ(+integer,?integer)`` - ``zero_or_one`` | ``succ(?integer,+integer)`` - ``zero_or_one`` ------------ .. index:: sequence/3 .. _integer/0::sequence/3: ``sequence/3`` ^^^^^^^^^^^^^^ Generates a list with the sequence of all integers in the interval ``[Lower,Upper]``. Assumes ``Lower =< Upper`` and fails otherwise. | **Compilation flags:** | ``static`` | **Template:** | ``sequence(Lower,Upper,List)`` | **Mode and number of proofs:** | ``sequence(+integer,+integer,-list(integer))`` - ``zero_or_one`` ------------ .. index:: sequence/4 .. _integer/0::sequence/4: ``sequence/4`` ^^^^^^^^^^^^^^ Generates a list with the sequence of integers in the interval ``[Lower,Upper]`` by ``Step``. Assumes ``Lower =< Upper, Step >= 1`` and fails otherwise. | **Compilation flags:** | ``static`` | **Template:** | ``sequence(Lower,Upper,Step,List)`` | **Mode and number of proofs:** | ``sequence(+integer,+integer,+integer,-list(integer))`` - ``zero_or_one`` ------------ .. index:: power_sequence/4 .. _integer/0::power_sequence/4: ``power_sequence/4`` ^^^^^^^^^^^^^^^^^^^^ Generates a list of exponentiation results given ``[Lower,Upper]`` sequence of exponents and ``Base``. Assumes ``Lower =< Upper`` and ``Base > 1`` and fails otherwise. | **Compilation flags:** | ``static`` | **Template:** | ``power_sequence(Lower,Upper,Base,List)`` | **Mode and number of proofs:** | ``power_sequence(+integer,+integer,+integer,-list(integer))`` - ``zero_or_one`` ------------ Protected predicates -------------------- (no local declarations; see entity ancestors if any) Private predicates ------------------ (no local declarations; see entity ancestors if any) Operators --------- (none)