hedgewars/uFloat.pas
changeset 15753 72f735c03fec
parent 15627 ea189ee9394f
child 15896 d2dafe1b25f5
equal deleted inserted replaced
15752:f09db263bc2a 15753:72f735c03fec
   369     hwSqr.QWordValue:= ((QWord(t.Round) * t.Round) shl 32) + QWord(t.Round) * t.Frac * 2 + ((QWord(t.Frac) * t.Frac) shr 32);
   369     hwSqr.QWordValue:= ((QWord(t.Round) * t.Round) shl 32) + QWord(t.Round) * t.Frac * 2 + ((QWord(t.Frac) * t.Frac) shr 32);
   370 end;
   370 end;
   371 
   371 
   372 function hwSqrt1(const t: hwFloat): hwFloat;
   372 function hwSqrt1(const t: hwFloat): hwFloat;
   373 const pwr = 8; // even value, feel free to adjust
   373 const pwr = 8; // even value, feel free to adjust
   374       rThreshold: QWord = 1 shl (pwr + 32);
   374       rThreshold: QWord = QWord(1) shl (pwr + 32);
   375       lThreshold: QWord = 1 shl (pwr div 2 + 32);
   375       lThreshold: QWord = QWord(1) shl (pwr div 2 + 32);
   376 var l, r: QWord;
   376 var l, r: QWord;
   377     c: hwFloat;
   377     c: hwFloat;
   378 begin
   378 begin
   379     hwSqrt1.isNegative:= false;
   379     hwSqrt1.isNegative:= false;
   380 
   380