📄 target.h
字号:
#if FFETARGET_okCOMPLEX5ffebad ffetarget_divide_complex5 (ffetargetComplex5 *res, ffetargetComplex5 l, ffetargetComplex5 r);#endif#if FFETARGET_okCOMPLEX6ffebad ffetarget_divide_complex6 (ffetargetComplex6 *res, ffetargetComplex6 l, ffetargetComplex6 r);#endif#if FFETARGET_okCOMPLEX7ffebad ffetarget_divide_complex7 (ffetargetComplex7 *res, ffetargetComplex7 l, ffetargetComplex7 r);#endif#if FFETARGET_okCOMPLEX8ffebad ffetarget_divide_complex8 (ffetargetComplex8 *res, ffetargetComplex8 l, ffetargetComplex8 r);#endif#if FFETARGET_okINTEGER1bool ffetarget_integer1 (ffetargetInteger1 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER2bool ffetarget_integer2 (ffetargetInteger2 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER3bool ffetarget_integer3 (ffetargetInteger3 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER4bool ffetarget_integer4 (ffetargetInteger4 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER5bool ffetarget_integer5 (ffetargetInteger5 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER6bool ffetarget_integer6 (ffetargetInteger6 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER7bool ffetarget_integer7 (ffetargetInteger7 *val, ffelexToken integer);#endif#if FFETARGET_okINTEGER8bool ffetarget_integer8 (ffetargetInteger8 *val, ffelexToken integer);#endifbool ffetarget_integerbinary (ffetargetIntegerDefault *val, ffelexToken integer);bool ffetarget_integerhex (ffetargetIntegerDefault *val, ffelexToken integer);bool ffetarget_integeroctal (ffetargetIntegerDefault *val, ffelexToken integer);void ffetarget_integer_bad_magical (ffelexToken t);void ffetarget_integer_bad_magical_binary (ffelexToken integer, ffelexToken minus);void ffetarget_integer_bad_magical_precedence (ffelexToken integer, ffelexToken uminus, ffelexToken higher_op);void ffetarget_integer_bad_magical_precedence_binary (ffelexToken integer, ffelexToken minus, ffelexToken higher_op);#if FFETARGET_okCHARACTER1bool ffetarget_iszero_character1 (ffetargetCharacter1 constant);#endifbool ffetarget_iszero_hollerith (ffetargetHollerith constant);void ffetarget_layout (const char *error_text, ffetargetAlign *alignment, ffetargetAlign *modulo, ffetargetOffset *size, ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetCharacterSize charsize, ffetargetIntegerDefault num_elements);#if FFETARGET_okCOMPLEX1ffebad ffetarget_multiply_complex1 (ffetargetComplex1 *res, ffetargetComplex1 l, ffetargetComplex1 r);#endif#if FFETARGET_okCOMPLEX2ffebad ffetarget_multiply_complex2 (ffetargetComplex2 *res, ffetargetComplex2 l, ffetargetComplex2 r);#endif#if FFETARGET_okCOMPLEX3ffebad ffetarget_multiply_complex3 (ffetargetComplex3 *res, ffetargetComplex3 l, ffetargetComplex3 r);#endif#if FFETARGET_okCOMPLEX4ffebad ffetarget_multiply_complex4 (ffetargetComplex4 *res, ffetargetComplex4 l, ffetargetComplex4 r);#endif#if FFETARGET_okCOMPLEX5ffebad ffetarget_multiply_complex5 (ffetargetComplex5 *res, ffetargetComplex5 l, ffetargetComplex5 r);#endif#if FFETARGET_okCOMPLEX6ffebad ffetarget_multiply_complex6 (ffetargetComplex6 *res, ffetargetComplex6 l, ffetargetComplex6 r);#endif#if FFETARGET_okCOMPLEX7ffebad ffetarget_multiply_complex7 (ffetargetComplex7 *res, ffetargetComplex7 l, ffetargetComplex7 r);#endif#if FFETARGET_okCOMPLEX8ffebad ffetarget_multiply_complex8 (ffetargetComplex8 *res, ffetargetComplex8 l, ffetargetComplex8 r);#endifffebad ffetarget_power_complexdefault_integerdefault (ffetargetComplexDefault *res, ffetargetComplexDefault l, ffetargetIntegerDefault r);#if FFETARGET_okCOMPLEXDOUBLEffebad ffetarget_power_complexdouble_integerdefault (ffetargetComplexDouble *res, ffetargetComplexDouble l, ffetargetIntegerDefault r);#endifffebad ffetarget_power_integerdefault_integerdefault (ffetargetIntegerDefault *res, ffetargetIntegerDefault l, ffetargetIntegerDefault r);ffebad ffetarget_power_realdefault_integerdefault (ffetargetRealDefault *res, ffetargetRealDefault l, ffetargetIntegerDefault r);ffebad ffetarget_power_realdouble_integerdefault (ffetargetRealDouble *res, ffetargetRealDouble l, ffetargetIntegerDefault r);void ffetarget_print_binary (FILE *f, ffetargetTypeless val);void ffetarget_print_character1 (FILE *f, ffetargetCharacter1 val);void ffetarget_print_hollerith (FILE *f, ffetargetHollerith val);void ffetarget_print_octal (FILE *f, ffetargetTypeless val);void ffetarget_print_hex (FILE *f, ffetargetTypeless val);#if FFETARGET_okREAL1bool ffetarget_real1 (ffetargetReal1 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL2bool ffetarget_real2 (ffetargetReal2 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL3bool ffetarget_real3 (ffetargetReal3 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL4bool ffetarget_real4 (ffetargetReal4 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL5bool ffetarget_real5 (ffetargetReal5 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL6bool ffetarget_real6 (ffetargetReal6 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL7bool ffetarget_real7 (ffetargetReal7 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endif#if FFETARGET_okREAL8bool ffetarget_real8 (ffetargetReal8 *value, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits);#endifbool ffetarget_typeless_binary (ffetargetTypeless *value, ffelexToken token);bool ffetarget_typeless_octal (ffetargetTypeless *value, ffelexToken token);bool ffetarget_typeless_hex (ffetargetTypeless *value, ffelexToken token);void ffetarget_verify_character1 (mallocPool pool, ffetargetCharacter1 val);int ffetarget_num_digits_ (ffelexToken t);void *ffetarget_memcpy_ (void *dst, void *src, size_t len);/* Define macros. */#if BUILT_FOR_280#define FFETARGET_REAL_VALUE_FROM_INT_(resr, lf, kt) \ REAL_VALUE_FROM_INT (resr, (long) lf, (long) ((lf < 0) ? -1 : 0), ((kt == 1) ? SFmode : DFmode))#else#define FFETARGET_REAL_VALUE_FROM_INT_(resr, lf, kt) \ REAL_VALUE_FROM_INT (resr, (long) lf, (long) ((lf < 0) ? -1 : 0))#endif#ifdef REAL_ARITHMETIC#define ffetarget_add_complex1(res,l,r) \ ({ REAL_VALUE_TYPE lr, li, rr, ri, resr, resi; \ lr = ffetarget_cvt_r1_to_rv_ ((l).real); \ li = ffetarget_cvt_r1_to_rv_ ((l).imaginary); \ rr = ffetarget_cvt_r1_to_rv_ ((r).real); \ ri = ffetarget_cvt_r1_to_rv_ ((r).imaginary); \ REAL_ARITHMETIC (resr, PLUS_EXPR, lr, rr); \ REAL_ARITHMETIC (resi, PLUS_EXPR, li, ri); \ ffetarget_cvt_rv_to_r1_ (resr, (res)->real); \ ffetarget_cvt_rv_to_r1_ (resi, (res)->imaginary); \ FFEBAD; })#define ffetarget_add_complex2(res,l,r) \ ({ REAL_VALUE_TYPE lr, li, rr, ri, resr, resi; \ lr = ffetarget_cvt_r2_to_rv_ (&((l).real.v[0])); \ li = ffetarget_cvt_r2_to_rv_ (&((l).imaginary.v[0])); \ rr = ffetarget_cvt_r2_to_rv_ (&((r).real.v[0])); \ ri = ffetarget_cvt_r2_to_rv_ (&((r).imaginary.v[0])); \ REAL_ARITHMETIC (resr, PLUS_EXPR, lr, rr); \ REAL_ARITHMETIC (resi, PLUS_EXPR, li, ri); \ ffetarget_cvt_rv_to_r2_ (resr, &((res)->real.v[0])); \ ffetarget_cvt_rv_to_r2_ (resi, &((res)->imaginary.v[0])); \ FFEBAD; })#else#define ffetarget_add_complex1(res,l,r) \ ((res)->real = (l).real + (r).real, \ (res)->imaginary = (l).imaginary + (r).imaginary, FFEBAD)#define ffetarget_add_complex2(res,l,r) \ ((res)->real = (l).real + (r).real, \ (res)->imaginary = (l).imaginary + (r).imaginary, FFEBAD)#endif#define ffetarget_add_integer1(res,l,r) (*(res) = (l) + (r), FFEBAD)#define ffetarget_add_integer2(res,l,r) (*(res) = (l) + (r), FFEBAD)#define ffetarget_add_integer3(res,l,r) (*(res) = (l) + (r), FFEBAD)#define ffetarget_add_integer4(res,l,r) (*(res) = (l) + (r), FFEBAD)#ifdef REAL_ARITHMETIC#define ffetarget_add_real1(res,l,r) \ ({ REAL_VALUE_TYPE lr, rr, resr; \ lr = ffetarget_cvt_r1_to_rv_ ((l)); \ rr = ffetarget_cvt_r1_to_rv_ ((r)); \ REAL_ARITHMETIC (resr, PLUS_EXPR, lr, rr); \ ffetarget_cvt_rv_to_r1_ (resr, *(res)); \ FFEBAD; })#define ffetarget_add_real2(res,l,r) \ ({ REAL_VALUE_TYPE lr, rr, resr; \ lr = ffetarget_cvt_r2_to_rv_ (&((l).v[0])); \ rr = ffetarget_cvt_r2_to_rv_ (&((r).v[0])); \ REAL_ARITHMETIC (resr, PLUS_EXPR, lr, rr); \ ffetarget_cvt_rv_to_r2_ (resr, &((res)->v[0])); \ FFEBAD; })#else#define ffetarget_add_real1(res,l,r) (*(res) = (l) + (r), FFEBAD)#define ffetarget_add_real2(res,l,r) (*(res) = (l) + (r), FFEBAD)#endif#define ffetarget_aggregate_ptr_memcpy(dbt,dkt,sbt,skt) \ ((ffetargetCopyfunc) ffetarget_memcpy_)#define ffetarget_and_integer1(res,l,r) (*(res) = (l) & (r), FFEBAD)#define ffetarget_and_integer2(res,l,r) (*(res) = (l) & (r), FFEBAD)#define ffetarget_and_integer3(res,l,r) (*(res) = (l) & (r), FFEBAD)#define ffetarget_and_integer4(res,l,r) (*(res) = (l) & (r), FFEBAD)#define ffetarget_and_logical1(res,l,r) (*(res) = (l) && (r), FFEBAD)#define ffetarget_and_logical2(res,l,r) (*(res) = (l) && (r), FFEBAD)#define ffetarget_and_logical3(res,l,r) (*(res) = (l) && (r), FFEBAD)#define ffetarget_and_logical4(res,l,r) (*(res) = (l) && (r), FFEBAD)#define ffetarget_binarymil(v,t) ffetarget_typeless_binary (v, t)#define ffetarget_binaryvxt(v,t) ffetarget_typeless_binary (v, t)#define ffetarget_cmp_integer1(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_integer2(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_integer3(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_integer4(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_logical1(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_logical2(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_logical3(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_logical4(l,r) ((l) == (r) ? 0 : ((l) < (r) ? -1 : 1))#define ffetarget_cmp_real1(l,r) memcmp (&(l), &(r), sizeof(l))#define ffetarget_cmp_real2(l,r) memcmp (&(l), &(r), sizeof(l))#define ffetarget_cmp_real3(l,r) memcmp (&(l), &(r), sizeof(l))#define ffetarget_cmp_typeless(l,r) \ memcmp (&(l), &(r), sizeof ((l)))#define ffetarget_convert_character1_integer1(res,res_size,l,pool) \ ffetarget_convert_character1_integer4(res,res_size,(ffetargetInteger4)l,pool)#define ffetarget_convert_character1_integer2(res,res_size,l,pool) \ ffetarget_convert_character1_integer4(res,res_size,(ffetargetInteger4)l,pool)#define ffetarget_convert_character1_integer3(res,res_size,l,pool) \ ffetarget_convert_character1_integer4(res,res_size,(ffetargetInteger4)l,pool)#define ffetarget_convert_character1_logical1(res,res_size,l,pool) \ ffetarget_convert_character1_logical4(res,res_size,(ffetargetLogical4)l,pool)#define ffetarget_convert_character1_logical2(res,res_size,l,pool) \ ffetarget_convert_character1_logical4(res,res_size,(ffetargetLogical4)l,pool)#define ffetarget_convert_character1_logical3(res,res_size,l,pool) \ ffetarget_convert_character1_logical4(res,res_size,(ffetargetLogical4)l,pool)#define ffetarget_convert_complex1_character1(res,l) \ ffetarget_convert_any_character1_ ((char *) (res), sizeof(*(res)), l)#define ffetarget_convert_complex1_hollerith(res,l) \ ffetarget_convert_any_hollerith_ ((char *) (res), sizeof(*(res)), l)#define ffetarget_convert_complex1_typeless(res,l) \ ffetarget_convert_any_typeless_ ((char *) (res), sizeof(*(res)), l)#ifdef REAL_ARITHMETIC#define ffetarget_convert_complex1_complex2(res,l) \ ({ REAL_VALUE_TYPE lr, li; \ lr = ffetarget_cvt_r2_to_rv_ (&((l).real.v[0])); \ li = ffetarget_cvt_r2_to_rv_ (&((l).imaginary.v[0])); \ ffetarget_cvt_rv_to_r1_ (lr, (res)->real); \ ffetarget_cvt_rv_to_r1_ (li, (res)->imaginary), \ FFEBAD; })#else#define ffetarget_convert_complex1_complex2(res,l) \ ((res)->real = (l).real, (res)->imaginary = (l).imaginary, FFEBAD)#endif#ifdef REAL_ARITHMETIC#define ffetarget_convert_complex1_integer(res,l) \ ({ REAL_VALUE_TYPE resi, resr; \ ffetargetInteger1 lf = (l); \ FFETARGET_REAL_VALUE_FROM_INT_ (resr, lf, 1); \ resi = dconst0; \ ffetarget_cvt_rv_to_r1_ (resr, (res)->real); \ ffetarget_cvt_rv_to_r1_ (resi, (res)->imaginary); \ FFEBAD; })#else#define ffetarget_convert_complex1_integer(res,l) \ ((res)->real = (l), (res)->imaginary = 0, FFEBAD)#endif#define ffetarget_convert_complex1_integer1 ffetarget_convert_complex1_integer#define ffetarget_convert_complex1_integer2 ffetarget_convert_complex1_integer#define ffetarget_convert_complex1_integer3 ffetarget_convert_complex1_integer#ifdef REAL_ARITHMETIC#define ffetarget_convert_complex1_integer4(res,l) FFEBAD_NOCANDO#else#define ffetarget_convert_complex1_integer4 ffetarget_convert_complex1_integer#endif#ifdef REAL_ARITHMETIC#define ffetarget_convert_complex1_real1(res,l) \ ((res)->real = (l), \ ffetarget_cvt_rv_to_r1_ (dconst0, (res)->imaginary), \ FFEBAD)#define ffetarget_convert_complex1_real2(res,l) \ ({ REAL_VALUE_TYPE lr; \ lr = ffetarget_cvt_r2_to_rv_ (&((l).v[0])); \ ffetarget_cvt_rv_to_r1_ (lr, (res)->real); \ ffetarget_cvt_rv_to_r1_ (dconst0, (res)->imaginary), \ FFEBAD; })#else#define ffetarget_convert_complex1_real1(res,l) \ ((res)->real = (l), (res)->imaginary = 0, FFEBAD)#define ffetarget_convert_complex1_real2(res,l) \ ((res)->real = (l), (res)->imaginary = 0, FFEBAD)#endif#define ffetarget_convert_complex2_character1(res,l) \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -