22 #ifndef _BLAZE_MATH_TRAITS_MATHTRAIT_H_
23 #define _BLAZE_MATH_TRAITS_MATHTRAIT_H_
113 template<
typename T1,
typename T2 >
120 typedef INVALID_TYPE HighType;
121 typedef INVALID_TYPE LowType;
167 #define BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(T1,T2,HIGH,LOW) \
169 struct MathTrait< T1, T2 > \
171 typedef HIGH HighType; \
172 typedef LOW LowType; \
185 #define BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( T1 ) \
186 template< typename T2 > \
187 struct MathTrait< T1, complex<T2> > \
189 typedef complex<T2> HighType; \
190 typedef T1 LowType; \
192 template< typename T2 > \
193 struct MathTrait< complex<T2>, T1 > \
195 typedef complex<T2> HighType; \
196 typedef T1 LowType; \
213 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned char ,
unsigned char ,
unsigned char );
214 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
char ,
char ,
unsigned char );
215 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
signed char ,
signed char ,
unsigned char );
216 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
wchar_t ,
wchar_t ,
unsigned char );
217 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned short,
unsigned short,
unsigned char );
218 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
short ,
short ,
unsigned char );
219 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned int ,
unsigned int ,
unsigned char );
220 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
int ,
int ,
unsigned char );
221 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
unsigned long ,
unsigned long ,
unsigned char );
222 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
long ,
long ,
unsigned char );
224 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char , std::size_t , std::size_t ,
unsigned char );
225 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char , std::ptrdiff_t, std::ptrdiff_t,
unsigned char );
227 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
float ,
float ,
unsigned char );
228 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
double ,
double ,
unsigned char );
229 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned char ,
long double ,
long double ,
unsigned char );
245 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned char ,
char ,
unsigned char );
246 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
char ,
char ,
char );
247 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
signed char ,
signed char ,
char );
248 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
wchar_t ,
wchar_t ,
char );
249 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned short,
unsigned short,
char );
250 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
short ,
short ,
char );
251 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned int ,
unsigned int ,
char );
252 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
int ,
int ,
char );
253 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
unsigned long ,
unsigned long ,
char );
254 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
long ,
long ,
char );
256 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char , std::size_t , std::size_t ,
char );
257 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char , std::ptrdiff_t, std::ptrdiff_t,
char );
259 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
float ,
float ,
char );
260 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
double ,
double ,
char );
261 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
char ,
long double ,
long double ,
char );
277 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned char ,
signed char ,
unsigned char );
278 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
char ,
signed char ,
char );
279 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
signed char ,
signed char ,
signed char );
280 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
wchar_t ,
wchar_t ,
signed char );
281 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned short,
unsigned short,
signed char );
282 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
short ,
short ,
signed char );
283 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned int ,
unsigned int ,
signed char );
284 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
int ,
int ,
signed char );
285 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
unsigned long ,
unsigned long ,
signed char );
286 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
long ,
long ,
signed char );
288 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char , std::size_t , std::size_t ,
signed char );
289 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char , std::ptrdiff_t, std::ptrdiff_t,
signed char );
291 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
float ,
float ,
signed char );
292 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
double ,
double ,
signed char );
293 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
signed char ,
long double ,
long double ,
signed char );
309 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned char ,
wchar_t ,
unsigned char );
310 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
char ,
wchar_t ,
char );
311 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
signed char ,
wchar_t ,
signed char );
312 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
wchar_t ,
wchar_t ,
wchar_t );
313 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned short,
unsigned short,
wchar_t );
314 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
short ,
short ,
wchar_t );
315 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned int ,
unsigned int ,
wchar_t );
316 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
int ,
int ,
wchar_t );
317 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
unsigned long ,
unsigned long ,
wchar_t );
318 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
long ,
long ,
wchar_t );
320 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t , std::size_t , std::size_t ,
wchar_t );
321 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t , std::ptrdiff_t, std::ptrdiff_t,
wchar_t );
323 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
float ,
float ,
wchar_t );
324 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
double ,
double ,
wchar_t );
325 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
wchar_t ,
long double ,
long double ,
wchar_t );
341 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned char ,
unsigned short,
unsigned char );
342 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
char ,
unsigned short,
char );
343 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
signed char ,
unsigned short,
signed char );
344 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
wchar_t ,
unsigned short,
wchar_t );
345 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned short,
unsigned short,
unsigned short );
346 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
short ,
short ,
unsigned short );
347 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned int ,
unsigned int ,
unsigned short );
348 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
int ,
int ,
unsigned short );
349 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
unsigned long ,
unsigned long ,
unsigned short );
350 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
long ,
long ,
unsigned short );
352 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short, std::size_t , std::size_t ,
unsigned short );
353 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short, std::ptrdiff_t, std::ptrdiff_t,
unsigned short );
355 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
float ,
float ,
unsigned short );
356 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
double ,
double ,
unsigned short );
357 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned short,
long double ,
long double ,
unsigned short );
373 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned char ,
short ,
unsigned char );
374 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
char ,
short ,
char );
375 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
signed char ,
short ,
signed char );
376 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
wchar_t ,
short ,
wchar_t );
377 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned short,
short ,
unsigned short );
378 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
short ,
short ,
short );
379 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned int ,
unsigned int ,
short );
380 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
int ,
int ,
short );
381 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
unsigned long ,
unsigned long ,
short );
382 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
long ,
long ,
short );
384 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short , std::size_t , std::size_t ,
short );
385 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short , std::ptrdiff_t, std::ptrdiff_t,
short );
387 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
float ,
float ,
short );
388 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
double ,
double ,
short );
389 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
short ,
long double ,
long double ,
short );
405 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned char ,
unsigned int ,
unsigned char );
406 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
char ,
unsigned int ,
char );
407 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
signed char ,
unsigned int ,
signed char );
408 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
wchar_t ,
unsigned int ,
wchar_t );
409 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned short,
unsigned int ,
unsigned short );
410 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
short ,
unsigned int ,
short );
411 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int );
412 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
int ,
int ,
unsigned int );
413 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
unsigned long ,
unsigned long ,
unsigned int );
414 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
long ,
long ,
unsigned int );
416 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int , std::size_t , std::size_t ,
unsigned int );
417 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int , std::ptrdiff_t, std::ptrdiff_t,
unsigned int );
419 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
float ,
float ,
unsigned int );
420 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
double ,
double ,
unsigned int );
421 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned int ,
long double ,
long double ,
unsigned int );
437 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned char ,
int ,
unsigned char );
438 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
char ,
int ,
wchar_t );
439 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
signed char ,
int ,
signed char );
440 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
wchar_t ,
int ,
wchar_t );
441 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned short,
int ,
unsigned short );
442 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
short ,
int ,
short );
443 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned int ,
int ,
unsigned int );
444 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
int ,
int ,
int );
445 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
unsigned long ,
unsigned long ,
int );
446 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
long ,
long ,
int );
448 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int , std::size_t , std::size_t ,
int );
449 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int , std::ptrdiff_t, std::ptrdiff_t,
int );
451 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
float ,
float ,
int );
452 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
double ,
double ,
int );
453 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
int ,
long double ,
long double ,
int );
469 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned char ,
unsigned long ,
unsigned char );
470 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
char ,
unsigned long ,
char );
471 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
signed char ,
unsigned long ,
signed char );
472 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
wchar_t ,
unsigned long ,
wchar_t );
473 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned short,
unsigned long ,
unsigned short );
474 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
short ,
unsigned long ,
short );
475 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned int ,
unsigned long ,
unsigned int );
476 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
int ,
unsigned long ,
int );
477 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
unsigned long ,
unsigned long ,
unsigned long );
478 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
long ,
long ,
unsigned long );
480 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long , std::size_t , std::size_t ,
unsigned long );
481 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long , std::ptrdiff_t, std::ptrdiff_t,
unsigned long );
483 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
float ,
float ,
unsigned long );
484 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
double ,
double ,
unsigned long );
485 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
unsigned long ,
long double ,
long double ,
unsigned long );
501 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned char ,
long ,
unsigned char );
502 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
char ,
long ,
char );
503 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
signed char ,
long ,
signed char );
504 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
wchar_t ,
long ,
wchar_t );
505 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned short,
long ,
unsigned short );
506 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
short ,
long ,
short );
507 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned int ,
long ,
unsigned int );
508 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
int ,
long ,
int );
509 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
unsigned long ,
long ,
unsigned long );
510 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
long ,
long ,
long );
512 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long , std::size_t , std::size_t ,
long );
513 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long , std::ptrdiff_t, std::ptrdiff_t,
long );
515 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
float ,
float ,
long );
516 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
double ,
double ,
long );
517 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long ,
long double ,
long double ,
long );
534 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned char , std::size_t ,
unsigned char );
535 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
char , std::size_t ,
char );
536 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
signed char , std::size_t ,
signed char );
537 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
wchar_t , std::size_t ,
wchar_t );
538 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned short, std::size_t ,
unsigned short );
539 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
short , std::size_t ,
short );
540 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned int , std::size_t ,
unsigned int );
541 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
int , std::size_t ,
int );
542 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
unsigned long , std::size_t ,
unsigned long );
543 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
long , std::size_t ,
long );
544 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t , std::size_t , std::size_t , std::size_t );
545 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t , std::ptrdiff_t, std::ptrdiff_t, std::size_t );
546 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
float ,
float , std::size_t );
547 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
double ,
double , std::size_t );
548 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::size_t ,
long double ,
long double , std::size_t );
566 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned char , std::ptrdiff_t,
unsigned char );
567 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
char , std::ptrdiff_t,
char );
568 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
signed char , std::ptrdiff_t,
signed char );
569 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
wchar_t , std::ptrdiff_t,
wchar_t );
570 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned short, std::ptrdiff_t,
unsigned short );
571 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
short , std::ptrdiff_t,
short );
572 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned int , std::ptrdiff_t,
unsigned int );
573 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
int , std::ptrdiff_t,
int );
574 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned long , std::ptrdiff_t,
unsigned long );
575 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
long , std::ptrdiff_t,
long );
576 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t, std::size_t , std::ptrdiff_t, std::size_t );
577 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t );
578 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
float ,
float , std::ptrdiff_t );
579 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
double ,
double , std::ptrdiff_t );
580 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t,
long double ,
long double , std::ptrdiff_t );
597 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned char ,
float ,
unsigned char );
598 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
char ,
float ,
char );
599 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
signed char ,
float ,
signed char );
600 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
wchar_t ,
float ,
wchar_t );
601 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned short,
float ,
unsigned short );
602 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
short ,
float ,
short );
603 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned int ,
float ,
unsigned int );
604 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
int ,
float ,
int );
605 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
unsigned long ,
float ,
unsigned long );
606 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
long ,
float ,
long );
608 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float , std::size_t ,
float , std::size_t );
609 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float , std::ptrdiff_t,
float , std::ptrdiff_t );
611 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
float ,
float ,
float );
612 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
double ,
double ,
float );
613 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
float ,
long double ,
long double ,
float );
629 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned char ,
double ,
unsigned char );
630 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
char ,
double ,
char );
631 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
signed char ,
double ,
signed char );
632 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
wchar_t ,
double ,
wchar_t );
633 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned short,
double ,
unsigned short );
634 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
short ,
double ,
short );
635 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned int ,
double ,
unsigned int );
636 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
int ,
double ,
int );
637 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
unsigned long ,
double ,
unsigned long );
638 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
long ,
double ,
long );
640 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double , std::size_t ,
double , std::size_t );
641 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double , std::ptrdiff_t,
double , std::ptrdiff_t );
643 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
float ,
double ,
float );
644 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
double ,
double ,
double );
645 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
double ,
long double ,
long double ,
double );
661 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned char ,
long double ,
unsigned char );
662 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
char ,
long double ,
char );
663 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
signed char ,
long double ,
signed char );
664 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
wchar_t ,
long double ,
wchar_t );
665 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned short,
long double ,
unsigned short );
666 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
short ,
long double ,
short );
667 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned int ,
long double ,
unsigned int );
668 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
int ,
long double ,
int );
669 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
unsigned long ,
long double ,
unsigned long );
670 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
long ,
long double ,
long );
672 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double , std::size_t ,
long double , std::size_t );
673 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double , std::ptrdiff_t,
long double , std::ptrdiff_t );
675 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
float ,
long double ,
float );
676 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
double ,
long double ,
double );
677 BLAZE_CREATE_BUILTIN_MATHTRAIT_SPECIALIZATION(
long double ,
long double ,
long double ,
long double );
692 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned char );
693 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
char );
694 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
signed char );
695 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
wchar_t );
696 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned short );
697 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
short );
698 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned int );
699 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
int );
700 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
unsigned long );
701 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
long );
703 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( std::size_t );
704 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION( std::ptrdiff_t );
706 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
float );
707 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
double );
708 BLAZE_CREATE_COMPLEX_MATHTRAIT_SPECIALIZATION(
long double );
715 template<
typename T1,
typename T2 >
716 struct MathTrait< complex<T1>, complex<T2> >
718 typedef complex<typename MathTrait<T1,T2>::HighType> HighType;
719 typedef complex<typename MathTrait<T1,T2>::LowType> LowType;