MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / getFloatInternalRoundedAll

Function getFloatInternalRoundedAll

src/softfloat/softfloat.cpp:351–376  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

349}
350
351floatx80 getFloatInternalRoundedAll( void )
352{
353 flag zSign;
354 int32_t zExp;
355 uint64_t zSig, zSig32, zSig64, zSig80;
356
357 if (floatx80_internal_precision == 80) {
358 getRoundedFloatInternal( 80, &zSign, &zExp, &zSig80 );
359 zSig = zSig80;
360 } else if (floatx80_internal_precision == 64) {
361 getRoundedFloatInternal( 80, &zSign, &zExp, &zSig80 );
362 getRoundedFloatInternal( 64, &zSign, &zExp, &zSig64 );
363 zSig = zSig64;
364 zSig |= zSig80 & LIT64( 0x00000000000007FF );
365 } else {
366 getRoundedFloatInternal( 80, &zSign, &zExp, &zSig80 );
367 getRoundedFloatInternal( 64, &zSign, &zExp, &zSig64 );
368 getRoundedFloatInternal( 32, &zSign, &zExp, &zSig32 );
369 zSig = zSig32;
370 zSig |= zSig64 & LIT64( 0x000000FFFFFFFFFF );
371 zSig |= zSig80 & LIT64( 0x00000000000007FF );
372 }
373
374 return packFloatx80( zSign, zExp & 0x7FFF, zSig );
375
376}
377
378floatx80 getFloatInternalRoundedSome( void )
379{

Callers 1

Calls 2

getRoundedFloatInternalFunction · 0.85
packFloatx80Function · 0.85

Tested by

no test coverage detected