#include #include #include #include "libnumarray.h" #ifdef MS_WIN32 #pragma warning(once : 4244) #endif #define logical_and(arg1, arg2) (arg1 != 0) & (arg2 != 0) #define logical_or(arg1, arg2) (arg1 != 0) | (arg2 != 0) #define logical_xor(arg1, arg2) ((arg1 != 0) ^ (arg2 != 0)) & 1 #define ufmaximum(arg1, arg2) (((temp1=arg1) > (temp2=arg2)) ? temp1 : temp2) #define ufminimum(arg1, arg2) (((temp1=arg1) < (temp2=arg2)) ? temp1 : temp2) #define distance3d(x,y,z) sqrt(x*x + y*y + z*z) /********************* _distance3d *********************/ /********************* minus *********************/ /********************* add *********************/ /********************* subtract *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* multiply *********************/ /********************* divide *********************/ /********************* divide *********************/ /********************* floor_divide *********************/ /********************* floor_divide *********************/ /********************* true_divide *********************/ /********************* true_divide *********************/ /********************* remainder *********************/ /********************* remainder *********************/ /********************* power *********************/ /********************* abs *********************/ /********************* sin *********************/ /********************* cos *********************/ /********************* tan *********************/ /********************* arcsin *********************/ /********************* arccos *********************/ /********************* arctan *********************/ /********************* arctan2 *********************/ /********************* log *********************/ /********************* log10 *********************/ /********************* exp *********************/ /********************* sinh *********************/ /********************* cosh *********************/ /********************* tanh *********************/ /********************* arcsinh *********************/ /********************* arccosh *********************/ /********************* arctanh *********************/ /********************* ieeemask *********************/ /********************* ieeemask *********************/ /********************* isnan *********************/ /********************* isnan *********************/ /********************* isnan *********************/ /********************* isnan *********************/ static int isnan_DxB_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Bool *tout0 = (Bool *) buffers[1]; BEGIN_THREADS for (i=0; i