35 #ifndef _BLAZE_MATH_TYPETRAITS_HIGHTYPE_H_ 36 #define _BLAZE_MATH_TYPETRAITS_HIGHTYPE_H_ 132 template<
typename T1,
typename T2 >
139 using Type = INVALID_TYPE;
176 template<
typename T1,
typename T2 >
199 template<
typename T >
225 #define BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(T1,T2,HIGH) \ 227 struct HighType< T1, T2 > \ 242 #define BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION( T1 ) \ 243 template< typename T2 > \ 244 struct HighType< T1, complex<T2> > \ 246 using Type = complex<T2>; \ 248 template< typename T2 > \ 249 struct HighType< complex<T2>, T1 > \ 251 using Type = complex<T2>; \ 268 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
unsigned char ,
unsigned char );
269 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
char ,
char );
270 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
signed char ,
signed char );
271 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
wchar_t ,
wchar_t );
272 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
unsigned short,
unsigned short );
273 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
short ,
short );
274 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
unsigned int ,
unsigned int );
275 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
int ,
int );
276 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
unsigned long ,
unsigned long );
277 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
long ,
long );
279 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char , std::size_t , std::size_t );
280 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char , std::ptrdiff_t, std::ptrdiff_t );
282 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
float ,
float );
283 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
double ,
double );
284 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned char ,
long double ,
long double );
300 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
unsigned char ,
char );
301 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
char ,
char );
302 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
signed char ,
signed char );
303 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
wchar_t ,
wchar_t );
304 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
unsigned short,
unsigned short );
305 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
short ,
short );
306 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
unsigned int ,
unsigned int );
307 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
int ,
int );
308 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
unsigned long ,
unsigned long );
309 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
long ,
long );
311 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char , std::size_t , std::size_t );
312 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char , std::ptrdiff_t, std::ptrdiff_t );
314 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
float ,
float );
315 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
double ,
double );
316 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
char ,
long double ,
long double );
332 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
unsigned char ,
signed char );
333 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
char ,
signed char );
334 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
signed char ,
signed char );
335 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
wchar_t ,
wchar_t );
336 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
unsigned short,
unsigned short );
337 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
short ,
short );
338 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
unsigned int ,
unsigned int );
339 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
int ,
int );
340 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
unsigned long ,
unsigned long );
341 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
long ,
long );
343 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char , std::size_t , std::size_t );
344 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char , std::ptrdiff_t, std::ptrdiff_t );
346 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
float ,
float );
347 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
double ,
double );
348 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
signed char ,
long double ,
long double );
364 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
unsigned char ,
wchar_t );
365 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
char ,
wchar_t );
366 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
signed char ,
wchar_t );
367 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
wchar_t ,
wchar_t );
368 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
unsigned short,
unsigned short );
369 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
short ,
short );
370 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
unsigned int ,
unsigned int );
371 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
int ,
int );
372 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
unsigned long ,
unsigned long );
373 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
long ,
long );
375 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t , std::size_t , std::size_t );
376 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t , std::ptrdiff_t, std::ptrdiff_t );
378 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
float ,
float );
379 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
double ,
double );
380 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
wchar_t ,
long double ,
long double );
396 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
unsigned char ,
unsigned short );
397 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
char ,
unsigned short );
398 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
signed char ,
unsigned short );
399 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
wchar_t ,
unsigned short );
400 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
unsigned short,
unsigned short );
401 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
short ,
short );
402 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
unsigned int ,
unsigned int );
403 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
int ,
int );
404 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
unsigned long ,
unsigned long );
405 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
long ,
long );
407 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short, std::size_t , std::size_t );
408 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short, std::ptrdiff_t, std::ptrdiff_t );
410 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
float ,
float );
411 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
double ,
double );
412 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned short,
long double ,
long double );
428 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
unsigned char ,
short );
429 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
char ,
short );
430 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
signed char ,
short );
431 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
wchar_t ,
short );
432 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
unsigned short,
short );
433 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
short ,
short );
434 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
unsigned int ,
unsigned int );
435 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
int ,
int );
436 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
unsigned long ,
unsigned long );
437 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
long ,
long );
439 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short , std::size_t , std::size_t );
440 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short , std::ptrdiff_t, std::ptrdiff_t );
442 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
float ,
float );
443 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
double ,
double );
444 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
short ,
long double ,
long double );
460 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
unsigned char ,
unsigned int );
461 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
char ,
unsigned int );
462 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
signed char ,
unsigned int );
463 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
wchar_t ,
unsigned int );
464 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
unsigned short,
unsigned int );
465 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
short ,
unsigned int );
466 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
unsigned int ,
unsigned int );
467 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
int ,
int );
468 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
unsigned long ,
unsigned long );
469 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
long ,
long );
471 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int , std::size_t , std::size_t );
472 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int , std::ptrdiff_t, std::ptrdiff_t );
474 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
float ,
float );
475 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
double ,
double );
476 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned int ,
long double ,
long double );
492 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
unsigned char ,
int );
493 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
char ,
int );
494 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
signed char ,
int );
495 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
wchar_t ,
int );
496 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
unsigned short,
int );
497 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
short ,
int );
498 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
unsigned int ,
int );
499 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
int ,
int );
500 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
unsigned long ,
unsigned long );
501 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
long ,
long );
503 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int , std::size_t , std::size_t );
504 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int , std::ptrdiff_t, std::ptrdiff_t );
506 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
float ,
float );
507 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
double ,
double );
508 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
int ,
long double ,
long double );
524 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
unsigned char ,
unsigned long );
525 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
char ,
unsigned long );
526 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
signed char ,
unsigned long );
527 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
wchar_t ,
unsigned long );
528 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
unsigned short,
unsigned long );
529 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
short ,
unsigned long );
530 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
unsigned int ,
unsigned long );
531 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
int ,
unsigned long );
532 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
unsigned long ,
unsigned long );
533 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
long ,
long );
535 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long , std::size_t , std::size_t );
536 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long , std::ptrdiff_t, std::ptrdiff_t );
538 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
float ,
float );
539 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
double ,
double );
540 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
unsigned long ,
long double ,
long double );
556 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
unsigned char ,
long );
557 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
char ,
long );
558 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
signed char ,
long );
559 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
wchar_t ,
long );
560 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
unsigned short,
long );
561 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
short ,
long );
562 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
unsigned int ,
long );
563 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
int ,
long );
564 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
unsigned long ,
long );
565 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
long ,
long );
567 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long , std::size_t , std::size_t );
568 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long , std::ptrdiff_t, std::ptrdiff_t );
570 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
float ,
float );
571 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
double ,
double );
572 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long ,
long double ,
long double );
589 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
unsigned char , std::size_t );
590 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
char , std::size_t );
591 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
signed char , std::size_t );
592 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
wchar_t , std::size_t );
593 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
unsigned short, std::size_t );
594 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
short , std::size_t );
595 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
unsigned int , std::size_t );
596 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
int , std::size_t );
597 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
unsigned long , std::size_t );
598 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
long , std::size_t );
599 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t , std::size_t , std::size_t );
600 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t , std::ptrdiff_t, std::ptrdiff_t );
601 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
float ,
float );
602 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
double ,
double );
603 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::size_t ,
long double ,
long double );
621 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
unsigned char , std::ptrdiff_t );
622 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
char , std::ptrdiff_t );
623 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
signed char , std::ptrdiff_t );
624 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
wchar_t , std::ptrdiff_t );
625 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
unsigned short, std::ptrdiff_t );
626 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
short , std::ptrdiff_t );
627 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
unsigned int , std::ptrdiff_t );
628 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
int , std::ptrdiff_t );
629 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
unsigned long , std::ptrdiff_t );
630 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
long , std::ptrdiff_t );
631 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t, std::size_t , std::ptrdiff_t );
632 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t );
633 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
float ,
float );
634 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
double ,
double );
635 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t,
long double ,
long double );
652 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
unsigned char ,
float );
653 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
char ,
float );
654 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
signed char ,
float );
655 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
wchar_t ,
float );
656 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
unsigned short,
float );
657 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
short ,
float );
658 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
unsigned int ,
float );
659 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
int ,
float );
660 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
unsigned long ,
float );
661 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
long ,
float );
663 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float , std::size_t ,
float );
664 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float , std::ptrdiff_t,
float );
666 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
float ,
float );
667 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
double ,
double );
668 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
float ,
long double ,
long double );
684 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
unsigned char ,
double );
685 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
char ,
double );
686 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
signed char ,
double );
687 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
wchar_t ,
double );
688 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
unsigned short,
double );
689 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
short ,
double );
690 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
unsigned int ,
double );
691 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
int ,
double );
692 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
unsigned long ,
double );
693 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
long ,
double );
695 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double , std::size_t ,
double );
696 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double , std::ptrdiff_t,
double );
698 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
float ,
double );
699 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
double ,
double );
700 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
double ,
long double ,
long double );
716 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
unsigned char ,
long double );
717 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
char ,
long double );
718 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
signed char ,
long double );
719 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
wchar_t ,
long double );
720 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
unsigned short,
long double );
721 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
short ,
long double );
722 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
unsigned int ,
long double );
723 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
int ,
long double );
724 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
unsigned long ,
long double );
725 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
long ,
long double );
727 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double , std::size_t ,
long double );
728 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double , std::ptrdiff_t,
long double );
730 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
float ,
long double );
731 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
double ,
long double );
732 BLAZE_CREATE_BUILTIN_HIGHTYPE_SPECIALIZATION(
long double ,
long double ,
long double );
747 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
unsigned char );
748 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
char );
749 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
signed char );
750 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
wchar_t );
751 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
unsigned short );
752 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
short );
753 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
unsigned int );
754 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
int );
755 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
unsigned long );
756 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
long );
758 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION( std::size_t );
759 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION( std::ptrdiff_t );
761 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
float );
762 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
double );
763 BLAZE_CREATE_COMPLEX_HIGHTYPE_SPECIALIZATION(
long double );
770 template<
typename T >
771 struct HighType< complex<T>, complex<T> >
773 using Type = complex< Decay_<T> >;
781 template<
typename T1,
typename T2 >
782 struct HighType< complex<T1>, complex<T2> >
784 using Type = complex< typename HighType<T1,T2>::Type >;
typename HighType< T1, T2 >::Type HighType_
Auxiliary alias declaration for the HighType type trait.The HighType_ alias declaration provides a co...
Definition: HighType.h:177
Compile time check for volatile data types.The IsVolatile type trait tests whether or not the given t...
Definition: IsVolatile.h:75
typename Decay< T >::Type Decay_
Auxiliary alias declaration for the Decay type trait.The Decay_ alias declaration provides a convenie...
Definition: Decay.h:98
Header file for the IsVolatile type trait.
Header file for the Decay type trait.
Base template for the HighType type trait.
Definition: HighType.h:133
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the If class template.
Header file for the Or class template.
Header file for the IsConst type trait.
Utility type for generic codes.
typename If< T1, T2, T3 >::Type If_
Auxiliary alias declaration for the If class template.The If_ alias declaration provides a convenient...
Definition: If.h:160
Header file for the IsReference type trait.
Compile time check for constant data types.The IsConst type trait tests whether or not the given temp...
Definition: IsConst.h:75
Compile time type check.This class tests whether the given template parameter T is a reference type (...
Definition: IsReference.h:75
Header file for the complex data type.