📄 op_predefined.c
字号:
OP_FUNC(prod, long, long, *=)OP_FUNC(prod, short, short, *=)OP_FUNC(prod, unsigned_short, unsigned short, *=)OP_FUNC(prod, unsigned, unsigned, *=)OP_FUNC(prod, unsigned_long, unsigned long, *=)#if HAVE_LONG_LONGOP_FUNC(prod, long_long_int, long long int, *=)OP_FUNC(prod, unsigned_long_long, unsigned long long, *=)#endif/* Fortran integer */#if OMPI_HAVE_FORTRAN_INTEGEROP_FUNC(prod, fortran_integer, ompi_fortran_integer_t, *=)#endif#if OMPI_HAVE_FORTRAN_INTEGER1OP_FUNC(prod, fortran_integer1, ompi_fortran_integer1_t, *=)#endif#if OMPI_HAVE_FORTRAN_INTEGER2OP_FUNC(prod, fortran_integer2, ompi_fortran_integer2_t, *=)#endif#if OMPI_HAVE_FORTRAN_INTEGER4OP_FUNC(prod, fortran_integer4, ompi_fortran_integer4_t, *=)#endif#if OMPI_HAVE_FORTRAN_INTEGER8OP_FUNC(prod, fortran_integer8, ompi_fortran_integer8_t, *=)#endif#if OMPI_HAVE_FORTRAN_INTEGER16OP_FUNC(prod, fortran_integer16, ompi_fortran_integer16_t, *=)#endif/* Floating point */OP_FUNC(prod, float, float, *=)OP_FUNC(prod, double, double, *=)#if OMPI_HAVE_FORTRAN_REALOP_FUNC(prod, fortran_real, ompi_fortran_real_t, *=)#endif#if OMPI_HAVE_FORTRAN_DOUBLE_PRECISIONOP_FUNC(prod, fortran_double_precision, ompi_fortran_double_precision_t, *=)#endifOP_FUNC(prod, long_double, long double, *=)#if OMPI_HAVE_FORTRAN_REAL4OP_FUNC(prod, fortran_real4, ompi_fortran_real4_t, *=)#endif#if OMPI_HAVE_FORTRAN_REAL8OP_FUNC(prod, fortran_real8, ompi_fortran_real8_t, *=)#endif#if OMPI_HAVE_FORTRAN_REAL16OP_FUNC(prod, fortran_real16, ompi_fortran_real16_t, *=)#endif/* Complex */#if OMPI_HAVE_FORTRAN_REAL && OMPI_HAVE_FORTRAN_COMPLEXCOMPLEX_OP_FUNC_PROD(fortran_complex, ompi_fortran_complex_t)#endif#if OMPI_HAVE_FORTRAN_DOUBLE_PRECISION && OMPI_HAVE_FORTRAN_COMPLEXCOMPLEX_OP_FUNC_PROD(fortran_double_complex, ompi_fortran_double_complex_t)#endif#if OMPI_HAVE_FORTRAN_REAL4 && OMPI_HAVE_FORTRAN_COMPLEX8COMPLEX_OP_FUNC_PROD(fortran_complex8, ompi_fortran_complex8_t)#endif#if OMPI_HAVE_FORTRAN_REAL8 && OMPI_HAVE_FORTRAN_COMPLEX16COMPLEX_OP_FUNC_PROD(fortran_complex16, ompi_fortran_complex16_t)#endif#if OMPI_HAVE_FORTRAN_REAL16 && OMPI_HAVE_FORTRAN_COMPLEX32COMPLEX_OP_FUNC_PROD(fortran_complex32, ompi_fortran_complex32_t)#endif/************************************************************************* * Logical AND *************************************************************************/#undef current_func#define current_func(a, b) ((a) && (b))/* C integer */FUNC_FUNC(land, unsigned_char, unsigned char)FUNC_FUNC(land, signed_char, signed char)FUNC_FUNC(land, int, int)FUNC_FUNC(land, long, long)FUNC_FUNC(land, short, short)FUNC_FUNC(land, unsigned_short, unsigned short)FUNC_FUNC(land, unsigned, unsigned)FUNC_FUNC(land, unsigned_long, unsigned long)#if HAVE_LONG_LONGFUNC_FUNC(land, long_long_int, long long int)FUNC_FUNC(land, unsigned_long_long, unsigned long long)#endif/* Logical */#if OMPI_HAVE_FORTRAN_LOGICALFUNC_FUNC(land, fortran_logical, ompi_fortran_logical_t)#endif/* C++ bool */FUNC_FUNC(land, bool, bool)/************************************************************************* * Logical OR *************************************************************************/#undef current_func#define current_func(a, b) ((a) || (b))/* C integer */FUNC_FUNC(lor, unsigned_char, unsigned char)FUNC_FUNC(lor, signed_char, signed char)FUNC_FUNC(lor, int, int)FUNC_FUNC(lor, long, long)FUNC_FUNC(lor, short, short)FUNC_FUNC(lor, unsigned_short, unsigned short)FUNC_FUNC(lor, unsigned, unsigned)FUNC_FUNC(lor, unsigned_long, unsigned long)#if HAVE_LONG_LONGFUNC_FUNC(lor, long_long_int, long long int)FUNC_FUNC(lor, unsigned_long_long, unsigned long long)#endif/* Logical */#if OMPI_HAVE_FORTRAN_LOGICALFUNC_FUNC(lor, fortran_logical, ompi_fortran_logical_t)#endif/* C++ bool */FUNC_FUNC(lor, bool, bool)/************************************************************************* * Logical XOR *************************************************************************/#undef current_func#define current_func(a, b) ((a ? 1 : 0) ^ (b ? 1: 0))/* C integer */FUNC_FUNC(lxor, unsigned_char, unsigned char)FUNC_FUNC(lxor, signed_char, signed char)FUNC_FUNC(lxor, int, int)FUNC_FUNC(lxor, long, long)FUNC_FUNC(lxor, short, short)FUNC_FUNC(lxor, unsigned_short, unsigned short)FUNC_FUNC(lxor, unsigned, unsigned)FUNC_FUNC(lxor, unsigned_long, unsigned long)#if HAVE_LONG_LONGFUNC_FUNC(lxor, long_long_int, long long int)FUNC_FUNC(lxor, unsigned_long_long, unsigned long long)#endif/* Logical */#if OMPI_HAVE_FORTRAN_LOGICALFUNC_FUNC(lxor, fortran_logical, ompi_fortran_logical_t)#endif/* C++ bool */FUNC_FUNC(lxor, bool, bool)/************************************************************************* * Bitwise AND *************************************************************************/#undef current_func#define current_func(a, b) ((a) & (b))/* C integer */FUNC_FUNC(band, unsigned_char, unsigned char)FUNC_FUNC(band, signed_char, signed char)FUNC_FUNC(band, int, int)FUNC_FUNC(band, long, long)FUNC_FUNC(band, short, short)FUNC_FUNC(band, unsigned_short, unsigned short)FUNC_FUNC(band, unsigned, unsigned)FUNC_FUNC(band, unsigned_long, unsigned long)#if HAVE_LONG_LONGFUNC_FUNC(band, long_long_int, long long int)FUNC_FUNC(band, unsigned_long_long, unsigned long long)#endif/* Fortran integer */#if OMPI_HAVE_FORTRAN_INTEGERFUNC_FUNC(band, fortran_integer, ompi_fortran_integer_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER1FUNC_FUNC(band, fortran_integer1, ompi_fortran_integer1_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER2FUNC_FUNC(band, fortran_integer2, ompi_fortran_integer2_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER4FUNC_FUNC(band, fortran_integer4, ompi_fortran_integer4_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER8FUNC_FUNC(band, fortran_integer8, ompi_fortran_integer8_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER16FUNC_FUNC(band, fortran_integer16, ompi_fortran_integer16_t)#endif/* Byte */FUNC_FUNC(band, byte, char)/************************************************************************* * Bitwise OR *************************************************************************/#undef current_func#define current_func(a, b) ((a) | (b))/* C integer */FUNC_FUNC(bor, unsigned_char, unsigned char)FUNC_FUNC(bor, signed_char, signed char)FUNC_FUNC(bor, int, int)FUNC_FUNC(bor, long, long)FUNC_FUNC(bor, short, short)FUNC_FUNC(bor, unsigned_short, unsigned short)FUNC_FUNC(bor, unsigned, unsigned)FUNC_FUNC(bor, unsigned_long, unsigned long)#if HAVE_LONG_LONGFUNC_FUNC(bor, long_long_int, long long int)FUNC_FUNC(bor, unsigned_long_long, unsigned long long)#endif/* Fortran integer */#if OMPI_HAVE_FORTRAN_INTEGERFUNC_FUNC(bor, fortran_integer, ompi_fortran_integer_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER1FUNC_FUNC(bor, fortran_integer1, ompi_fortran_integer1_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER2FUNC_FUNC(bor, fortran_integer2, ompi_fortran_integer2_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER4FUNC_FUNC(bor, fortran_integer4, ompi_fortran_integer4_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER8FUNC_FUNC(bor, fortran_integer8, ompi_fortran_integer8_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER16FUNC_FUNC(bor, fortran_integer16, ompi_fortran_integer16_t)#endif/* Byte */FUNC_FUNC(bor, byte, char)/************************************************************************* * Bitwise XOR *************************************************************************/#undef current_func#define current_func(a, b) ((a) ^ (b))/* C integer */FUNC_FUNC(bxor, unsigned_char, unsigned char)FUNC_FUNC(bxor, signed_char, signed char)FUNC_FUNC(bxor, int, int)FUNC_FUNC(bxor, long, long)FUNC_FUNC(bxor, short, short)FUNC_FUNC(bxor, unsigned_short, unsigned short)FUNC_FUNC(bxor, unsigned, unsigned)FUNC_FUNC(bxor, unsigned_long, unsigned long)#if HAVE_LONG_LONGFUNC_FUNC(bxor, long_long_int, long long int)FUNC_FUNC(bxor, unsigned_long_long, unsigned long long)#endif/* Fortran integer */#if OMPI_HAVE_FORTRAN_INTEGERFUNC_FUNC(bxor, fortran_integer, ompi_fortran_integer_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER1FUNC_FUNC(bxor, fortran_integer1, ompi_fortran_integer1_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER2FUNC_FUNC(bxor, fortran_integer2, ompi_fortran_integer2_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER4FUNC_FUNC(bxor, fortran_integer4, ompi_fortran_integer4_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER8FUNC_FUNC(bxor, fortran_integer8, ompi_fortran_integer8_t)#endif#if OMPI_HAVE_FORTRAN_INTEGER16FUNC_FUNC(bxor, fortran_integer16, ompi_fortran_integer16_t)#endif/* Byte */FUNC_FUNC(bxor, byte, char)/************************************************************************* * Min and max location "pair" datatypes *************************************************************************/#if OMPI_HAVE_FORTRAN_REALLOC_STRUCT(2real, ompi_fortran_real_t, ompi_fortran_real_t)#endif#if OMPI_HAVE_FORTRAN_DOUBLE_PRECISIONLOC_STRUCT(2double_precision, ompi_fortran_double_precision_t, ompi_fortran_double_precision_t)#endif#if OMPI_HAVE_FORTRAN_INTEGERLOC_STRUCT(2integer, ompi_fortran_integer_t, ompi_fortran_integer_t)#endifLOC_STRUCT(float_int, float, int)LOC_STRUCT(double_int, double, int)LOC_STRUCT(long_int, long, int)LOC_STRUCT(2int, int, int)LOC_STRUCT(short_int, short, int)LOC_STRUCT(long_double_int, long double, int)/************************************************************************* * Max location *************************************************************************/#if OMPI_HAVE_FORTRAN_REALLOC_FUNC(maxloc, 2real, >)#endif#if OMPI_HAVE_FORTRAN_DOUBLE_PRECISIONLOC_FUNC(maxloc, 2double_precision, >)#endif#if OMPI_HAVE_FORTRAN_INTEGERLOC_FUNC(maxloc, 2integer, >)#endifLOC_FUNC(maxloc, float_int, >)LOC_FUNC(maxloc, double_int, >)LOC_FUNC(maxloc, long_int, >)LOC_FUNC(maxloc, 2int, >)LOC_FUNC(maxloc, short_int, >)LOC_FUNC(maxloc, long_double_int, >)/************************************************************************* * Min location *************************************************************************/#if OMPI_HAVE_FORTRAN_REALLOC_FUNC(minloc, 2real, <)#endif#if OMPI_HAVE_FORTRAN_DOUBLE_PRECISIONLOC_FUNC(minloc, 2double_precision, <)#endif#if OMPI_HAVE_FORTRAN_INTEGERLOC_FUNC(minloc, 2integer, <)#endifLOC_FUNC(minloc, float_int, <)LOC_FUNC(minloc, double_int, <)LOC_FUNC(minloc, long_int, <)LOC_FUNC(minloc, 2int, <)LOC_FUNC(minloc, short_int, <)LOC_FUNC(minloc, long_double_int, <)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -