equal
deleted
inserted
replaced
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 |