22 #ifndef _BLAZE_MATH_TRAITS_DIVTRAIT_H_
23 #define _BLAZE_MATH_TRAITS_DIVTRAIT_H_
126 template<
typename T1
133 struct Failure {
typedef INVALID_TYPE Type; };
176 #define BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(T1,T2,RES) \
178 struct DivTrait< T1, T2 > \
193 #define BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION( T1 ) \
194 template< typename T2 > \
195 struct DivTrait< T1, complex<T2> > \
197 typedef complex<T2> Type; \
199 template< typename T2 > \
200 struct DivTrait< complex<T2>, T1 > \
202 typedef complex<T2> Type; \
218 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
unsigned char ,
unsigned char );
219 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
char ,
char );
220 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
signed char ,
signed char );
221 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
wchar_t ,
wchar_t );
222 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
unsigned short,
unsigned short );
223 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
short ,
short );
224 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
unsigned int ,
unsigned int );
225 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
int ,
int );
226 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
unsigned long ,
unsigned long );
227 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
long ,
long );
229 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char , std::size_t , std::size_t );
230 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char , std::ptrdiff_t, std::ptrdiff_t );
232 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
float ,
float );
233 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
double ,
double );
234 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned char ,
long double ,
long double );
249 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
unsigned char ,
char );
250 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
char ,
char );
251 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
signed char ,
signed char );
252 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
wchar_t ,
wchar_t );
253 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
unsigned short,
unsigned short );
254 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
short ,
short );
255 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
unsigned int ,
unsigned int );
256 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
int ,
int );
257 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
unsigned long ,
unsigned long );
258 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
long ,
long );
260 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char , std::size_t , std::size_t );
261 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char , std::ptrdiff_t, std::ptrdiff_t );
263 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
float ,
float );
264 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
double ,
double );
265 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
char ,
long double ,
long double );
280 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
unsigned char ,
signed char );
281 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
char ,
signed char );
282 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
signed char ,
signed char );
283 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
wchar_t ,
wchar_t );
284 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
unsigned short,
unsigned short );
285 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
short ,
short );
286 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
unsigned int ,
unsigned int );
287 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
int ,
int );
288 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
unsigned long ,
unsigned long );
289 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
long ,
long );
291 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char , std::size_t , std::size_t );
292 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char , std::ptrdiff_t, std::ptrdiff_t );
294 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
float ,
float );
295 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
double ,
double );
296 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
signed char ,
long double ,
long double );
311 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
unsigned char ,
wchar_t );
312 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
char ,
wchar_t );
313 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
signed char ,
wchar_t );
314 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
wchar_t ,
wchar_t );
315 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
unsigned short,
unsigned short );
316 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
short ,
short );
317 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
unsigned int ,
unsigned int );
318 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
int ,
int );
319 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
unsigned long ,
unsigned long );
320 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
long ,
long );
322 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t , std::size_t , std::size_t );
323 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t , std::ptrdiff_t, std::ptrdiff_t );
325 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
float ,
float );
326 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
double ,
double );
327 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
wchar_t ,
long double ,
long double );
342 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
unsigned char ,
unsigned short );
343 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
char ,
unsigned short );
344 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
signed char ,
unsigned short );
345 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
wchar_t ,
unsigned short );
346 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
unsigned short,
unsigned short );
347 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
short ,
short );
348 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
unsigned int ,
unsigned int );
349 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
int ,
int );
350 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
unsigned long ,
unsigned long );
351 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
long ,
long );
353 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short, std::size_t , std::size_t );
354 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short, std::ptrdiff_t, std::ptrdiff_t );
356 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
float ,
float );
357 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
double ,
double );
358 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned short,
long double ,
long double );
373 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
unsigned char ,
short );
374 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
char ,
short );
375 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
signed char ,
short );
376 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
wchar_t ,
short );
377 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
unsigned short,
short );
378 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
short ,
short );
379 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
unsigned int ,
unsigned int );
380 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
int ,
int );
381 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
unsigned long ,
unsigned long );
382 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
long ,
long );
384 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short , std::size_t , std::size_t );
385 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short , std::ptrdiff_t, std::ptrdiff_t );
387 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
float ,
float );
388 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
double ,
double );
389 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
short ,
long double ,
long double );
404 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
unsigned char ,
unsigned int );
405 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
char ,
unsigned int );
406 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
signed char ,
unsigned int );
407 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
wchar_t ,
unsigned int );
408 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
unsigned short,
unsigned int );
409 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
short ,
unsigned int );
410 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
unsigned int ,
unsigned int );
411 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
int ,
int );
412 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
unsigned long ,
unsigned long );
413 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
long ,
long );
415 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int , std::size_t , std::size_t );
416 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int , std::ptrdiff_t, std::ptrdiff_t );
418 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
float ,
float );
419 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
double ,
double );
420 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned int ,
long double ,
long double );
435 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
unsigned char ,
int );
436 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
char ,
int );
437 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
signed char ,
int );
438 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
wchar_t ,
int );
439 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
unsigned short,
int );
440 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
short ,
int );
441 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
unsigned int ,
int );
442 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
int ,
int );
443 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
unsigned long ,
unsigned long );
444 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
long ,
long );
446 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int , std::size_t , std::size_t );
447 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int , std::ptrdiff_t, std::ptrdiff_t );
449 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
float ,
float );
450 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
double ,
double );
451 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
int ,
long double ,
long double );
466 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
unsigned char ,
unsigned long );
467 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
char ,
unsigned long );
468 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
signed char ,
unsigned long );
469 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
wchar_t ,
unsigned long );
470 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
unsigned short,
unsigned long );
471 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
short ,
unsigned long );
472 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
unsigned int ,
unsigned long );
473 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
int ,
unsigned long );
474 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
unsigned long ,
unsigned long );
475 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
long ,
long );
477 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long , std::size_t , std::size_t );
478 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long , std::ptrdiff_t, std::ptrdiff_t );
480 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
float ,
float );
481 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
double ,
double );
482 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
unsigned long ,
long double ,
long double );
497 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
unsigned char ,
long );
498 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
char ,
long );
499 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
signed char ,
long );
500 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
wchar_t ,
long );
501 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
unsigned short,
long );
502 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
short ,
long );
503 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
unsigned int ,
long );
504 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
int ,
long );
505 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
unsigned long ,
long );
506 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
long ,
long );
508 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long , std::size_t , std::size_t );
509 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long , std::ptrdiff_t, std::ptrdiff_t );
511 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
float ,
float );
512 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
double ,
double );
513 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long ,
long double ,
long double );
529 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
unsigned char , std::size_t );
530 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
char , std::size_t );
531 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
signed char , std::size_t );
532 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
wchar_t , std::size_t );
533 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
unsigned short, std::size_t );
534 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
short , std::size_t );
535 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
unsigned int , std::size_t );
536 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
int , std::size_t );
537 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
unsigned long , std::size_t );
538 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
long , std::size_t );
539 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t , std::size_t , std::size_t );
540 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t , std::ptrdiff_t, std::ptrdiff_t );
541 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
float ,
float );
542 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
double ,
double );
543 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::size_t ,
long double ,
long double );
560 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned char , std::ptrdiff_t );
561 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
char , std::ptrdiff_t );
562 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
signed char , std::ptrdiff_t );
563 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
wchar_t , std::ptrdiff_t );
564 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned short, std::ptrdiff_t );
565 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
short , std::ptrdiff_t );
566 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned int , std::ptrdiff_t );
567 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
int , std::ptrdiff_t );
568 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
unsigned long , std::ptrdiff_t );
569 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
long , std::ptrdiff_t );
570 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t, std::size_t , std::ptrdiff_t );
571 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t, std::ptrdiff_t, std::ptrdiff_t );
572 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
float ,
float );
573 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
double ,
double );
574 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t,
long double ,
long double );
590 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
unsigned char ,
float );
591 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
char ,
float );
592 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
signed char ,
float );
593 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
wchar_t ,
float );
594 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
unsigned short,
float );
595 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
short ,
float );
596 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
unsigned int ,
float );
597 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
int ,
float );
598 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
unsigned long ,
float );
599 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
long ,
float );
601 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float , std::size_t ,
float );
602 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float , std::ptrdiff_t,
float );
604 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
float ,
float );
605 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
double ,
double );
606 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
float ,
long double ,
long double );
621 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
unsigned char ,
double );
622 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
char ,
double );
623 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
signed char ,
double );
624 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
wchar_t ,
double );
625 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
unsigned short,
double );
626 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
short ,
double );
627 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
unsigned int ,
double );
628 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
int ,
double );
629 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
unsigned long ,
double );
630 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
long ,
double );
632 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double , std::size_t ,
double );
633 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double , std::ptrdiff_t,
double );
635 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
float ,
double );
636 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
double ,
double );
637 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
double ,
long double ,
long double );
652 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
unsigned char ,
long double );
653 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
char ,
long double );
654 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
signed char ,
long double );
655 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
wchar_t ,
long double );
656 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
unsigned short,
long double );
657 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
short ,
long double );
658 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
unsigned int ,
long double );
659 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
int ,
long double );
660 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
unsigned long ,
long double );
661 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
long ,
long double );
663 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double , std::size_t ,
long double );
664 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double , std::ptrdiff_t,
long double );
666 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
float ,
long double );
667 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
double ,
long double );
668 BLAZE_CREATE_BUILTIN_DIVTRAIT_SPECIALIZATION(
long double ,
long double ,
long double );
683 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
unsigned char );
684 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
char );
685 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
signed char );
686 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
wchar_t );
687 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
unsigned short );
688 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
short );
689 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
unsigned int );
690 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
int );
691 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
unsigned long );
692 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
long );
694 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION( std::size_t );
695 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION( std::ptrdiff_t );
697 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
float );
698 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
double );
699 BLAZE_CREATE_COMPLEX_DIVTRAIT_SPECIALIZATION(
long double );
706 template<
typename T1,
typename T2 >
707 struct DivTrait< complex<T1>, complex<T2> >
709 typedef complex<typename DivTrait<T1,T2>::Type> Type;