blob: 098261c012c6ce06a29acaba7e1072f3cba771e1 [file] [log] [blame]
-- Copyright 2021 Free Software Foundation, Inc.
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
package Twovecs is
type My_Integer is mod 2**16 ;
type Twovec is private;
function Pt (X, Y : My_Integer) return Twovec;
function "+" (P0, P1 : Twovec) return Twovec;
function "-" (P0, P1 : Twovec) return Twovec;
function "*" (P0, P1 : Twovec) return Twovec;
function "/" (P0, P1 : Twovec) return Twovec;
function "mod" (P0, P1 : Twovec) return Twovec;
function "rem" (P0, P1 : Twovec) return Twovec;
function "**" (P0, P1 : Twovec) return Twovec;
function "<" (P0, P1 : Twovec) return Boolean;
function "<=" (P0, P1 : Twovec) return Boolean;
function ">" (P0, P1 : Twovec) return Boolean;
function ">=" (P0, P1 : Twovec) return Boolean;
function "=" (P0, P1 : Twovec) return Boolean;
function "and" (P0, P1 : Twovec) return Twovec;
function "or" (P0, P1 : Twovec) return Twovec;
function "xor" (P0, P1 : Twovec) return Twovec;
function "&" (P0, P1 : Twovec) return Twovec;
function "abs" (P0 : Twovec) return Twovec;
function "not" (P0 : Twovec) return Twovec;
function "+" (P0 : Twovec) return Twovec;
function "-" (P0 : Twovec) return Twovec;
procedure Do_Nothing (P : Twovec);
private
type Twovec is record
X, Y : My_Integer;
end record;
end Twovecs;