示例#1
0
 /*
  * Nastavi zadany bit v poli na hodnotu zadanou vyrazem
  */
 inline void SetBit_inline(unsigned long *jmeno_pole, long index, int vyraz, size_t mez) {
   // kontrola mezi
   if (index > (long)mez || index < 0)
     Error("Index %ld mimo rozsah 0..%ld", index, (long)mez);
   else if (vyraz)
     jmeno_pole[BitPos(index)] |= BitMask(index);
   else
     jmeno_pole[BitPos(index)] &= ~BitMask(index);
 }
示例#2
0
long WINAPI DLLExport Expression(LPRDATA rdPtr,long param1)
{

	long p1 = CNC_GetFirstExpressionParameter(rdPtr, param1, TYPE_INT);
	long p2 = CNC_GetNextExpressionParameter(rdPtr, param1, TYPE_INT);
	char* p3 = (char*)CNC_GetNextExpressionParameter(rdPtr, param1, TYPE_STRING);

	// Performs the wonderfull calculation
	return BitMask(p1,p2,p3);
}
示例#3
0
 /*
  * Ziska hodnotu zadaneho bitu
  */
 inline int GetBit_inline(unsigned long *jmeno_pole, long index, size_t mez) {
   return (index > (long)mez || index < 0) ?
     (Error("Index %ld mimo rozsah 0..%ld", index, (long)mez), 0) :
     ((jmeno_pole[BitPos(index)] & BitMask(index)) != 0);
 }
示例#4
0
unsigned int SingleMask( unsigned int num , char* mask )
{
    return BitMask(num,0,mask);  
}