changed reading hint
[gromacs/adressmacs.git] / src / gmxlib / buffer.c
blobdb8cad0e4ce954fd554d01e03ea4f7dbdca908de
1 /*
2 * $Id$
3 *
4 * This source code is part of
5 *
6 * G R O M A C S
7 *
8 * GROningen MAchine for Chemical Simulations
9 *
10 * VERSION 2.0
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * Please refer to:
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
23 * or e-mail to:
24 * gromacs@chem.rug.nl
26 * And Hey:
27 * Green Red Orange Magenta Azure Cyan Skyblue
29 static char *SRCID_buffer_c = "$Id$";
31 #include "buffer.h"
33 extern int filler;
35 int mask(int i)
38 return filler;
40 return (i&0xff)|(((i+1)&0xff)<<8)|(((i+2)&0xff)<<16)|(((i+3)&0xff)<<24);
42 int result,j;
44 i=-13-i;
45 result=i<<12;
46 i&=0x1f;
47 for (j=0; j<i; j++) result=(result<<7)^i;
48 return result;
52 void clear_buff(int data[],int items)
54 int i;
56 for (i=0; i<items; i++) data[i]=0;
59 #define ERR_MASK 0xaa55aa55
61 void fill_buff(int data[],int items)
63 int i;
65 for (i=0; i<items; i++) data[i]=mask(i);
66 /*for (i=0; i<items; i++) data[i]=ERR_MASK;*/
69 int check_buff(FILE *fp,char *title,int data[],int items,int verbose)
71 int i,errs,check,comp;
73 errs=0;
74 if (!verbose)
75 for (i=0; i<items; i++) { if (data[i]!=mask(i)) errs++; }
76 else
78 for (i=0; i<items; i++)
80 check=data[i];
81 /* comp=ERR_MASK; */
82 comp=mask(i);
83 if (check!=comp)
85 fprintf(fp,"error: (%s) data: 0x%.8x, expected: 0x%.8x\n",
86 title,(unsigned int)check,(unsigned int)comp);
87 errs++;
91 return errs;