Lines Matching defs:pValue2

115  * @param   pValue2             The second value.
117 DECLINLINE(PRTUINT128U) RTUInt128Add(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
119 pResult->s.Hi = pValue1->s.Hi + pValue2->s.Hi;
120 pResult->s.Lo = pValue1->s.Lo + pValue2->s.Lo;
151 * @param pValue2 The subtrahend value.
153 DECLINLINE(PRTUINT128U) RTUInt128Sub(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
155 pResult->s.Lo = pValue1->s.Lo - pValue2->s.Lo;
156 pResult->s.Hi = pValue1->s.Hi - pValue2->s.Hi;
169 * @param pValue2 The second value.
171 DECLINLINE(PRTUINT128U) RTUInt128Mul(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
176 pResult->s.Lo = (uint64_t)pValue1->DWords.dw0 * pValue2->DWords.dw0;
178 uTmp.u = (uint64_t)pValue1->DWords.dw1 * pValue2->DWords.dw0;
186 pResult->s.Hi += (uint64_t)pValue1->DWords.dw2 * pValue2->DWords.dw0;
187 pResult->DWords.dw3 += pValue1->DWords.dw3 * pValue2->DWords.dw0;
190 uTmp.u = (uint64_t)pValue1->DWords.dw0 * pValue2->DWords.dw1;
200 pResult->s.Hi += (uint64_t)pValue1->DWords.dw1 * pValue2->DWords.dw1;
201 pResult->DWords.dw3 += pValue1->DWords.dw2 * pValue2->DWords.dw1;
204 pResult->s.Hi += (uint64_t)pValue1->DWords.dw0 * pValue2->DWords.dw2;
205 pResult->DWords.dw3 += pValue1->DWords.dw1 * pValue2->DWords.dw2;
208 pResult->DWords.dw3 += pValue1->DWords.dw0 * pValue2->DWords.dw3;
311 DECLINLINE(PRTUINT128U) RTUInt128DivRem(PRTUINT128U pQuotient, PRTUINT128U pRemainder, PCRTUINT128U pValue1, PCRTUINT128U pValue2);
319 * @param pValue2 The divisor value.
321 DECLINLINE(PRTUINT128U) RTUInt128Div(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
324 return RTUInt128DivRem(pResult, &Ignored, pValue1, pValue2);
334 * @param pValue2 The divisor value.
336 DECLINLINE(PRTUINT128U) RTUInt128Mod(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
339 RTUInt128DivRem(&Ignored, pResult, pValue1, pValue2);
350 * @param pValue2 The second value.
352 DECLINLINE(PRTUINT128U) RTUInt128And(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
354 pResult->s.Hi = pValue1->s.Hi & pValue2->s.Hi;
355 pResult->s.Lo = pValue1->s.Lo & pValue2->s.Lo;
366 * @param pValue2 The second value.
368 DECLINLINE(PRTUINT128U) RTUInt128Or( PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
370 pResult->s.Hi = pValue1->s.Hi | pValue2->s.Hi;
371 pResult->s.Lo = pValue1->s.Lo | pValue2->s.Lo;
382 * @param pValue2 The second value.
384 DECLINLINE(PRTUINT128U) RTUInt128Xor(PRTUINT128U pResult, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
386 pResult->s.Hi = pValue1->s.Hi ^ pValue2->s.Hi;
387 pResult->s.Lo = pValue1->s.Lo ^ pValue2->s.Lo;
602 * @param pValue2 The second value.
604 DECLINLINE(PRTUINT128U) RTUInt128AssignAdd(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
607 pValue1Result->s.Lo += pValue2->s.Lo;
610 pValue1Result->s.Hi += pValue2->s.Hi;
638 * @param pValue2 The subtrahend value.
640 DECLINLINE(PRTUINT128U) RTUInt128AssignSub(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
643 pValue1Result->s.Lo -= pValue2->s.Lo;
646 pValue1Result->s.Hi -= pValue2->s.Hi;
657 * @param pValue2 The second value.
659 DECLINLINE(PRTUINT128U) RTUInt128AssignMul(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
662 RTUInt128Mul(&Result, pValue1Result, pValue2);
674 * @param pValue2 The divisor value.
676 DECLINLINE(PRTUINT128U) RTUInt128AssignDiv(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
680 RTUInt128DivRem(&Result, &Ignored, pValue1Result, pValue2);
692 * @param pValue2 The divisor value.
694 DECLINLINE(PRTUINT128U) RTUInt128AssignMod(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
698 RTUInt128DivRem(&Ignored, &Result, pValue1Result, pValue2);
710 * @param pValue2 The second value.
712 DECLINLINE(PRTUINT128U) RTUInt128AssignAnd(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
715 pValue1Result->s.Hi &= pValue2->s.Hi;
716 pValue1Result->s.Lo &= pValue2->s.Lo;
718 pValue1Result->DWords.dw0 &= pValue2->DWords.dw0;
719 pValue1Result->DWords.dw1 &= pValue2->DWords.dw1;
720 pValue1Result->DWords.dw2 &= pValue2->DWords.dw2;
721 pValue1Result->DWords.dw3 &= pValue2->DWords.dw3;
757 * @param pValue2 The second value.
759 DECLINLINE(PRTUINT128U) RTUInt128AssignOr(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
762 pValue1Result->s.Hi |= pValue2->s.Hi;
763 pValue1Result->s.Lo |= pValue2->s.Lo;
765 pValue1Result->DWords.dw0 |= pValue2->DWords.dw0;
766 pValue1Result->DWords.dw1 |= pValue2->DWords.dw1;
767 pValue1Result->DWords.dw2 |= pValue2->DWords.dw2;
768 pValue1Result->DWords.dw3 |= pValue2->DWords.dw3;
815 * @param pValue2 The second value.
817 DECLINLINE(PRTUINT128U) RTUInt128AssignXor(PRTUINT128U pValue1Result, PCRTUINT128U pValue2)
820 pValue1Result->s.Hi ^= pValue2->s.Hi;
821 pValue1Result->s.Lo ^= pValue2->s.Lo;
823 pValue1Result->DWords.dw0 ^= pValue2->DWords.dw0;
824 pValue1Result->DWords.dw1 ^= pValue2->DWords.dw1;
825 pValue1Result->DWords.dw2 ^= pValue2->DWords.dw2;
826 pValue1Result->DWords.dw3 ^= pValue2->DWords.dw3;
940 * @param pValue2 The second value.
942 DECLINLINE(int) RTUInt128Compare(PCRTUINT128U pValue1, PCRTUINT128U pValue2)
945 if (pValue1->s.Hi != pValue2->s.Hi)
946 return pValue1->s.Hi > pValue2->s.Hi ? 1 : -1;
947 if (pValue1->s.Lo != pValue2->s.Lo)
948 return pValue1->s.Lo > pValue2->s.Lo ? 1 : -1;
951 if (pValue1->DWords.dw3 != pValue2->DWords.dw3)
952 return pValue1->DWords.dw3 > pValue2->DWords.dw3 ? 1 : -1;
953 if (pValue1->DWords.dw2 != pValue2->DWords.dw2)
954 return pValue1->DWords.dw2 > pValue2->DWords.dw2 ? 1 : -1;
955 if (pValue1->DWords.dw1 != pValue2->DWords.dw1)
956 return pValue1->DWords.dw1 > pValue2->DWords.dw1 ? 1 : -1;
957 if (pValue1->DWords.dw0 != pValue2->DWords.dw0)
958 return pValue1->DWords.dw0 > pValue2->DWords.dw0 ? 1 : -1;
969 * @param pValue2 The second value.
971 DECLINLINE(bool) RTUInt128IsSmaller(PCRTUINT128U pValue1, PCRTUINT128U pValue2)
974 return pValue1->s.Hi < pValue2->s.Hi
975 || ( pValue1->s.Hi == pValue2->s.Hi
976 && pValue1->s.Lo < pValue2->s.Lo);
978 return pValue1->DWords.dw3 < pValue2->DWords.dw3
979 || ( pValue1->DWords.dw3 == pValue2->DWords.dw3
980 && ( pValue1->DWords.dw2 < pValue2->DWords.dw2
981 || ( pValue1->DWords.dw2 == pValue2->DWords.dw2
982 && ( pValue1->DWords.dw1 < pValue2->DWords.dw1
983 || ( pValue1->DWords.dw1 == pValue2->DWords.dw1
984 && pValue1->DWords.dw0 < pValue2->DWords.dw0)))));
994 * @param pValue2 The second value.
996 DECLINLINE(bool) RTUInt128IsLarger(PCRTUINT128U pValue1, PCRTUINT128U pValue2)
999 return pValue1->s.Hi > pValue2->s.Hi
1000 || ( pValue1->s.Hi == pValue2->s.Hi
1001 && pValue1->s.Lo > pValue2->s.Lo);
1003 return pValue1->DWords.dw3 > pValue2->DWords.dw3
1004 || ( pValue1->DWords.dw3 == pValue2->DWords.dw3
1005 && ( pValue1->DWords.dw2 > pValue2->DWords.dw2
1006 || ( pValue1->DWords.dw2 == pValue2->DWords.dw2
1007 && ( pValue1->DWords.dw1 > pValue2->DWords.dw1
1008 || ( pValue1->DWords.dw1 == pValue2->DWords.dw1
1009 && pValue1->DWords.dw0 > pValue2->DWords.dw0)))));
1019 * @param pValue2 The second value.
1021 DECLINLINE(bool) RTUInt128IsLargerOrEqual(PCRTUINT128U pValue1, PCRTUINT128U pValue2)
1024 return pValue1->s.Hi > pValue2->s.Hi
1025 || ( pValue1->s.Hi == pValue2->s.Hi
1026 && pValue1->s.Lo >= pValue2->s.Lo);
1028 return pValue1->DWords.dw3 > pValue2->DWords.dw3
1029 || ( pValue1->DWords.dw3 == pValue2->DWords.dw3
1030 && ( pValue1->DWords.dw2 > pValue2->DWords.dw2
1031 || ( pValue1->DWords.dw2 == pValue2->DWords.dw2
1032 && ( pValue1->DWords.dw1 > pValue2->DWords.dw1
1033 || ( pValue1->DWords.dw1 == pValue2->DWords.dw1
1034 && pValue1->DWords.dw0 >= pValue2->DWords.dw0)))));
1044 * @param pValue2 The second value.
1046 DECLINLINE(bool) RTUInt128IsEqual(PCRTUINT128U pValue1, PCRTUINT128U pValue2)
1049 return pValue1->s.Hi == pValue2->s.Hi
1050 && pValue1->s.Lo == pValue2->s.Lo;
1052 return pValue1->DWords.dw0 == pValue2->DWords.dw0
1053 && pValue1->DWords.dw1 == pValue2->DWords.dw1
1054 && pValue1->DWords.dw2 == pValue2->DWords.dw2
1055 && pValue1->DWords.dw3 == pValue2->DWords.dw3;
1065 * @param pValue2 The second value.
1067 DECLINLINE(bool) RTUInt128IsNotEqual(PCRTUINT128U pValue1, PCRTUINT128U pValue2)
1069 return !RTUInt128IsEqual(pValue1, pValue2);
1286 * @returns pQuotient, NULL if pValue2 is 0.
1290 * @param pValue2 The divisor value.
1292 DECLINLINE(PRTUINT128U) RTUInt128DivRem(PRTUINT128U pQuotient, PRTUINT128U pRemainder, PCRTUINT128U pValue1, PCRTUINT128U pValue2)
1300 if (!pValue2->s.Hi)
1302 if (!pValue2->s.Lo)
1305 if (pValue2->s.Lo == 1)
1315 iDiff = RTUInt128Compare(pValue1, pValue2);
1333 uint32_t iBitAdder = RTUInt128BitCount(pValue1) - RTUInt128BitCount(pValue2);
1334 RTUINT128U NormDivisor = *pValue2;
1337 RTUInt128ShiftLeft(&NormDivisor, pValue2, iBitAdder);
1345 NormDivisor = *pValue2;
1353 if (RTUInt128IsLargerOrEqual(pRemainder, pValue2))
1362 if (RTUInt128IsSmaller(pRemainder, pValue2))