Rev. 1.50, 10/04, page 390 of 448
case PZERO:
case NZERO: zero(n,sign_of(0)^ sign_of(m)^sign_of(n));
break;
default: break;
}
case PINF:
case NINF: switch (data_type_of(n)){
case DENORM: set_E(); break;
case qNaN: qnan(n); break;
case PINF:
case NINF: if(sign_of(0)^ sign_of(m)^sign_of(n)) invalid(n);
else inf(n,sign_of(0)^ sign_of(m)); break;
default: inf(n,sign_of(0)^ sign_of(m)); break;
}
case NORM: switch (data_type_of(n)){
case DENORM: set_E(); break;
case qNaN: qnan(n); break;
case PINF:
case NINF: inf(n,sign_of(n)); break;
case PZERO:
case NZERO:
case NORM: normal_fmac(m,n); break;
} break;
case PZERO:
case NZERO: switch (data_type_of(m)){
case PINF:
case NINF: invalid(n); break;
case PZERO:
case NZERO:
case NORM: switch (data_type_of(n)){
case DENORM: set_E(); break;
case qNaN: qnan(n); break;
case PZERO:
case NZERO: zero(n,sign_of(0)^ sign_of(m)^sign_of(n)); break;
default: break;
} break;
} break;
case PINF :