228 unsigned * pSims, * pSims1, * pSims2;
230 int fCompl, fCompl1, fCompl2, i;
240 fCompl = pNode->
fInv;
246 if ( fCompl1 && fCompl2 )
249 for ( i = iWordStart; i < iWordStop; i++ )
251 pSims[i] = (pSims1[i] | pSims2[i]);
255 for ( i = iWordStart; i < iWordStop; i++ )
257 pSims[i] = ~(pSims1[i] | pSims2[i]);
261 else if ( fCompl1 && !fCompl2 )
264 for ( i = iWordStart; i < iWordStop; i++ )
266 pSims[i] = (pSims1[i] | ~pSims2[i]);
270 for ( i = iWordStart; i < iWordStop; i++ )
272 pSims[i] = (~pSims1[i] & pSims2[i]);
276 else if ( !fCompl1 && fCompl2 )
279 for ( i = iWordStart; i < iWordStop; i++ )
281 pSims[i] = (~pSims1[i] | pSims2[i]);
285 for ( i = iWordStart; i < iWordStop; i++ )
287 pSims[i] = (pSims1[i] & ~pSims2[i]);
294 for ( i = iWordStart; i < iWordStop; i++ )
296 pSims[i] = ~(pSims1[i] & pSims2[i]);
300 for ( i = iWordStart; i < iWordStop; i++ )
302 pSims[i] = (pSims1[i] & pSims2[i]);