]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.2 1997/09/02 14:27:05 mclareni | |
6 | * WINNT correction | |
7 | * | |
8 | * Revision 1.1 1997/02/04 17:36:29 mclareni | |
9 | * Merge Winnt and 97a versions | |
10 | * | |
11 | * Revision 1.1.1.1 1996/02/15 17:50:24 mclareni | |
12 | * Kernlib | |
13 | * | |
14 | * | |
15 | FUNCTION IUCOMH (ISTR1, ISTR2, NCH) | |
16 | C | |
17 | C CERN PROGLIB# IUCOMH .VERSION KERNDOS 1.00 920624 | |
18 | C ORIG. FCA+JZ, 20/02/90 | |
19 | C | |
20 | C Compare the two Hollerith strings of NCH bytes length and return | |
21 | C -1 if STRING1 < STRING2 | |
22 | C 0 = | |
23 | C +1 > | |
24 | C which is determined by the first non-identical character. | |
25 | C | |
26 | DIMENSION ISTR1(9), ISTR2(9) | |
27 | C | |
28 | NDO = NCH | |
29 | IF (NDO.LE.0) GO TO 30 | |
30 | NWD = (NDO-1)/4 + 1 | |
31 | ||
32 | DO 29 JW=1,NWD | |
33 | IWD1 = ISTR1(JW) | |
34 | IWD2 = ISTR2(JW) | |
35 | NL = MIN(NDO,4) | |
36 | IF (IWD1. NE. IWD2) THEN | |
37 | ||
38 | DO 28 J=1,NL | |
39 | #ifndef CERNLIB_QF2C | |
40 | ICHAR1 = IAND (IWD1,255) | |
41 | ICHAR2 = IAND (IWD2,255) | |
42 | #else | |
43 | ICHAR1 = AND (IWD1,255) | |
44 | ICHAR2 = AND (IWD2,255) | |
45 | #endif | |
46 | IF (ICHAR1-ICHAR2) 32, 26, 31 | |
47 | #ifndef CERNLIB_QF2C | |
48 | 26 IWD1 = ISHFT (IWD1,-8) | |
49 | 28 IWD2 = ISHFT (IWD2,-8) | |
50 | #else | |
51 | 26 IWD1 = rshift (IWD1,8) | |
52 | 28 IWD2 = rshift (IWD2,8) | |
53 | #endif | |
54 | END IF | |
55 | 29 NDO = NDO - 4 | |
56 | ||
57 | 30 IUCOMH = 0 | |
58 | RETURN | |
59 | ||
60 | 31 IUCOMH = 1 | |
61 | RETURN | |
62 | 32 IUCOMH = -1 | |
63 | RETURN | |
64 | END |