マクロ定義 | |
#define | ymp_is_odd(self) !ymp_is_even((self)) |
多倍長整数が奇数かどうかを判定. より詳しく... | |
関数 | |
int | ymp_compare_abs (mp_cref_t lhs, mp_cref_t rhs) |
多倍長整数の絶対値同士を大小比較する. より詳しく... | |
int | ymp_compare (mp_cref_t lhs, mp_cref_t rhs) |
多倍長整数同士を大小比較する. より詳しく... | |
int | ymp_compare_digit (mp_cref_t lhs, digit_t rhs) |
多倍長整数とdigit_tを大小比較する. より詳しく... | |
int | ymp_is_zero (mp_cref_t self) |
多倍長整数が0かどうかを判定. より詳しく... | |
int | ymp_is_even (mp_cref_t self) |
多倍長整数が偶数かどうかを判定. より詳しく... |
|
多倍長整数が奇数かどうかを判定.
multiprec.h の 590 行で定義されています。 |
|
多倍長整数の絶対値同士を大小比較する.
参照 mp_cref_t.
00022 { 00023 if (lhs->used > rhs->used) 00024 { 00025 return 1; 00026 } 00027 else if (lhs->used < rhs->used) 00028 { 00029 return -1; 00030 } 00031 else 00032 { 00033 size_t i; 00034 for (i=lhs->used; i-- > 0; ) 00035 { 00036 if (lhs->digits[i] > rhs->digits[i]) return 1; 00037 else if (lhs->digits[i] < rhs->digits[i]) return -1; 00038 } 00039 } 00040 return 0; 00041 } |
|
多倍長整数同士を大小比較する.
参照 mp_cref_t, と ymp_compare_abs.
00055 { 00056 if (lhs->sign != rhs->sign) 00057 return rhs->sign - lhs->sign; 00058 else if (lhs->sign) 00059 return ymp_compare_abs(rhs, lhs); 00060 else 00061 return ymp_compare_abs(lhs, rhs); 00062 } |
|
多倍長整数とdigit_tを大小比較する.
00075 { 00076 if (lhs->sign) return -1; 00077 00078 if (lhs->used > 1) return 1; 00079 else if (lhs->used == 1) 00080 { 00081 if (lhs->digits[0] > rhs) return 1; 00082 else if (lhs->digits[0] < rhs) return -1; 00083 else return 0; 00084 } 00085 else return -(rhs!=0); 00086 } |
|
多倍長整数が0かどうかを判定.
参照 mp_cref_t.
00096 { 00097 return !self || !self->used || (self->used==1 && !self->digits[0]); 00098 } |
|
多倍長整数が偶数かどうかを判定.
参照 mp_cref_t.
00107 { 00108 return !self || !self->used || !(self->digits[0] & 0x01); 00109 } |