raw
ffa_ch1_genesis.kv      1 ------------------------------------------------------------------------------
ffa_ch1_genesis.kv 2 ------------------------------------------------------------------------------
ffa_ch1_genesis.kv 3 -- This file is part of 'Finite Field Arithmetic', aka 'FFA'. --
ffa_ch1_genesis.kv 4 -- --
ffa_ch1_genesis.kv 5 -- (C) 2017 Stanislav Datskovskiy ( www.loper-os.org ) --
ffa_ch1_genesis.kv 6 -- http://wot.deedbot.org/17215D118B7239507FAFED98B98228A001ABFFC7.html --
ffa_ch1_genesis.kv 7 -- --
ffa_ch1_genesis.kv 8 -- You do not have, nor can you ever acquire the right to use, copy or --
ffa_ch1_genesis.kv 9 -- distribute this software ; Should you use this software for any purpose, --
ffa_ch1_genesis.kv 10 -- or copy and distribute it to anyone or in any manner, you are breaking --
ffa_ch1_genesis.kv 11 -- the laws of whatever soi-disant jurisdiction, and you promise to --
ffa_ch1_genesis.kv 12 -- continue doing so for the indefinite future. In any case, please --
ffa_ch1_genesis.kv 13 -- always : read and understand any software ; verify any PGP signatures --
ffa_ch1_genesis.kv 14 -- that you use - for any purpose. --
ffa_ch1_genesis.kv 15 -- --
ffa_ch1_genesis.kv 16 -- See also http://trilema.com/2015/a-new-software-licensing-paradigm . --
ffa_ch1_genesis.kv 17 ------------------------------------------------------------------------------
ffa_ch1_genesis.kv 18 ------------------------------------------------------------------------------
ffa_ch1_genesis.kv 19
ffa_ch1_genesis.kv 20 -- FZ -- the fundamental FZ type: an unsigned integer of fixed width,
ffa_ch1_genesis.kv 21 -- i.e. a contiguous array of machine words. There is no 'meta'-anything:
ffa_ch1_genesis.kv 22 -- in particular, there is no normalization nor will there ever be any
ffa_ch1_genesis.kv 23 -- normalization, nor any provisions for resizing, nor any such thing.
ffa_ch1_genesis.kv 24 -- Note that endianness is irrelevant, here and elsewhere in FFA.
ffa_ch1_genesis.kv 25
ffa_ch1_genesis.kv 26 with Words; use Words;
ffa_ch1_genesis.kv 27
ffa_ch1_genesis.kv 28 package FZ_Type is
ffa_ch1_genesis.kv 29
ffa_ch1_genesis.kv 30 pragma Pure;
ffa_ch1_genesis.kv 31
ffa_ch1_genesis.kv 32 -- Indices of all indexable items:
ffa_ch1_genesis.kv 33 type Indices is new Natural;
ffa_ch1_genesis.kv 34
ffa_ch1_genesis.kv 35 -- Index of a particular Word in an FZ:
ffa_ch1_genesis.kv 36 subtype Word_Index is Indices;
ffa_ch1_genesis.kv 37
ffa_ch1_genesis.kv 38 -- The FZ, in person! I.e. a bignum of permanently fixed bitness.
ffa_ch1_genesis.kv 39 type FZ is array(Word_Index range <>) of Word;
ffa_ch1_genesis.kv 40
ffa_ch1_genesis.kv 41 -- A count of Words in an FZ (cannot be 0):
ffa_ch1_genesis.kv 42 subtype Word_Count is Indices range 1 .. Indices'Last;
ffa_ch1_genesis.kv 43
ffa_ch5_egypt.kv 44 -- A count of Bits, anywhere (cannot be 0):
ffa_ch5_egypt.kv 45 subtype Bit_Count is Positive;
ffa_ch5_egypt.kv 46
ffa_ch1_genesis.kv 47 -- An index of a particular ~bit~ in an FZ:
ffa_ch1_genesis.kv 48 subtype FZBit_Index is Indices;
ffa_ch1_genesis.kv 49
ffa_ch1_genesis.kv 50 end FZ_Type;