1 /***********************************************************************/
5 /* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
7 /* Copyright 1996 Institut National de Recherche en Informatique et */
8 /* en Automatique. All rights reserved. This file is distributed */
9 /* under the terms of the Q Public License version 1.0. */
11 /***********************************************************************/
13 /* Based on public-domain code from Berkeley Yacc */
15 /* $Id: warshall.c 3573 2001-07-12 12:54:24Z doligez $ */
19 void transitive_closure(unsigned int *R, int n)
22 register unsigned mask;
23 register unsigned *rowj;
24 register unsigned *rp;
25 register unsigned *rend;
26 register unsigned *ccol;
27 register unsigned *relend;
28 register unsigned *cword;
29 register unsigned *rowi;
31 rowsize = WORDSIZE(n);
32 relend = R + n*rowsize;
47 rend = rowj + rowsize;
70 void reflexive_transitive_closure(unsigned int *R, int n)
73 register unsigned mask;
74 register unsigned *rp;
75 register unsigned *relend;
77 transitive_closure(R, n);
79 rowsize = WORDSIZE(n);
80 relend = R + n*rowsize;