1           {*******************************************************}
2                               {FDL Declarations}
3    {Examiner Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039}
4             {Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.}
5           {*******************************************************}
6
7
8                        {DATE : 29-NOV-2010 14:30:20.17}
9
10                             {function RMD.Hash}
11
12
13title function hash;
14
15  function round__(real) : integer;
16  type interfaces__unsigned_32 = integer;
17  type block_index = integer;
18  type message_index = integer;
19  type chain = record
20        h0 : integer;
21        h1 : integer;
22        h2 : integer;
23        h3 : integer;
24        h4 : integer
25     end;
26  type block = array [integer] of integer;
27  type message = array [integer] of block;
28  const ca_init : integer = pending;
29  const cb_init : integer = pending;
30  const cc_init : integer = pending;
31  const cd_init : integer = pending;
32  const ce_init : integer = pending;
33  const message_index__base__first : integer = pending; 
34  const message_index__base__last : integer = pending; 
35  const block_index__base__first : integer = pending; 
36  const block_index__base__last : integer = pending; 
37  const word__base__first : integer = pending; 
38  const word__base__last : integer = pending; 
39  const interfaces__unsigned_32__base__first : integer = pending; 
40  const interfaces__unsigned_32__base__last : integer = pending; 
41  const x__index__subtype__1__first : integer = pending; 
42  const x__index__subtype__1__last : integer = pending; 
43  const message_index__first : integer = pending; 
44  const message_index__last : integer = pending; 
45  const message_index__size : integer = pending; 
46  const block_index__first : integer = pending; 
47  const block_index__last : integer = pending; 
48  const block_index__size : integer = pending; 
49  const chain__size : integer = pending; 
50  const word__first : integer = pending; 
51  const word__last : integer = pending; 
52  const word__modulus : integer = pending; 
53  const word__size : integer = pending; 
54  const interfaces__unsigned_32__first : integer = pending; 
55  const interfaces__unsigned_32__last : integer = pending; 
56  const interfaces__unsigned_32__modulus : integer = pending; 
57  const interfaces__unsigned_32__size : integer = pending; 
58  var x : message;
59  var ca : integer;
60  var cb : integer;
61  var cc : integer;
62  var cd : integer;
63  var ce : integer;
64  var loop__1__i : integer;
65  function rmd_hash(message, integer) : chain;
66  function round_spec(chain, block) : chain;
67  function rounds(chain, integer, message) : chain;
68  var ce__1 : integer;
69  var cd__1 : integer;
70  var cc__1 : integer;
71  var cb__1 : integer;
72  var ca__1 : integer;
73
74end;
75