EasyManua.ls Logo

Renesas SuperH SH-4A - Page 383

Renesas SuperH SH-4A
472 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Rev. 1.50, 10/04, page 363 of 448
int check_product_invalid(int m,n)
{
return(check_product_infinity(m,n) &&
((data_type_of(m) == PZERO) || (data_type_of(n) == PZERO) ||
(data_type_of(m) == NZERO) || (data_type_of(n) == NZERO)));
}
int check_ product_infinity(int m,n)
{
return((data_type_of(m) == PINF) || (data_type_of(n) == PINF) ||
(data_type_of(m) == NINF) || (data_type_of(n) == NINF));
}
int check_ positive_infinity(int m,n)
{
return(((check_ product_infinity(m,n) && (~sign_of(m)^
sign_of(n))) ||
((check_ product_infinity(m+1,n+1) && (~sign_of(m+1)^
sign_of(n+1))) ||
((check_ product_infinity(m+2,n+2) && (~sign_of(m+2)^
sign_of(n+2))) ||
((check_ product_infinity(m+3,n+3) && (~sign_of(m+3)^
sign_of(n+3))));
}
int check_ negative_infinity(int m,n)
{
return(((check_ product_infinity(m,n) && (sign_of(m)^ sign_of(n))) ||
((check_ product_infinity(m+1,n+1) && (sign_of(m+1)^
sign_of(n+1))) ||
((check_ product_infinity(m+2,n+2) && (sign_of(m+2)^
sign_of(n+2))) ||
((check_ product_infinity(m+3,n+3) && (sign_of(m+3)^
sign_of(n+3))));
}
void clear_cause () {FPSCR &= ~CAUSE;}
void set_E() {FPSCR |= SET_E; fpu_exception_trap();}
void set_V() {FPSCR |= SET_V;}
void set_Z() {FPSCR |= SET_Z;}
void set_O() {FPSCR |= SET_O;}
void set_U() {FPSCR |= SET_U;}
void set_I() {FPSCR |= SET_I;}

Table of Contents

Related product manuals