マクロ定義 | |
#define | YMP_ALLOCATE(result, type, count) |
動的メモリーを新規に確保. より詳しく... | |
#define | YMP_REALLOCATE(ptr, type, count) |
動的メモリーを再確保. より詳しく... | |
#define | YMP_FREE(ptr) ymp_free(ptr) |
動的メモリーを解放. より詳しく... | |
#define | YMP_TEMP_ALLOCATE(result, type, count) |
関数ローカルな動的メモリーを新規に確保. より詳しく... | |
#define | YMP_ALLOC_DIGITS(self, new_len) |
new_len要素のdigit_tの列を確保して、先頭ポインタを self->digitsに設定. より詳しく... | |
#define | YMP_REALLOC_DIGITS(self, new_len) |
new_len要素のdigit_tの列を再確保して、先頭ポインタを self->digitsに設定. より詳しく... | |
#define | YMP_FREE_DIGITS(self) |
self->digitsを解放. より詳しく... | |
変数 | |
void *(* | ymp_malloc )(size_t size)=malloc |
動的メモリー確保. より詳しく... | |
void *(* | ymp_realloc )(void *pv_mem, size_t size)=realloc |
動的メモリー再配置. より詳しく... | |
void(* | ymp_free )(void *pv_mem)=free |
メモリー解放. より詳しく... |
|
値: do { \ register type *ptr_tmp = (type*)ymp_malloc(sizeof(type)*(count)); \ if (!ptr_tmp) \ { \ ymp_alloc_error("確保失敗", sizeof(type)*(count)); \ break; \ } \ (result) = ptr_tmp; \ } while(0) sizeof(type)バイトの要素をcount個確保する。 確保された領域は不用になったらYMP_FREEにより解放する必要がある
multiprec.h の 130 行で定義されています。 |
|
値: do { \ register type *ptr_tmp = (type*)ymp_realloc((ptr), sizeof(type)*(count)); \ if (!ptr_tmp) \ { \ ymp_alloc_error("再確保失敗", sizeof(type)*(count)); \ break; \ } \ (ptr) = ptr_tmp; \ } while(0) sizeof(type)バイトの要素をcount個確保する。 確保された領域は不用になったらYMP_FREEにより解放する必要がある。
multiprec.h の 156 行で定義されています。 |
|
動的メモリーを解放. YMP_ALLOCATE, YMP_REALLOCATEで確保した領域を解放
multiprec.h の 174 行で定義されています。 |
|
値: do { \ register type *ptr_tmp = (type*)alloca(sizeof(type)*(count)); \ if (!ptr_tmp) \ { \ ymp_alloc_error("確保失敗", sizeof(type)*(count)); \ break; \ } \ (result) = ptr_tmp; \ } while(0) sizeof(type)バイトの要素をcount個確保する。 ただし、YMP_ALLOCATEとは異なり、この領域は呼び出し元の関数の終了時に自動的に解放される。
multiprec.h の 192 行で定義されています。 呼出 do_snprint, ymp_div_if_divisible, ymp_div_if_divisible_digit, ymp_divmodabs, ymp_euclid, ymp_fprint, ymp_modmul, ymp_modmulabs, ymp_modmulabs_2exp, ymp_modpowabs, ymp_modpowabs_2exp_z, ymp_modpowabs_z, ymp_mul, ymp_powabs, と ymp_snprint. |
|
値: do { \ YMP_ALLOCATE((self)->digits, digit_t, new_len); \ (self)->len = new_len; \ } while(0) 確保に失敗した場合はymp_alloc_errorを呼ぶ
multiprec.h の 213 行で定義されています。 呼出 ymp_initialize_by_array, ymp_initialize_by_double, ymp_initialize_by_mp, と ymp_reserve_and_initialize_by_digit. |
|
値: do { \ YMP_REALLOCATE((self)->digits, digit_t, new_len); \ (self)->len = new_len; \ } while(0) 確保に失敗した場合はymp_alloc_errorを呼ぶ
multiprec.h の 227 行で定義されています。 呼出 ymp_cut_down, と ymp_reserve. |
|
値: do { \ YMP_FREE((self)->digits); \ (self)->digits = NULL; \ } while(0)
multiprec.h の 239 行で定義されています。 呼出 ymp_destroy. |
|
動的メモリー確保.
multiprec.c の 15 行で定義されています。 |
|
動的メモリー再配置.
multiprec.c の 22 行で定義されています。 |
|
メモリー解放.
multiprec.c の 28 行で定義されています。 |