1 ------------------------------------------------------------------------------ 2 ------------------------------------------------------------------------------ 3 -- This file is part of 'Finite Field Arithmetic', aka 'FFA'. -- 4 -- -- 5 -- (C) 2019 Stanislav Datskovskiy ( www.loper-os.org ) -- 6 -- http://wot.deedbot.org/17215D118B7239507FAFED98B98228A001ABFFC7.html -- 7 -- -- 8 -- You do not have, nor can you ever acquire the right to use, copy or -- 9 -- distribute this software ; Should you use this software for any purpose, -- 10 -- or copy and distribute it to anyone or in any manner, you are breaking -- 11 -- the laws of whatever soi-disant jurisdiction, and you promise to -- 12 -- continue doing so for the indefinite future. In any case, please -- 13 -- always : read and understand any software ; verify any PGP signatures -- 14 -- that you use - for any purpose. -- 15 -- -- 16 -- See also http://trilema.com/2015/a-new-software-licensing-paradigm . -- 17 ------------------------------------------------------------------------------ 18 ------------------------------------------------------------------------------ 19 20 with Words; use Words; 21 22 -- Elementary Predicates on Words: 23 package W_Pred is 24 25 pragma Pure; 26 27 -- Return 1 if N is equal to 0; otherwise return 0. 28 function W_ZeroP(N : in Word) return WBool; 29 pragma Inline_Always(W_ZeroP); 30 31 -- Return 1 if N is unequal to 0; otherwise return 0. 32 function W_NZeroP(N : in Word) return WBool; 33 pragma Inline_Always(W_NZeroP); 34 35 -- Return WBool-complement of N. 36 function W_Not(N : in WBool) return WBool; 37 pragma Inline_Always(W_Not); 38 39 -- Return 1 if N is odd; otherwise return 0. 40 function W_OddP(N : in Word) return WBool; 41 pragma Inline_Always(W_OddP); 42 43 -- Return 1 if A is equal to B ; otherwise return 0. 44 function W_EqP(A : in Word; B : in Word) return WBool; 45 pragma Inline_Always(W_EqP); 46 47 -- Return 1 if A is less than B ; otherwise return 0. 48 function W_LtP(A : in Word; B : in Word) return WBool; 49 pragma Inline_Always(W_LtP); 50 51 end W_Pred;