{add_gpu<unsignedchar,unsignedchar>,0/*add_gpu<unsigned char, signed char>*/,add_gpu<unsignedchar,unsignedshort>,add_gpu<unsignedchar,short>,add_gpu<unsignedchar,int>,add_gpu<unsignedchar,float>,add_gpu<unsignedchar,double>},
{add_gpu<unsignedchar,unsignedchar>,0/*add_gpu<unsigned char, signed char>*/,add_gpu<unsignedchar,unsignedshort>,add_gpu<unsignedchar,short>,add_gpu<unsignedchar,int>,add_gpu<unsignedchar,float>,add_gpu<unsignedchar,double>},
{add_gpu<unsignedchar,unsignedchar>,0/*add_gpu<unsigned char, signed char>*/,add_gpu<unsignedchar,unsignedshort>,add_gpu<unsignedchar,short>,add_gpu<unsignedchar,int>,add_gpu<unsignedchar,float>,add_gpu<unsignedchar,double>},
{0/*add_gpu<unsigned short, unsigned char>*/,0/*add_gpu<unsigned short, signed char>*/,add_gpu<unsignedshort,unsignedshort>,0/*add_gpu<unsigned short, short>*/,add_gpu<unsignedshort,int>,add_gpu<unsignedshort,float>,add_gpu<unsignedshort,double>},
{0/*add_gpu<short, unsigned char>*/,0/*add_gpu<short, signed char>*/,0/*add_gpu<short, unsigned short>*/,add_gpu<short,short>,add_gpu<short,int>,add_gpu<short,float>,add_gpu<short,double>},
{0/*add_gpu<int, unsigned char>*/,0/*add_gpu<int, signed char>*/,0/*add_gpu<int, unsigned short>*/,0/*add_gpu<int, short>*/,add_gpu<int,int>,add_gpu<int,float>,add_gpu<int,double>},
{0/*add_gpu<float, unsigned char>*/,0/*add_gpu<float, signed char>*/,0/*add_gpu<float, unsigned short>*/,0/*add_gpu<float, short>*/,0/*add_gpu<float, int>*/,add_gpu<float,float>,add_gpu<float,double>},
{0/*add_gpu<double, unsigned char>*/,0/*add_gpu<double, signed char>*/,0/*add_gpu<double, unsigned short>*/,0/*add_gpu<double, short>*/,0/*add_gpu<double, int>*/,0/*add_gpu<double, float>*/,add_gpu<double,double>}
{add_gpu<unsignedchar,unsignedchar>,0/*add_gpu<unsigned char, signed char>*/,add_gpu<unsignedchar,unsignedshort>,add_gpu<unsignedchar,short>,add_gpu<unsignedchar,int>,add_gpu<unsignedchar,float>,add_gpu<unsignedchar,double>},
{subtract_gpu<unsignedchar,unsignedchar>,0/*subtract_gpu<unsigned char, signed char>*/,subtract_gpu<unsignedchar,unsignedshort>,subtract_gpu<unsignedchar,short>,subtract_gpu<unsignedchar,int>,subtract_gpu<unsignedchar,float>,subtract_gpu<unsignedchar,double>},
{0/*subtract_gpu<unsigned short, unsigned char>*/,0/*subtract_gpu<unsigned short, signed char>*/,subtract_gpu<unsignedshort,unsignedshort>,0/*subtract_gpu<unsigned short, short>*/,subtract_gpu<unsignedshort,int>,subtract_gpu<unsignedshort,float>,subtract_gpu<unsignedshort,double>},
{0/*subtract_gpu<short, unsigned char>*/,0/*subtract_gpu<short, signed char>*/,0/*subtract_gpu<short, unsigned short>*/,subtract_gpu<short,short>,subtract_gpu<short,int>,subtract_gpu<short,float>,subtract_gpu<short,double>},
{0/*subtract_gpu<int, unsigned char>*/,0/*subtract_gpu<int, signed char>*/,0/*subtract_gpu<int, unsigned short>*/,0/*subtract_gpu<int, short>*/,subtract_gpu<int,int>,subtract_gpu<int,float>,subtract_gpu<int,double>},
{0/*subtract_gpu<float, unsigned char>*/,0/*subtract_gpu<float, signed char>*/,0/*subtract_gpu<float, unsigned short>*/,0/*subtract_gpu<float, short>*/,0/*subtract_gpu<float, int>*/,subtract_gpu<float,float>,subtract_gpu<float,double>},
{0/*subtract_gpu<double, unsigned char>*/,0/*subtract_gpu<double, signed char>*/,0/*subtract_gpu<double, unsigned short>*/,0/*subtract_gpu<double, short>*/,0/*subtract_gpu<double, int>*/,0/*subtract_gpu<double, float>*/,subtract_gpu<double,double>}
{subtract_gpu<unsignedchar,unsignedchar>,0/*subtract_gpu<unsigned char, signed char>*/,subtract_gpu<unsignedchar,unsignedshort>,subtract_gpu<unsignedchar,short>,subtract_gpu<unsignedchar,int>,subtract_gpu<unsignedchar,float>,subtract_gpu<unsignedchar,double>},
{subtract_gpu<unsignedchar,unsignedchar>,0/*subtract_gpu<unsigned char, signed char>*/,subtract_gpu<unsignedchar,unsignedshort>,subtract_gpu<unsignedchar,short>,subtract_gpu<unsignedchar,int>,subtract_gpu<unsignedchar,float>,subtract_gpu<unsignedchar,double>},
{0/*subtract_gpu<unsigned short, unsigned char>*/,0/*subtract_gpu<unsigned short, signed char>*/,subtract_gpu<unsignedshort,unsignedshort>,0/*subtract_gpu<unsigned short, short>*/,subtract_gpu<unsignedshort,int>,subtract_gpu<unsignedshort,float>,subtract_gpu<unsignedshort,double>},
{0/*subtract_gpu<short, unsigned char>*/,0/*subtract_gpu<short, signed char>*/,0/*subtract_gpu<short, unsigned short>*/,subtract_gpu<short,short>,subtract_gpu<short,int>,subtract_gpu<short,float>,subtract_gpu<short,double>},
{0/*subtract_gpu<int, unsigned char>*/,0/*subtract_gpu<int, signed char>*/,0/*subtract_gpu<int, unsigned short>*/,0/*subtract_gpu<int, short>*/,subtract_gpu<int,int>,subtract_gpu<int,float>,subtract_gpu<int,double>},
{0/*subtract_gpu<float, unsigned char>*/,0/*subtract_gpu<float, signed char>*/,0/*subtract_gpu<float, unsigned short>*/,0/*subtract_gpu<float, short>*/,0/*subtract_gpu<float, int>*/,subtract_gpu<float,float>,subtract_gpu<float,double>},
{0/*subtract_gpu<double, unsigned char>*/,0/*subtract_gpu<double, signed char>*/,0/*subtract_gpu<double, unsigned short>*/,0/*subtract_gpu<double, short>*/,0/*subtract_gpu<double, int>*/,0/*subtract_gpu<double, float>*/,subtract_gpu<double,double>}
{subtract_gpu<unsignedchar,unsignedchar>,0/*subtract_gpu<unsigned char, signed char>*/,subtract_gpu<unsignedchar,unsignedshort>,subtract_gpu<unsignedchar,short>,subtract_gpu<unsignedchar,int>,subtract_gpu<unsignedchar,float>,subtract_gpu<unsignedchar,double>},
{multiply_gpu<unsignedchar,unsignedchar>,0/*multiply_gpu<unsigned char, signed char>*/,multiply_gpu<unsignedchar,unsignedshort>,multiply_gpu<unsignedchar,short>,multiply_gpu<unsignedchar,int>,multiply_gpu<unsignedchar,float>,multiply_gpu<unsignedchar,double>},
{multiply_gpu<unsignedchar,unsignedchar>,0/*multiply_gpu<unsigned char, signed char>*/,multiply_gpu<unsignedchar,unsignedshort>,multiply_gpu<unsignedchar,short>,multiply_gpu<unsignedchar,int>,multiply_gpu<unsignedchar,float>,multiply_gpu<unsignedchar,double>},
{multiply_gpu<unsignedchar,unsignedchar>,0/*multiply_gpu<unsigned char, signed char>*/,multiply_gpu<unsignedchar,unsignedshort>,multiply_gpu<unsignedchar,short>,multiply_gpu<unsignedchar,int>,multiply_gpu<unsignedchar,float>,multiply_gpu<unsignedchar,double>},
{0/*multiply_gpu<unsigned short, unsigned char>*/,0/*multiply_gpu<unsigned short, signed char>*/,multiply_gpu<unsignedshort,unsignedshort>,0/*multiply_gpu<unsigned short, short>*/,multiply_gpu<unsignedshort,int>,multiply_gpu<unsignedshort,float>,multiply_gpu<unsignedshort,double>},
{0/*multiply_gpu<short, unsigned char>*/,0/*multiply_gpu<short, signed char>*/,0/*multiply_gpu<short, unsigned short>*/,multiply_gpu<short,short>,multiply_gpu<short,int>,multiply_gpu<short,float>,multiply_gpu<short,double>},
{0/*multiply_gpu<int, unsigned char>*/,0/*multiply_gpu<int, signed char>*/,0/*multiply_gpu<int, unsigned short>*/,0/*multiply_gpu<int, short>*/,multiply_gpu<int,int>,multiply_gpu<int,float>,multiply_gpu<int,double>},
{0/*multiply_gpu<float, unsigned char>*/,0/*multiply_gpu<float, signed char>*/,0/*multiply_gpu<float, unsigned short>*/,0/*multiply_gpu<float, short>*/,0/*multiply_gpu<float, int>*/,multiply_gpu<float,float>,multiply_gpu<float,double>},
{0/*multiply_gpu<double, unsigned char>*/,0/*multiply_gpu<double, signed char>*/,0/*multiply_gpu<double, unsigned short>*/,0/*multiply_gpu<double, short>*/,0/*multiply_gpu<double, int>*/,0/*multiply_gpu<double, float>*/,multiply_gpu<double,double>}
{multiply_gpu<unsignedchar,unsignedchar>,0/*multiply_gpu<unsigned char, signed char>*/,multiply_gpu<unsignedchar,unsignedshort>,multiply_gpu<unsignedchar,short>,multiply_gpu<unsignedchar,int>,multiply_gpu<unsignedchar,float>,multiply_gpu<unsignedchar,double>},
{divide_gpu<unsignedchar,unsignedchar>,0/*divide_gpu<unsigned char, signed char>*/,divide_gpu<unsignedchar,unsignedshort>,divide_gpu<unsignedchar,short>,divide_gpu<unsignedchar,int>,divide_gpu<unsignedchar,float>,divide_gpu<unsignedchar,double>},
{divide_gpu<unsignedchar,unsignedchar>,0/*divide_gpu<unsigned char, signed char>*/,divide_gpu<unsignedchar,unsignedshort>,divide_gpu<unsignedchar,short>,divide_gpu<unsignedchar,int>,divide_gpu<unsignedchar,float>,divide_gpu<unsignedchar,double>},
{divide_gpu<unsignedchar,unsignedchar>,0/*divide_gpu<unsigned char, signed char>*/,divide_gpu<unsignedchar,unsignedshort>,divide_gpu<unsignedchar,short>,divide_gpu<unsignedchar,int>,divide_gpu<unsignedchar,float>,divide_gpu<unsignedchar,double>},
{0/*divide_gpu<unsigned short, unsigned char>*/,0/*divide_gpu<unsigned short, signed char>*/,divide_gpu<unsignedshort,unsignedshort>,0/*divide_gpu<unsigned short, short>*/,divide_gpu<unsignedshort,int>,divide_gpu<unsignedshort,float>,divide_gpu<unsignedshort,double>},
{0/*divide_gpu<short, unsigned char>*/,0/*divide_gpu<short, signed char>*/,0/*divide_gpu<short, unsigned short>*/,divide_gpu<short,short>,divide_gpu<short,int>,divide_gpu<short,float>,divide_gpu<short,double>},
{0/*divide_gpu<int, unsigned char>*/,0/*divide_gpu<int, signed char>*/,0/*divide_gpu<int, unsigned short>*/,0/*divide_gpu<int, short>*/,divide_gpu<int,int>,divide_gpu<int,float>,divide_gpu<int,double>},
{0/*divide_gpu<float, unsigned char>*/,0/*divide_gpu<float, signed char>*/,0/*divide_gpu<float, unsigned short>*/,0/*divide_gpu<float, short>*/,0/*divide_gpu<float, int>*/,divide_gpu<float,float>,divide_gpu<float,double>},
{0/*divide_gpu<double, unsigned char>*/,0/*divide_gpu<double, signed char>*/,0/*divide_gpu<double, unsigned short>*/,0/*divide_gpu<double, short>*/,0/*divide_gpu<double, int>*/,0/*divide_gpu<double, float>*/,divide_gpu<double,double>}
{divide_gpu<unsignedchar,unsignedchar>,0/*divide_gpu<unsigned char, signed char>*/,divide_gpu<unsignedchar,unsignedshort>,divide_gpu<unsignedchar,short>,divide_gpu<unsignedchar,int>,divide_gpu<unsignedchar,float>,divide_gpu<unsignedchar,double>},
{divide_gpu<unsignedchar,unsignedchar>,0/*divide_gpu<unsigned char, signed char>*/,divide_gpu<unsignedchar,unsignedshort>,divide_gpu<unsignedchar,short>,divide_gpu<unsignedchar,int>,divide_gpu<unsignedchar,float>,divide_gpu<unsignedchar,double>},
{0/*divide_gpu<unsigned short, unsigned char>*/,0/*divide_gpu<unsigned short, signed char>*/,divide_gpu<unsignedshort,unsignedshort>,0/*divide_gpu<unsigned short, short>*/,divide_gpu<unsignedshort,int>,divide_gpu<unsignedshort,float>,divide_gpu<unsignedshort,double>},
{0/*divide_gpu<short, unsigned char>*/,0/*divide_gpu<short, signed char>*/,0/*divide_gpu<short, unsigned short>*/,divide_gpu<short,short>,divide_gpu<short,int>,divide_gpu<short,float>,divide_gpu<short,double>},
{0/*divide_gpu<int, unsigned char>*/,0/*divide_gpu<int, signed char>*/,0/*divide_gpu<int, unsigned short>*/,0/*divide_gpu<int, short>*/,divide_gpu<int,int>,divide_gpu<int,float>,divide_gpu<int,double>},
{0/*divide_gpu<float, unsigned char>*/,0/*divide_gpu<float, signed char>*/,0/*divide_gpu<float, unsigned short>*/,0/*divide_gpu<float, short>*/,0/*divide_gpu<float, int>*/,divide_gpu<float,float>,divide_gpu<float,double>},
{0/*divide_gpu<double, unsigned char>*/,0/*divide_gpu<double, signed char>*/,0/*divide_gpu<double, unsigned short>*/,0/*divide_gpu<double, short>*/,0/*divide_gpu<double, int>*/,0/*divide_gpu<double, float>*/,divide_gpu<double,double>}
{divide_gpu<unsignedchar,unsignedchar>,0/*divide_gpu<unsigned char, signed char>*/,divide_gpu<unsignedchar,unsignedshort>,divide_gpu<unsignedchar,short>,divide_gpu<unsignedchar,int>,divide_gpu<unsignedchar,float>,divide_gpu<unsignedchar,double>},