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;
180 #define BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(T1,T2,HIGH,LOW) \
182 struct MathTrait< T1, T2 > \
184 typedef HIGH HighType; \
185 typedef LOW LowType; \
198 #define BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( T1 ) \
199 template< typename T2 > \
200 struct MathTrait< T1, complex<T2> > \
202 typedef complex<T2> HighType; \
203 typedef T1 LowType; \
205 template< typename T2 > \
206 struct MathTrait< complex<T2>, T1 > \
208 typedef complex<T2> HighType; \
209 typedef T1 LowType; \
226 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned char ,
unsigned char ,
unsigned char );
227 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
char ,
char ,
unsigned char );
228 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
signed char ,
signed char ,
unsigned char );
229 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
wchar_t ,
wchar_t ,
unsigned char );
230 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned short,
unsigned short,
unsigned char );
231 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
short ,
short ,
unsigned char );
232 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned int ,
unsigned int ,
unsigned char );
233 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
int ,
int ,
unsigned char );
234 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned long ,
unsigned long ,
unsigned char );
235 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
long ,
long ,
unsigned char );
237 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char , std::size_t , std::size_t ,
unsigned char );
238 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char , std::ptrdiff_t, std::ptrdiff_t,
unsigned char );
240 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
float ,
float ,
unsigned char );
241 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
double ,
double ,
unsigned char );
242 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
long double ,
long double ,
unsigned char );
258 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned char ,
char ,
unsigned char );
259 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
char ,
char ,
char );
260 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
signed char ,
signed char ,
char );
261 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
wchar_t ,
wchar_t ,
char );
262 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned short,
unsigned short,
char );
263 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
short ,
short ,
char );
264 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned int ,
unsigned int ,
char );
265 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
int ,
int ,
char );
266 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned long ,
unsigned long ,
char );
267 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
long ,
long ,
char );
269 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char , std::size_t , std::size_t ,
char );
270 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char , std::ptrdiff_t, std::ptrdiff_t,
char );
272 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
float ,
float ,
char );
273 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
double ,
double ,
char );
274 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
long double ,
long double ,
char );
290 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned char ,
signed char ,
unsigned char );
291 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
char ,
signed char ,
char );
292 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
signed char ,
signed char ,
signed char );
293 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
wchar_t ,
wchar_t ,
signed char );
294 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned short,
unsigned short,
signed char );
295 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
short ,
short ,
signed char );
296 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned int ,
unsigned int ,
signed char );
297 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
int ,
int ,
signed char );
298 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned long ,
unsigned long ,
signed char );
299 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
long ,
long ,
signed char );
301 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char , std::size_t , std::size_t ,
signed char );
302 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char , std::ptrdiff_t, std::ptrdiff_t,
signed char );
304 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
float ,
float ,
signed char );
305 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
double ,
double ,
signed char );
306 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
long double ,
long double ,
signed char );
322 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned char ,
wchar_t ,
unsigned char );
323 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
char ,
wchar_t ,
char );
324 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
signed char ,
wchar_t ,
signed char );
325 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
wchar_t ,
wchar_t ,
wchar_t );
326 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned short,
unsigned short,
wchar_t );
327 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
short ,
short ,
wchar_t );
328 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned int ,
unsigned int ,
wchar_t );
329 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
int ,
int ,
wchar_t );
330 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned long ,
unsigned long ,
wchar_t );
331 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
long ,
long ,
wchar_t );
333 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t , std::size_t , std::size_t ,
wchar_t );
334 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t , std::ptrdiff_t, std::ptrdiff_t,
wchar_t );
336 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
float ,
float ,
wchar_t );
337 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
double ,
double ,
wchar_t );
338 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
long double ,
long double ,
wchar_t );
354 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned char ,
unsigned short,
unsigned char );
355 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
char ,
unsigned short,
char );
356 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
signed char ,
unsigned short,
signed char );
357 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
wchar_t ,
unsigned short,
wchar_t );
358 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned short,
unsigned short,
unsigned short );
359 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
short ,
short ,
unsigned short );
360 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned int ,
unsigned int ,
unsigned short );
361 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
int ,
int ,
unsigned short );
362 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned long ,
unsigned long ,
unsigned short );
363 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
long ,
long ,
unsigned short );
365 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short, std::size_t , std::size_t ,
unsigned short );
366 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short, std::ptrdiff_t, std::ptrdiff_t,
unsigned short );
368 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
float ,
float ,
unsigned short );
369 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
double ,
double ,
unsigned short );
370 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
long double ,
long double ,
unsigned short );
386 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned char ,
short ,
unsigned char );
387 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
char ,
short ,
char );
388 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
signed char ,
short ,
signed char );
389 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
wchar_t ,
short ,
wchar_t );
390 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned short,
short ,
unsigned short );
391 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
short ,
short ,
short );
392 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned int ,
unsigned int ,
short );
393 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
int ,
int ,
short );
394 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned long ,
unsigned long ,
short );
395 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
long ,
long ,
short );
397 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short , std::size_t , std::size_t ,
short );
398 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short , std::ptrdiff_t, std::ptrdiff_t,
short );
400 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
float ,
float ,
short );
401 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
double ,
double ,
short );
402 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
long double ,
long double ,
short );
418 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned char ,
unsigned int ,
unsigned char );
419 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
char ,
unsigned int ,
char );
420 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
signed char ,
unsigned int ,
signed char );
421 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
wchar_t ,
unsigned int ,
wchar_t );
422 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned short,
unsigned int ,
unsigned short );
423 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
short ,
unsigned int ,
short );
424 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int );
425 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
int ,
int ,
unsigned int );
426 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned long ,
unsigned long ,
unsigned int );
427 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
long ,
long ,
unsigned int );
429 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int , std::size_t , std::size_t ,
unsigned int );
430 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int , std::ptrdiff_t, std::ptrdiff_t,
unsigned int );
432 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
float ,
float ,
unsigned int );
433 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
double ,
double ,
unsigned int );
434 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
long double ,
long double ,
unsigned int );
450 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned char ,
int ,
unsigned char );
451 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
char ,
int ,
wchar_t );
452 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
signed char ,
int ,
signed char );
453 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
wchar_t ,
int ,
wchar_t );
454 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned short,
int ,
unsigned short );
455 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
short ,
int ,
short );
456 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned int ,
int ,
unsigned int );
457 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
int ,
int ,
int );
458 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned long ,
unsigned long ,
int );
459 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
long ,
long ,
int );
461 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int , std::size_t , std::size_t ,
int );
462 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int , std::ptrdiff_t, std::ptrdiff_t,
int );
464 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
float ,
float ,
int );
465 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
double ,
double ,
int );
466 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
long double ,
long double ,
int );
482 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned char ,
unsigned long ,
unsigned char );
483 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
char ,
unsigned long ,
char );
484 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
signed char ,
unsigned long ,
signed char );
485 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
wchar_t ,
unsigned long ,
wchar_t );
486 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned short,
unsigned long ,
unsigned short );
487 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
short ,
unsigned long ,
short );
488 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned int ,
unsigned long ,
unsigned int );
489 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
int ,
unsigned long ,
int );
490 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned long ,
unsigned long ,
unsigned long );
491 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
long ,
long ,
unsigned long );
493 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long , std::size_t , std::size_t ,
unsigned long );
494 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long , std::ptrdiff_t, std::ptrdiff_t,
unsigned long );
496 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
float ,
float ,
unsigned long );
497 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
double ,
double ,
unsigned long );
498 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
long double ,
long double ,
unsigned long );
514 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned char ,
long ,
unsigned char );
515 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
char ,
long ,
char );
516 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
signed char ,
long ,
signed char );
517 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
wchar_t ,
long ,
wchar_t );
518 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned short,
long ,
unsigned short );
519 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
short ,
long ,
short );
520 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned int ,
long ,
unsigned int );
521 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
int ,
long ,
int );
522 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned long ,
long ,
unsigned long );
523 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
long ,
long ,
long );
525 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long , std::size_t , std::size_t ,
long );
526 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long , std::ptrdiff_t, std::ptrdiff_t,
long );
528 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
float ,
float ,
long );
529 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
double ,
double ,
long );
530 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
long double ,
long double ,
long );
547 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned char , std::size_t ,
unsigned char );
548 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
char , std::size_t ,
char );
549 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
signed char , std::size_t ,
signed char );
550 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
wchar_t , std::size_t ,
wchar_t );
551 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned short, std::size_t ,
unsigned short );
552 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
short , std::size_t ,
short );
553 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned int , std::size_t ,
unsigned int );
554 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
int , std::size_t ,
int );
555 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned long , std::size_t ,
unsigned long );
556 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
long , std::size_t ,
long );
557 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t , std::size_t , std::size_t , std::size_t );
558 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t , std::ptrdiff_t, std::ptrdiff_t, std::size_t );
559 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
float ,
float , std::size_t );
560 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
double ,
double , std::size_t );
561 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
long double ,
long double , std::size_t );
579 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned char , std::ptrdiff_t,
unsigned char );
580 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
char , std::ptrdiff_t,
char );
581 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
signed char , std::ptrdiff_t,
signed char );
582 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
wchar_t , std::ptrdiff_t,
wchar_t );
583 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned short, std::ptrdiff_t,
unsigned short );
584 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
short , std::ptrdiff_t,
short );
585 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned int , std::ptrdiff_t,
unsigned int );
586 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
int , std::ptrdiff_t,
int );
587 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned long , std::ptrdiff_t,
unsigned long );
588 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
long , std::ptrdiff_t,
long );
589 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t, std::size_t , std::ptrdiff_t, std::size_t );
590 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t );
591 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
float ,
float , std::ptrdiff_t );
592 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
double ,
double , std::ptrdiff_t );
593 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
long double ,
long double , std::ptrdiff_t );
610 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned char ,
float ,
unsigned char );
611 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
char ,
float ,
char );
612 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
signed char ,
float ,
signed char );
613 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
wchar_t ,
float ,
wchar_t );
614 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned short,
float ,
unsigned short );
615 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
short ,
float ,
short );
616 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned int ,
float ,
unsigned int );
617 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
int ,
float ,
int );
618 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned long ,
float ,
unsigned long );
619 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
long ,
float ,
long );
621 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float , std::size_t ,
float , std::size_t );
622 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float , std::ptrdiff_t,
float , std::ptrdiff_t );
624 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
float ,
float ,
float );
625 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
double ,
double ,
float );
626 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
long double ,
long double ,
float );
642 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned char ,
double ,
unsigned char );
643 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
char ,
double ,
char );
644 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
signed char ,
double ,
signed char );
645 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
wchar_t ,
double ,
wchar_t );
646 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned short,
double ,
unsigned short );
647 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
short ,
double ,
short );
648 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned int ,
double ,
unsigned int );
649 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
int ,
double ,
int );
650 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned long ,
double ,
unsigned long );
651 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
long ,
double ,
long );
653 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double , std::size_t ,
double , std::size_t );
654 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double , std::ptrdiff_t,
double , std::ptrdiff_t );
656 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
float ,
double ,
float );
657 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
double ,
double ,
double );
658 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
long double ,
long double ,
double );
674 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned char ,
long double ,
unsigned char );
675 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
char ,
long double ,
char );
676 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
signed char ,
long double ,
signed char );
677 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
wchar_t ,
long double ,
wchar_t );
678 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned short,
long double ,
unsigned short );
679 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
short ,
long double ,
short );
680 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned int ,
long double ,
unsigned int );
681 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
int ,
long double ,
int );
682 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned long ,
long double ,
unsigned long );
683 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
long ,
long double ,
long );
685 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double , std::size_t ,
long double , std::size_t );
686 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double , std::ptrdiff_t,
long double , std::ptrdiff_t );
688 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
float ,
long double ,
float );
689 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
double ,
long double ,
double );
690 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
long double ,
long double ,
long double );
705 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned char );
706 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
char );
707 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
signed char );
708 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
wchar_t );
709 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned short );
710 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
short );
711 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned int );
712 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
int );
713 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned long );
714 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
long );
716 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( std::size_t );
717 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t );
719 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
float );
720 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
double );
721 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
long double );
728 template<
typename T1,
typename T2 >
729 struct MathTrait< complex<T1>, complex<T2> >
731 typedef complex<typename MathTrait<T1,T2>::HighType> HighType;
732 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.