メインページ   モジュール   データ構造   ファイル一覧   データフィールド   グローバル  

multiprec.c

解説を見る。
00001 #include "multiprec.h"
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004 #include <stdarg.h>
00005 
00015 void *(*ymp_malloc)(size_t size) = malloc;
00016 
00022 void *(*ymp_realloc)(void *pv_mem, size_t size) = realloc;
00023 
00028 void (*ymp_free)(void *pv_mem) = free;
00029 
00043 static void
00044 ymp_alloc_error_default(const char *psz_msg, size_t size)
00045 {
00046   fprintf(stderr, "[メモリー確保失敗] %s -- %ubytes\n", psz_msg, size);
00047   abort();
00048 }
00049 
00055 static void
00056 ymp_error_default(const char *format, ...)
00057 {
00058   va_list ap;
00059   va_start(ap, format);
00060   vfprintf(stderr, format, ap);
00061   va_end(ap);
00062   fputc('\n', stderr);
00063 }
00064 
00070 static void
00071 ymp_fatal_default(const char *format, ...)
00072 {
00073   va_list ap;
00074   va_start(ap, format);
00075   vfprintf(stderr, format, ap);
00076   va_end(ap);
00077   fputc('\n', stderr);
00078   abort();
00079 }
00080 
00081 
00087 void (*ymp_warning)(const char *format, ...) = ymp_error_default;
00088 
00094 void (*ymp_error)(const char *format, ...) = ymp_error_default;
00095 
00102 void (*ymp_fatal)(const char *format, ...) = ymp_fatal_default;
00103 
00111 void (*ymp_alloc_error)(const char *psz_msg, size_t size) = ymp_alloc_error_default;
00112 
00128 size_t digit_len_to_str_len(size_t len, digit_t r)
00129 {
00130   static const unsigned log_2_r_map[36+1] = {
00131     0, 0, 1, 1, 2, 2, 2, 2, /* 0-7 */ 
00132     3, 3, 3, 3, 3, 3, 3, 3, /* 8-15 */
00133     4, 4, 4, 4, 4, 4, 4, 4, /* 16-23 */
00134     4, 4, 4, 4, 4, 4, 4, 4, /* 24-31 */
00135     5, 5, 5, 5, 5           /* 32-36 */
00136   };
00137 
00138   return len * DIGIT_BIT / log_2_r_map[r] + 1;
00139 }
00140 
00141 

YMPに対してTue Mar 16 19:23:51 2004に生成されました。 doxygen1.2.14 作者 Dimitri van Heesch, © 1997-2002