extra checks for multiply
This commit is contained in:
parent
6487fbde6e
commit
6ab4cfb714
@ -696,6 +696,12 @@ void mult_decn(void){
|
||||
uint8_t carry = 0;
|
||||
uint8_t is_neg;
|
||||
exp_t new_exponent;
|
||||
#ifdef EXTRA_CHECKS
|
||||
if (decn_is_nan(&AccDecn) || decn_is_nan(&BDecn)) {
|
||||
set_dec80_NaN(&AccDecn);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
//initialize values
|
||||
set_dec80_zero(&TmpDecn);
|
||||
//normalize
|
||||
|
@ -243,6 +243,19 @@ TEST_CASE("multiply"){
|
||||
decn_to_str_complete(&AccDecn);
|
||||
CHECK_THAT(Buf, Equals("Error")); //acc*b
|
||||
|
||||
//NaN
|
||||
build_dec80("9.99", DEC80_MAX_EXP/2);
|
||||
set_dec80_NaN(&BDecn);
|
||||
mult_decn();
|
||||
decn_to_str_complete(&AccDecn);
|
||||
CHECK_THAT(Buf, Equals("Error")); //acc*b
|
||||
|
||||
//NaN
|
||||
set_dec80_NaN(&AccDecn);
|
||||
build_decn_at(&BDecn, "9.99", DEC80_MAX_EXP/2);
|
||||
mult_decn();
|
||||
decn_to_str_complete(&AccDecn);
|
||||
CHECK_THAT(Buf, Equals("Error")); //acc*b
|
||||
}
|
||||
|
||||
static void div_test(
|
||||
|
Loading…
Reference in New Issue
Block a user