pgtypes_numeric.h

来自「postgresql8.3.4源码,开源数据库」· C头文件 代码 · 共 69 行

H
69
字号
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/pgtypes_numeric.h,v 1.16 2006/08/09 07:30:56 meskes Exp $ */#ifndef PGTYPES_NUMERIC#define PGTYPES_NUMERIC#define NUMERIC_POS						0x0000#define NUMERIC_NEG						0x4000#define NUMERIC_NAN						0xC000#define NUMERIC_MAX_PRECISION			1000#define NUMERIC_MAX_DISPLAY_SCALE		NUMERIC_MAX_PRECISION#define NUMERIC_MIN_DISPLAY_SCALE		0#define NUMERIC_MIN_SIG_DIGITS			16#define DECSIZE 30typedef unsigned char NumericDigit;typedef struct{	int			ndigits;		/* number of digits in digits[] - can be 0! */	int			weight;			/* weight of first digit */	int			rscale;			/* result scale */	int			dscale;			/* display scale */	int			sign;			/* NUMERIC_POS, NUMERIC_NEG, or NUMERIC_NAN */	NumericDigit *buf;			/* start of alloc'd space for digits[] */	NumericDigit *digits;		/* decimal digits */} numeric;typedef struct{	int			ndigits;		/* number of digits in digits[] - can be 0! */	int			weight;			/* weight of first digit */	int			rscale;			/* result scale */	int			dscale;			/* display scale */	int			sign;			/* NUMERIC_POS, NUMERIC_NEG, or NUMERIC_NAN */	NumericDigit digits[DECSIZE];		/* decimal digits */} decimal;#ifdef __cplusplusextern		"C"{#endifnumeric    *PGTYPESnumeric_new(void);decimal    *PGTYPESdecimal_new(void);void		PGTYPESnumeric_free(numeric *);void		PGTYPESdecimal_free(decimal *);numeric    *PGTYPESnumeric_from_asc(char *, char **);char	   *PGTYPESnumeric_to_asc(numeric *, int);int			PGTYPESnumeric_add(numeric *, numeric *, numeric *);int			PGTYPESnumeric_sub(numeric *, numeric *, numeric *);int			PGTYPESnumeric_mul(numeric *, numeric *, numeric *);int			PGTYPESnumeric_div(numeric *, numeric *, numeric *);int			PGTYPESnumeric_cmp(numeric *, numeric *);int			PGTYPESnumeric_from_int(signed int, numeric *);int			PGTYPESnumeric_from_long(signed long int, numeric *);int			PGTYPESnumeric_copy(numeric *, numeric *);int			PGTYPESnumeric_from_double(double, numeric *);int			PGTYPESnumeric_to_double(numeric *, double *);int			PGTYPESnumeric_to_int(numeric *, int *);int			PGTYPESnumeric_to_long(numeric *, long *);int			PGTYPESnumeric_to_decimal(numeric *, decimal *);int			PGTYPESnumeric_from_decimal(decimal *, numeric *);#ifdef __cplusplus}#endif#endif   /* PGTYPES_NUMERIC */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?