diff --git a/source/extF80_rem.c b/source/extF80_rem.c index a2ebaad8..85f2310c 100644 --- a/source/extF80_rem.c +++ b/source/extF80_rem.c @@ -97,6 +97,7 @@ extFloat80_t extF80_rem( extFloat80_t a, extFloat80_t b ) | that `expDiff' later is less than -1, which will result in returning | a canonicalized version of argument a. *--------------------------------------------------------------------*/ + sigB = UINT64_C( 0x8000000000000000 ); expB += expB; } /*------------------------------------------------------------------------ diff --git a/source/extF80_sqrt.c b/source/extF80_sqrt.c index 5d328a0e..0b7964ba 100644 --- a/source/extF80_sqrt.c +++ b/source/extF80_sqrt.c @@ -78,7 +78,11 @@ extFloat80_t extF80_sqrt( extFloat80_t a ) uiZ0 = uiZ.v0; goto uiZ; } - if ( ! signA ) return a; + if ( ! signA ) { + uiZ64 = packToExtF80UI64( 0, 0x7FFF ); + uiZ0 = UINT64_C( 0x8000000000000000 ); + goto uiZ; + } goto invalid; } /*------------------------------------------------------------------------