35 #ifndef _BLAZE_MATH_TRAITS_MATHTRAIT_H_
36 #define _BLAZE_MATH_TRAITS_MATHTRAIT_H_
126 template<
typename T1,
typename T2 >
133 typedef INVALID_TYPE HighType;
134 typedef INVALID_TYPE LowType;
183 template<
typename T >
188 typedef HighType LowType;
210 #define BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(T1,T2,HIGH,LOW) \
212 struct MathTrait< T1, T2 > \
214 typedef HIGH HighType; \
215 typedef LOW LowType; \
228 #define BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( T1 ) \
229 template< typename T2 > \
230 struct MathTrait< T1, complex<T2> > \
232 typedef complex<T2> HighType; \
233 typedef T1 LowType; \
235 template< typename T2 > \
236 struct MathTrait< complex<T2>, T1 > \
238 typedef complex<T2> HighType; \
239 typedef T1 LowType; \
256 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned char ,
unsigned char ,
unsigned char );
257 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
char ,
char ,
unsigned char );
258 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
signed char ,
signed char ,
unsigned char );
259 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
wchar_t ,
wchar_t ,
unsigned char );
260 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned short,
unsigned short,
unsigned char );
261 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
short ,
short ,
unsigned char );
262 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned int ,
unsigned int ,
unsigned char );
263 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
int ,
int ,
unsigned char );
264 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned long ,
unsigned long ,
unsigned char );
265 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
long ,
long ,
unsigned char );
267 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char , std::size_t , std::size_t ,
unsigned char );
268 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char , std::ptrdiff_t, std::ptrdiff_t,
unsigned char );
270 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
float ,
float ,
unsigned char );
271 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
double ,
double ,
unsigned char );
272 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
long double ,
long double ,
unsigned char );
288 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned char ,
char ,
unsigned char );
289 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
char ,
char ,
char );
290 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
signed char ,
signed char ,
char );
291 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
wchar_t ,
wchar_t ,
char );
292 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned short,
unsigned short,
char );
293 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
short ,
short ,
char );
294 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned int ,
unsigned int ,
char );
295 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
int ,
int ,
char );
296 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned long ,
unsigned long ,
char );
297 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
long ,
long ,
char );
299 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char , std::size_t , std::size_t ,
char );
300 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char , std::ptrdiff_t, std::ptrdiff_t,
char );
302 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
float ,
float ,
char );
303 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
double ,
double ,
char );
304 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
long double ,
long double ,
char );
320 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned char ,
signed char ,
unsigned char );
321 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
char ,
signed char ,
char );
322 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
signed char ,
signed char ,
signed char );
323 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
wchar_t ,
wchar_t ,
signed char );
324 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned short,
unsigned short,
signed char );
325 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
short ,
short ,
signed char );
326 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned int ,
unsigned int ,
signed char );
327 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
int ,
int ,
signed char );
328 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned long ,
unsigned long ,
signed char );
329 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
long ,
long ,
signed char );
331 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char , std::size_t , std::size_t ,
signed char );
332 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char , std::ptrdiff_t, std::ptrdiff_t,
signed char );
334 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
float ,
float ,
signed char );
335 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
double ,
double ,
signed char );
336 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
long double ,
long double ,
signed char );
352 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned char ,
wchar_t ,
unsigned char );
353 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
char ,
wchar_t ,
char );
354 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
signed char ,
wchar_t ,
signed char );
355 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
wchar_t ,
wchar_t ,
wchar_t );
356 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned short,
unsigned short,
wchar_t );
357 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
short ,
short ,
wchar_t );
358 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned int ,
unsigned int ,
wchar_t );
359 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
int ,
int ,
wchar_t );
360 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned long ,
unsigned long ,
wchar_t );
361 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
long ,
long ,
wchar_t );
363 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t , std::size_t , std::size_t ,
wchar_t );
364 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t , std::ptrdiff_t, std::ptrdiff_t,
wchar_t );
366 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
float ,
float ,
wchar_t );
367 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
double ,
double ,
wchar_t );
368 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
long double ,
long double ,
wchar_t );
384 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned char ,
unsigned short,
unsigned char );
385 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
char ,
unsigned short,
char );
386 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
signed char ,
unsigned short,
signed char );
387 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
wchar_t ,
unsigned short,
wchar_t );
388 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned short,
unsigned short,
unsigned short );
389 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
short ,
short ,
unsigned short );
390 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned int ,
unsigned int ,
unsigned short );
391 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
int ,
int ,
unsigned short );
392 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned long ,
unsigned long ,
unsigned short );
393 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
long ,
long ,
unsigned short );
395 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short, std::size_t , std::size_t ,
unsigned short );
396 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short, std::ptrdiff_t, std::ptrdiff_t,
unsigned short );
398 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
float ,
float ,
unsigned short );
399 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
double ,
double ,
unsigned short );
400 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
long double ,
long double ,
unsigned short );
416 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned char ,
short ,
unsigned char );
417 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
char ,
short ,
char );
418 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
signed char ,
short ,
signed char );
419 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
wchar_t ,
short ,
wchar_t );
420 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned short,
short ,
unsigned short );
421 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
short ,
short ,
short );
422 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned int ,
unsigned int ,
short );
423 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
int ,
int ,
short );
424 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned long ,
unsigned long ,
short );
425 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
long ,
long ,
short );
427 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short , std::size_t , std::size_t ,
short );
428 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short , std::ptrdiff_t, std::ptrdiff_t,
short );
430 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
float ,
float ,
short );
431 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
double ,
double ,
short );
432 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
long double ,
long double ,
short );
448 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned char ,
unsigned int ,
unsigned char );
449 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
char ,
unsigned int ,
char );
450 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
signed char ,
unsigned int ,
signed char );
451 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
wchar_t ,
unsigned int ,
wchar_t );
452 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned short,
unsigned int ,
unsigned short );
453 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
short ,
unsigned int ,
short );
454 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int );
455 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
int ,
int ,
unsigned int );
456 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned long ,
unsigned long ,
unsigned int );
457 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
long ,
long ,
unsigned int );
459 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int , std::size_t , std::size_t ,
unsigned int );
460 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int , std::ptrdiff_t, std::ptrdiff_t,
unsigned int );
462 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
float ,
float ,
unsigned int );
463 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
double ,
double ,
unsigned int );
464 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
long double ,
long double ,
unsigned int );
480 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned char ,
int ,
unsigned char );
481 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
char ,
int ,
wchar_t );
482 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
signed char ,
int ,
signed char );
483 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
wchar_t ,
int ,
wchar_t );
484 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned short,
int ,
unsigned short );
485 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
short ,
int ,
short );
486 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned int ,
int ,
unsigned int );
487 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
int ,
int ,
int );
488 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned long ,
unsigned long ,
int );
489 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
long ,
long ,
int );
491 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int , std::size_t , std::size_t ,
int );
492 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int , std::ptrdiff_t, std::ptrdiff_t,
int );
494 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
float ,
float ,
int );
495 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
double ,
double ,
int );
496 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
long double ,
long double ,
int );
512 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned char ,
unsigned long ,
unsigned char );
513 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
char ,
unsigned long ,
char );
514 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
signed char ,
unsigned long ,
signed char );
515 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
wchar_t ,
unsigned long ,
wchar_t );
516 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned short,
unsigned long ,
unsigned short );
517 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
short ,
unsigned long ,
short );
518 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned int ,
unsigned long ,
unsigned int );
519 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
int ,
unsigned long ,
int );
520 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned long ,
unsigned long ,
unsigned long );
521 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
long ,
long ,
unsigned long );
523 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long , std::size_t , std::size_t ,
unsigned long );
524 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long , std::ptrdiff_t, std::ptrdiff_t,
unsigned long );
526 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
float ,
float ,
unsigned long );
527 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
double ,
double ,
unsigned long );
528 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
long double ,
long double ,
unsigned long );
544 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned char ,
long ,
unsigned char );
545 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
char ,
long ,
char );
546 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
signed char ,
long ,
signed char );
547 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
wchar_t ,
long ,
wchar_t );
548 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned short,
long ,
unsigned short );
549 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
short ,
long ,
short );
550 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned int ,
long ,
unsigned int );
551 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
int ,
long ,
int );
552 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned long ,
long ,
unsigned long );
553 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
long ,
long ,
long );
555 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long , std::size_t , std::size_t ,
long );
556 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long , std::ptrdiff_t, std::ptrdiff_t,
long );
558 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
float ,
float ,
long );
559 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
double ,
double ,
long );
560 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
long double ,
long double ,
long );
577 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned char , std::size_t ,
unsigned char );
578 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
char , std::size_t ,
char );
579 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
signed char , std::size_t ,
signed char );
580 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
wchar_t , std::size_t ,
wchar_t );
581 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned short, std::size_t ,
unsigned short );
582 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
short , std::size_t ,
short );
583 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned int , std::size_t ,
unsigned int );
584 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
int , std::size_t ,
int );
585 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned long , std::size_t ,
unsigned long );
586 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
long , std::size_t ,
long );
587 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t , std::size_t , std::size_t , std::size_t );
588 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t , std::ptrdiff_t, std::ptrdiff_t, std::size_t );
589 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
float ,
float , std::size_t );
590 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
double ,
double , std::size_t );
591 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
long double ,
long double , std::size_t );
609 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned char , std::ptrdiff_t,
unsigned char );
610 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
char , std::ptrdiff_t,
char );
611 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
signed char , std::ptrdiff_t,
signed char );
612 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
wchar_t , std::ptrdiff_t,
wchar_t );
613 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned short, std::ptrdiff_t,
unsigned short );
614 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
short , std::ptrdiff_t,
short );
615 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned int , std::ptrdiff_t,
unsigned int );
616 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
int , std::ptrdiff_t,
int );
617 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned long , std::ptrdiff_t,
unsigned long );
618 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
long , std::ptrdiff_t,
long );
619 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t, std::size_t , std::ptrdiff_t, std::size_t );
620 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t );
621 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
float ,
float , std::ptrdiff_t );
622 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
double ,
double , std::ptrdiff_t );
623 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
long double ,
long double , std::ptrdiff_t );
640 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned char ,
float ,
unsigned char );
641 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
char ,
float ,
char );
642 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
signed char ,
float ,
signed char );
643 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
wchar_t ,
float ,
wchar_t );
644 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned short,
float ,
unsigned short );
645 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
short ,
float ,
short );
646 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned int ,
float ,
unsigned int );
647 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
int ,
float ,
int );
648 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned long ,
float ,
unsigned long );
649 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
long ,
float ,
long );
651 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float , std::size_t ,
float , std::size_t );
652 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float , std::ptrdiff_t,
float , std::ptrdiff_t );
654 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
float ,
float ,
float );
655 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
double ,
double ,
float );
656 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
long double ,
long double ,
float );
672 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned char ,
double ,
unsigned char );
673 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
char ,
double ,
char );
674 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
signed char ,
double ,
signed char );
675 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
wchar_t ,
double ,
wchar_t );
676 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned short,
double ,
unsigned short );
677 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
short ,
double ,
short );
678 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned int ,
double ,
unsigned int );
679 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
int ,
double ,
int );
680 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned long ,
double ,
unsigned long );
681 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
long ,
double ,
long );
683 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double , std::size_t ,
double , std::size_t );
684 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double , std::ptrdiff_t,
double , std::ptrdiff_t );
686 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
float ,
double ,
float );
687 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
double ,
double ,
double );
688 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
long double ,
long double ,
double );
704 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned char ,
long double ,
unsigned char );
705 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
char ,
long double ,
char );
706 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
signed char ,
long double ,
signed char );
707 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
wchar_t ,
long double ,
wchar_t );
708 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned short,
long double ,
unsigned short );
709 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
short ,
long double ,
short );
710 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned int ,
long double ,
unsigned int );
711 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
int ,
long double ,
int );
712 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned long ,
long double ,
unsigned long );
713 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
long ,
long double ,
long );
715 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double , std::size_t ,
long double , std::size_t );
716 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double , std::ptrdiff_t,
long double , std::ptrdiff_t );
718 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
float ,
long double ,
float );
719 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
double ,
long double ,
double );
720 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
long double ,
long double ,
long double );
735 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned char );
736 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
char );
737 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
signed char );
738 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
wchar_t );
739 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned short );
740 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
short );
741 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned int );
742 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
int );
743 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned long );
744 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
long );
746 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( std::size_t );
747 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t );
749 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
float );
750 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
double );
751 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
long double );
758 template<
typename T1,
typename T2 >
759 struct MathTrait< complex<T1>, complex<T2> >
761 typedef complex<typename MathTrait<T1,T2>::HighType> HighType;
762 typedef complex<typename MathTrait<T1,T2>::LowType> LowType;
Compile time check for volatile data types.The IsVolatile type trait tests whether or not the given t...
Definition: IsVolatile.h:94
Header file for the RemoveCV type trait.
Header file for the IsVolatile type trait.
Base template for the MathTrait class.
Definition: MathTrait.h:127
Compile time type selection.The SelectType class template selects one of the two given types T1 and T...
Definition: SelectType.h:59
Header file for the SelectType class template.
Removal of reference modifiers.The RemoveCV type trait removes any reference modifiers from the given...
Definition: RemoveReference.h:69
Header file for the IsConst type trait.
Utility type for generic codes.
Header file for the IsReference type trait.
Header file for the RemoveReference type trait.
Compile time check for constant data types.The IsConst type trait tests whether or not the given temp...
Definition: IsConst.h:94
Compile time type check.This class tests whether the given template parameter T is a reference type (...
Definition: IsReference.h:94
Header file for the complex data type.