source: Sophya/trunk/SophyaExt/Blitz/blitz/promote-old.h@ 3669

Last change on this file since 3669 was 221, checked in by ansari, 26 years ago

Creation module DPC/Blitz (blitz 0.4) Reza 09/04/99

File size: 23.1 KB
Line 
1/***********************************************************************
2 * promote.h Arithmetic type promotion trait class
3 * Author: Todd Veldhuizen (tveldhui@seurat.uwaterloo.ca)
4 *
5 * Copyright (C) 1997,1998 Todd Veldhuizen <tveldhui@seurat.uwaterloo.ca>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * Suggestions: blitz-suggest@cybervision.com
18 * Bugs: blitz-bugs@cybervision.com
19 *
20 * For more information, please see the Blitz++ Home Page:
21 * http://seurat.uwaterloo.ca/blitz/
22 *
23 ***************************************************************************
24 */
25
26// Generated: genpromote.cpp Aug 7 1997 14:59:32
27
28template<class A, class B>
29class promote_trait {
30public:
31 typedef A T_promote;
32};
33
34
35template<>
36class promote_trait<char, char> {
37public:
38 typedef int T_promote;
39};
40
41template<>
42class promote_trait<char, unsigned char> {
43public:
44 typedef int T_promote;
45};
46
47template<>
48class promote_trait<char, short int> {
49public:
50 typedef int T_promote;
51};
52
53template<>
54class promote_trait<char, short unsigned int> {
55public:
56 typedef unsigned int T_promote;
57};
58
59template<>
60class promote_trait<char, int> {
61public:
62 typedef int T_promote;
63};
64
65template<>
66class promote_trait<char, unsigned int> {
67public:
68 typedef unsigned int T_promote;
69};
70
71template<>
72class promote_trait<char, long> {
73public:
74 typedef long T_promote;
75};
76
77template<>
78class promote_trait<char, unsigned long> {
79public:
80 typedef unsigned long T_promote;
81};
82
83template<>
84class promote_trait<char, float> {
85public:
86 typedef float T_promote;
87};
88
89template<>
90class promote_trait<char, double> {
91public:
92 typedef double T_promote;
93};
94
95template<>
96class promote_trait<char, long double> {
97public:
98 typedef long double T_promote;
99};
100
101#ifdef BZ_HAVE_COMPLEX
102template<>
103class promote_trait<char, complex<float> > {
104public:
105 typedef complex<float> T_promote;
106};
107#endif
108
109#ifdef BZ_HAVE_COMPLEX
110template<>
111class promote_trait<char, complex<double> > {
112public:
113 typedef complex<double> T_promote;
114};
115#endif
116
117#ifdef BZ_HAVE_COMPLEX
118template<>
119class promote_trait<char, complex<long double> > {
120public:
121 typedef complex<long double> T_promote;
122};
123#endif
124
125template<>
126class promote_trait<unsigned char, char> {
127public:
128 typedef int T_promote;
129};
130
131template<>
132class promote_trait<unsigned char, unsigned char> {
133public:
134 typedef int T_promote;
135};
136
137template<>
138class promote_trait<unsigned char, short int> {
139public:
140 typedef int T_promote;
141};
142
143template<>
144class promote_trait<unsigned char, short unsigned int> {
145public:
146 typedef unsigned int T_promote;
147};
148
149template<>
150class promote_trait<unsigned char, int> {
151public:
152 typedef int T_promote;
153};
154
155template<>
156class promote_trait<unsigned char, unsigned int> {
157public:
158 typedef unsigned int T_promote;
159};
160
161template<>
162class promote_trait<unsigned char, long> {
163public:
164 typedef long T_promote;
165};
166
167template<>
168class promote_trait<unsigned char, unsigned long> {
169public:
170 typedef unsigned long T_promote;
171};
172
173template<>
174class promote_trait<unsigned char, float> {
175public:
176 typedef float T_promote;
177};
178
179template<>
180class promote_trait<unsigned char, double> {
181public:
182 typedef double T_promote;
183};
184
185template<>
186class promote_trait<unsigned char, long double> {
187public:
188 typedef long double T_promote;
189};
190
191#ifdef BZ_HAVE_COMPLEX
192template<>
193class promote_trait<unsigned char, complex<float> > {
194public:
195 typedef complex<float> T_promote;
196};
197#endif
198
199#ifdef BZ_HAVE_COMPLEX
200template<>
201class promote_trait<unsigned char, complex<double> > {
202public:
203 typedef complex<double> T_promote;
204};
205#endif
206
207#ifdef BZ_HAVE_COMPLEX
208template<>
209class promote_trait<unsigned char, complex<long double> > {
210public:
211 typedef complex<long double> T_promote;
212};
213#endif
214
215template<>
216class promote_trait<short int, char> {
217public:
218 typedef int T_promote;
219};
220
221template<>
222class promote_trait<short int, unsigned char> {
223public:
224 typedef int T_promote;
225};
226
227template<>
228class promote_trait<short int, short int> {
229public:
230 typedef int T_promote;
231};
232
233template<>
234class promote_trait<short int, short unsigned int> {
235public:
236 typedef unsigned int T_promote;
237};
238
239template<>
240class promote_trait<short int, int> {
241public:
242 typedef int T_promote;
243};
244
245template<>
246class promote_trait<short int, unsigned int> {
247public:
248 typedef unsigned int T_promote;
249};
250
251template<>
252class promote_trait<short int, long> {
253public:
254 typedef long T_promote;
255};
256
257template<>
258class promote_trait<short int, unsigned long> {
259public:
260 typedef unsigned long T_promote;
261};
262
263template<>
264class promote_trait<short int, float> {
265public:
266 typedef float T_promote;
267};
268
269template<>
270class promote_trait<short int, double> {
271public:
272 typedef double T_promote;
273};
274
275template<>
276class promote_trait<short int, long double> {
277public:
278 typedef long double T_promote;
279};
280
281#ifdef BZ_HAVE_COMPLEX
282template<>
283class promote_trait<short int, complex<float> > {
284public:
285 typedef complex<float> T_promote;
286};
287#endif
288
289#ifdef BZ_HAVE_COMPLEX
290template<>
291class promote_trait<short int, complex<double> > {
292public:
293 typedef complex<double> T_promote;
294};
295#endif
296
297#ifdef BZ_HAVE_COMPLEX
298template<>
299class promote_trait<short int, complex<long double> > {
300public:
301 typedef complex<long double> T_promote;
302};
303#endif
304
305template<>
306class promote_trait<short unsigned int, char> {
307public:
308 typedef unsigned int T_promote;
309};
310
311template<>
312class promote_trait<short unsigned int, unsigned char> {
313public:
314 typedef unsigned int T_promote;
315};
316
317template<>
318class promote_trait<short unsigned int, short int> {
319public:
320 typedef unsigned int T_promote;
321};
322
323template<>
324class promote_trait<short unsigned int, short unsigned int> {
325public:
326 typedef unsigned int T_promote;
327};
328
329template<>
330class promote_trait<short unsigned int, int> {
331public:
332 typedef unsigned int T_promote;
333};
334
335template<>
336class promote_trait<short unsigned int, unsigned int> {
337public:
338 typedef unsigned int T_promote;
339};
340
341template<>
342class promote_trait<short unsigned int, long> {
343public:
344 typedef long T_promote;
345};
346
347template<>
348class promote_trait<short unsigned int, unsigned long> {
349public:
350 typedef unsigned long T_promote;
351};
352
353template<>
354class promote_trait<short unsigned int, float> {
355public:
356 typedef float T_promote;
357};
358
359template<>
360class promote_trait<short unsigned int, double> {
361public:
362 typedef double T_promote;
363};
364
365template<>
366class promote_trait<short unsigned int, long double> {
367public:
368 typedef long double T_promote;
369};
370
371#ifdef BZ_HAVE_COMPLEX
372template<>
373class promote_trait<short unsigned int, complex<float> > {
374public:
375 typedef complex<float> T_promote;
376};
377#endif
378
379#ifdef BZ_HAVE_COMPLEX
380template<>
381class promote_trait<short unsigned int, complex<double> > {
382public:
383 typedef complex<double> T_promote;
384};
385#endif
386
387#ifdef BZ_HAVE_COMPLEX
388template<>
389class promote_trait<short unsigned int, complex<long double> > {
390public:
391 typedef complex<long double> T_promote;
392};
393#endif
394
395template<>
396class promote_trait<int, char> {
397public:
398 typedef int T_promote;
399};
400
401template<>
402class promote_trait<int, unsigned char> {
403public:
404 typedef int T_promote;
405};
406
407template<>
408class promote_trait<int, short int> {
409public:
410 typedef int T_promote;
411};
412
413template<>
414class promote_trait<int, short unsigned int> {
415public:
416 typedef unsigned int T_promote;
417};
418
419template<>
420class promote_trait<int, int> {
421public:
422 typedef int T_promote;
423};
424
425template<>
426class promote_trait<int, unsigned int> {
427public:
428 typedef unsigned int T_promote;
429};
430
431template<>
432class promote_trait<int, long> {
433public:
434 typedef long T_promote;
435};
436
437template<>
438class promote_trait<int, unsigned long> {
439public:
440 typedef unsigned long T_promote;
441};
442
443template<>
444class promote_trait<int, float> {
445public:
446 typedef float T_promote;
447};
448
449template<>
450class promote_trait<int, double> {
451public:
452 typedef double T_promote;
453};
454
455template<>
456class promote_trait<int, long double> {
457public:
458 typedef long double T_promote;
459};
460
461#ifdef BZ_HAVE_COMPLEX
462template<>
463class promote_trait<int, complex<float> > {
464public:
465 typedef complex<float> T_promote;
466};
467#endif
468
469#ifdef BZ_HAVE_COMPLEX
470template<>
471class promote_trait<int, complex<double> > {
472public:
473 typedef complex<double> T_promote;
474};
475#endif
476
477#ifdef BZ_HAVE_COMPLEX
478template<>
479class promote_trait<int, complex<long double> > {
480public:
481 typedef complex<long double> T_promote;
482};
483#endif
484
485template<>
486class promote_trait<unsigned int, char> {
487public:
488 typedef unsigned int T_promote;
489};
490
491template<>
492class promote_trait<unsigned int, unsigned char> {
493public:
494 typedef unsigned int T_promote;
495};
496
497template<>
498class promote_trait<unsigned int, short int> {
499public:
500 typedef unsigned int T_promote;
501};
502
503template<>
504class promote_trait<unsigned int, short unsigned int> {
505public:
506 typedef unsigned int T_promote;
507};
508
509template<>
510class promote_trait<unsigned int, int> {
511public:
512 typedef unsigned int T_promote;
513};
514
515template<>
516class promote_trait<unsigned int, unsigned int> {
517public:
518 typedef unsigned int T_promote;
519};
520
521template<>
522class promote_trait<unsigned int, long> {
523public:
524 typedef long T_promote;
525};
526
527template<>
528class promote_trait<unsigned int, unsigned long> {
529public:
530 typedef unsigned long T_promote;
531};
532
533template<>
534class promote_trait<unsigned int, float> {
535public:
536 typedef float T_promote;
537};
538
539template<>
540class promote_trait<unsigned int, double> {
541public:
542 typedef double T_promote;
543};
544
545template<>
546class promote_trait<unsigned int, long double> {
547public:
548 typedef long double T_promote;
549};
550
551#ifdef BZ_HAVE_COMPLEX
552template<>
553class promote_trait<unsigned int, complex<float> > {
554public:
555 typedef complex<float> T_promote;
556};
557#endif
558
559#ifdef BZ_HAVE_COMPLEX
560template<>
561class promote_trait<unsigned int, complex<double> > {
562public:
563 typedef complex<double> T_promote;
564};
565#endif
566
567#ifdef BZ_HAVE_COMPLEX
568template<>
569class promote_trait<unsigned int, complex<long double> > {
570public:
571 typedef complex<long double> T_promote;
572};
573#endif
574
575template<>
576class promote_trait<long, char> {
577public:
578 typedef long T_promote;
579};
580
581template<>
582class promote_trait<long, unsigned char> {
583public:
584 typedef long T_promote;
585};
586
587template<>
588class promote_trait<long, short int> {
589public:
590 typedef long T_promote;
591};
592
593template<>
594class promote_trait<long, short unsigned int> {
595public:
596 typedef long T_promote;
597};
598
599template<>
600class promote_trait<long, int> {
601public:
602 typedef long T_promote;
603};
604
605template<>
606class promote_trait<long, unsigned int> {
607public:
608 typedef long T_promote;
609};
610
611template<>
612class promote_trait<long, long> {
613public:
614 typedef long T_promote;
615};
616
617template<>
618class promote_trait<long, unsigned long> {
619public:
620 typedef unsigned long T_promote;
621};
622
623template<>
624class promote_trait<long, float> {
625public:
626 typedef float T_promote;
627};
628
629template<>
630class promote_trait<long, double> {
631public:
632 typedef double T_promote;
633};
634
635template<>
636class promote_trait<long, long double> {
637public:
638 typedef long double T_promote;
639};
640
641#ifdef BZ_HAVE_COMPLEX
642template<>
643class promote_trait<long, complex<float> > {
644public:
645 typedef complex<float> T_promote;
646};
647#endif
648
649#ifdef BZ_HAVE_COMPLEX
650template<>
651class promote_trait<long, complex<double> > {
652public:
653 typedef complex<double> T_promote;
654};
655#endif
656
657#ifdef BZ_HAVE_COMPLEX
658template<>
659class promote_trait<long, complex<long double> > {
660public:
661 typedef complex<long double> T_promote;
662};
663#endif
664
665template<>
666class promote_trait<unsigned long, char> {
667public:
668 typedef unsigned long T_promote;
669};
670
671template<>
672class promote_trait<unsigned long, unsigned char> {
673public:
674 typedef unsigned long T_promote;
675};
676
677template<>
678class promote_trait<unsigned long, short int> {
679public:
680 typedef unsigned long T_promote;
681};
682
683template<>
684class promote_trait<unsigned long, short unsigned int> {
685public:
686 typedef unsigned long T_promote;
687};
688
689template<>
690class promote_trait<unsigned long, int> {
691public:
692 typedef unsigned long T_promote;
693};
694
695template<>
696class promote_trait<unsigned long, unsigned int> {
697public:
698 typedef unsigned long T_promote;
699};
700
701template<>
702class promote_trait<unsigned long, long> {
703public:
704 typedef unsigned long T_promote;
705};
706
707template<>
708class promote_trait<unsigned long, unsigned long> {
709public:
710 typedef unsigned long T_promote;
711};
712
713template<>
714class promote_trait<unsigned long, float> {
715public:
716 typedef float T_promote;
717};
718
719template<>
720class promote_trait<unsigned long, double> {
721public:
722 typedef double T_promote;
723};
724
725template<>
726class promote_trait<unsigned long, long double> {
727public:
728 typedef long double T_promote;
729};
730
731#ifdef BZ_HAVE_COMPLEX
732template<>
733class promote_trait<unsigned long, complex<float> > {
734public:
735 typedef complex<float> T_promote;
736};
737#endif
738
739#ifdef BZ_HAVE_COMPLEX
740template<>
741class promote_trait<unsigned long, complex<double> > {
742public:
743 typedef complex<double> T_promote;
744};
745#endif
746
747#ifdef BZ_HAVE_COMPLEX
748template<>
749class promote_trait<unsigned long, complex<long double> > {
750public:
751 typedef complex<long double> T_promote;
752};
753#endif
754
755template<>
756class promote_trait<float, char> {
757public:
758 typedef float T_promote;
759};
760
761template<>
762class promote_trait<float, unsigned char> {
763public:
764 typedef float T_promote;
765};
766
767template<>
768class promote_trait<float, short int> {
769public:
770 typedef float T_promote;
771};
772
773template<>
774class promote_trait<float, short unsigned int> {
775public:
776 typedef float T_promote;
777};
778
779template<>
780class promote_trait<float, int> {
781public:
782 typedef float T_promote;
783};
784
785template<>
786class promote_trait<float, unsigned int> {
787public:
788 typedef float T_promote;
789};
790
791template<>
792class promote_trait<float, long> {
793public:
794 typedef float T_promote;
795};
796
797template<>
798class promote_trait<float, unsigned long> {
799public:
800 typedef float T_promote;
801};
802
803template<>
804class promote_trait<float, float> {
805public:
806 typedef float T_promote;
807};
808
809template<>
810class promote_trait<float, double> {
811public:
812 typedef double T_promote;
813};
814
815template<>
816class promote_trait<float, long double> {
817public:
818 typedef long double T_promote;
819};
820
821#ifdef BZ_HAVE_COMPLEX
822template<>
823class promote_trait<float, complex<float> > {
824public:
825 typedef complex<float> T_promote;
826};
827#endif
828
829#ifdef BZ_HAVE_COMPLEX
830template<>
831class promote_trait<float, complex<double> > {
832public:
833 typedef complex<double> T_promote;
834};
835#endif
836
837#ifdef BZ_HAVE_COMPLEX
838template<>
839class promote_trait<float, complex<long double> > {
840public:
841 typedef complex<long double> T_promote;
842};
843#endif
844
845template<>
846class promote_trait<double, char> {
847public:
848 typedef double T_promote;
849};
850
851template<>
852class promote_trait<double, unsigned char> {
853public:
854 typedef double T_promote;
855};
856
857template<>
858class promote_trait<double, short int> {
859public:
860 typedef double T_promote;
861};
862
863template<>
864class promote_trait<double, short unsigned int> {
865public:
866 typedef double T_promote;
867};
868
869template<>
870class promote_trait<double, int> {
871public:
872 typedef double T_promote;
873};
874
875template<>
876class promote_trait<double, unsigned int> {
877public:
878 typedef double T_promote;
879};
880
881template<>
882class promote_trait<double, long> {
883public:
884 typedef double T_promote;
885};
886
887template<>
888class promote_trait<double, unsigned long> {
889public:
890 typedef double T_promote;
891};
892
893template<>
894class promote_trait<double, float> {
895public:
896 typedef double T_promote;
897};
898
899template<>
900class promote_trait<double, double> {
901public:
902 typedef double T_promote;
903};
904
905template<>
906class promote_trait<double, long double> {
907public:
908 typedef long double T_promote;
909};
910
911#ifdef BZ_HAVE_COMPLEX
912template<>
913class promote_trait<double, complex<float> > {
914public:
915 typedef complex<float> T_promote;
916};
917#endif
918
919#ifdef BZ_HAVE_COMPLEX
920template<>
921class promote_trait<double, complex<double> > {
922public:
923 typedef complex<double> T_promote;
924};
925#endif
926
927#ifdef BZ_HAVE_COMPLEX
928template<>
929class promote_trait<double, complex<long double> > {
930public:
931 typedef complex<long double> T_promote;
932};
933#endif
934
935template<>
936class promote_trait<long double, char> {
937public:
938 typedef long double T_promote;
939};
940
941template<>
942class promote_trait<long double, unsigned char> {
943public:
944 typedef long double T_promote;
945};
946
947template<>
948class promote_trait<long double, short int> {
949public:
950 typedef long double T_promote;
951};
952
953template<>
954class promote_trait<long double, short unsigned int> {
955public:
956 typedef long double T_promote;
957};
958
959template<>
960class promote_trait<long double, int> {
961public:
962 typedef long double T_promote;
963};
964
965template<>
966class promote_trait<long double, unsigned int> {
967public:
968 typedef long double T_promote;
969};
970
971template<>
972class promote_trait<long double, long> {
973public:
974 typedef long double T_promote;
975};
976
977template<>
978class promote_trait<long double, unsigned long> {
979public:
980 typedef long double T_promote;
981};
982
983template<>
984class promote_trait<long double, float> {
985public:
986 typedef long double T_promote;
987};
988
989template<>
990class promote_trait<long double, double> {
991public:
992 typedef long double T_promote;
993};
994
995template<>
996class promote_trait<long double, long double> {
997public:
998 typedef long double T_promote;
999};
1000
1001#ifdef BZ_HAVE_COMPLEX
1002template<>
1003class promote_trait<long double, complex<float> > {
1004public:
1005 typedef complex<float> T_promote;
1006};
1007#endif
1008
1009#ifdef BZ_HAVE_COMPLEX
1010template<>
1011class promote_trait<long double, complex<double> > {
1012public:
1013 typedef complex<double> T_promote;
1014};
1015#endif
1016
1017#ifdef BZ_HAVE_COMPLEX
1018template<>
1019class promote_trait<long double, complex<long double> > {
1020public:
1021 typedef complex<long double> T_promote;
1022};
1023#endif
1024
1025#ifdef BZ_HAVE_COMPLEX
1026template<>
1027class promote_trait<complex<float> , char> {
1028public:
1029 typedef complex<float> T_promote;
1030};
1031#endif
1032
1033#ifdef BZ_HAVE_COMPLEX
1034template<>
1035class promote_trait<complex<float> , unsigned char> {
1036public:
1037 typedef complex<float> T_promote;
1038};
1039#endif
1040
1041#ifdef BZ_HAVE_COMPLEX
1042template<>
1043class promote_trait<complex<float> , short int> {
1044public:
1045 typedef complex<float> T_promote;
1046};
1047#endif
1048
1049#ifdef BZ_HAVE_COMPLEX
1050template<>
1051class promote_trait<complex<float> , short unsigned int> {
1052public:
1053 typedef complex<float> T_promote;
1054};
1055#endif
1056
1057#ifdef BZ_HAVE_COMPLEX
1058template<>
1059class promote_trait<complex<float> , int> {
1060public:
1061 typedef complex<float> T_promote;
1062};
1063#endif
1064
1065#ifdef BZ_HAVE_COMPLEX
1066template<>
1067class promote_trait<complex<float> , unsigned int> {
1068public:
1069 typedef complex<float> T_promote;
1070};
1071#endif
1072
1073#ifdef BZ_HAVE_COMPLEX
1074template<>
1075class promote_trait<complex<float> , long> {
1076public:
1077 typedef complex<float> T_promote;
1078};
1079#endif
1080
1081#ifdef BZ_HAVE_COMPLEX
1082template<>
1083class promote_trait<complex<float> , unsigned long> {
1084public:
1085 typedef complex<float> T_promote;
1086};
1087#endif
1088
1089#ifdef BZ_HAVE_COMPLEX
1090template<>
1091class promote_trait<complex<float> , float> {
1092public:
1093 typedef complex<float> T_promote;
1094};
1095#endif
1096
1097#ifdef BZ_HAVE_COMPLEX
1098template<>
1099class promote_trait<complex<float> , double> {
1100public:
1101 typedef complex<float> T_promote;
1102};
1103#endif
1104
1105#ifdef BZ_HAVE_COMPLEX
1106template<>
1107class promote_trait<complex<float> , long double> {
1108public:
1109 typedef complex<float> T_promote;
1110};
1111#endif
1112
1113#ifdef BZ_HAVE_COMPLEX
1114template<>
1115class promote_trait<complex<float> , complex<float> > {
1116public:
1117 typedef complex<float> T_promote;
1118};
1119#endif
1120
1121#ifdef BZ_HAVE_COMPLEX
1122template<>
1123class promote_trait<complex<float> , complex<double> > {
1124public:
1125 typedef complex<double> T_promote;
1126};
1127#endif
1128
1129#ifdef BZ_HAVE_COMPLEX
1130template<>
1131class promote_trait<complex<float> , complex<long double> > {
1132public:
1133 typedef complex<long double> T_promote;
1134};
1135#endif
1136
1137#ifdef BZ_HAVE_COMPLEX
1138template<>
1139class promote_trait<complex<double> , char> {
1140public:
1141 typedef complex<double> T_promote;
1142};
1143#endif
1144
1145#ifdef BZ_HAVE_COMPLEX
1146template<>
1147class promote_trait<complex<double> , unsigned char> {
1148public:
1149 typedef complex<double> T_promote;
1150};
1151#endif
1152
1153#ifdef BZ_HAVE_COMPLEX
1154template<>
1155class promote_trait<complex<double> , short int> {
1156public:
1157 typedef complex<double> T_promote;
1158};
1159#endif
1160
1161#ifdef BZ_HAVE_COMPLEX
1162template<>
1163class promote_trait<complex<double> , short unsigned int> {
1164public:
1165 typedef complex<double> T_promote;
1166};
1167#endif
1168
1169#ifdef BZ_HAVE_COMPLEX
1170template<>
1171class promote_trait<complex<double> , int> {
1172public:
1173 typedef complex<double> T_promote;
1174};
1175#endif
1176
1177#ifdef BZ_HAVE_COMPLEX
1178template<>
1179class promote_trait<complex<double> , unsigned int> {
1180public:
1181 typedef complex<double> T_promote;
1182};
1183#endif
1184
1185#ifdef BZ_HAVE_COMPLEX
1186template<>
1187class promote_trait<complex<double> , long> {
1188public:
1189 typedef complex<double> T_promote;
1190};
1191#endif
1192
1193#ifdef BZ_HAVE_COMPLEX
1194template<>
1195class promote_trait<complex<double> , unsigned long> {
1196public:
1197 typedef complex<double> T_promote;
1198};
1199#endif
1200
1201#ifdef BZ_HAVE_COMPLEX
1202template<>
1203class promote_trait<complex<double> , float> {
1204public:
1205 typedef complex<double> T_promote;
1206};
1207#endif
1208
1209#ifdef BZ_HAVE_COMPLEX
1210template<>
1211class promote_trait<complex<double> , double> {
1212public:
1213 typedef complex<double> T_promote;
1214};
1215#endif
1216
1217#ifdef BZ_HAVE_COMPLEX
1218template<>
1219class promote_trait<complex<double> , long double> {
1220public:
1221 typedef complex<double> T_promote;
1222};
1223#endif
1224
1225#ifdef BZ_HAVE_COMPLEX
1226template<>
1227class promote_trait<complex<double> , complex<float> > {
1228public:
1229 typedef complex<double> T_promote;
1230};
1231#endif
1232
1233#ifdef BZ_HAVE_COMPLEX
1234template<>
1235class promote_trait<complex<double> , complex<double> > {
1236public:
1237 typedef complex<double> T_promote;
1238};
1239#endif
1240
1241#ifdef BZ_HAVE_COMPLEX
1242template<>
1243class promote_trait<complex<double> , complex<long double> > {
1244public:
1245 typedef complex<long double> T_promote;
1246};
1247#endif
1248
1249#ifdef BZ_HAVE_COMPLEX
1250template<>
1251class promote_trait<complex<long double> , char> {
1252public:
1253 typedef complex<long double> T_promote;
1254};
1255#endif
1256
1257#ifdef BZ_HAVE_COMPLEX
1258template<>
1259class promote_trait<complex<long double> , unsigned char> {
1260public:
1261 typedef complex<long double> T_promote;
1262};
1263#endif
1264
1265#ifdef BZ_HAVE_COMPLEX
1266template<>
1267class promote_trait<complex<long double> , short int> {
1268public:
1269 typedef complex<long double> T_promote;
1270};
1271#endif
1272
1273#ifdef BZ_HAVE_COMPLEX
1274template<>
1275class promote_trait<complex<long double> , short unsigned int> {
1276public:
1277 typedef complex<long double> T_promote;
1278};
1279#endif
1280
1281#ifdef BZ_HAVE_COMPLEX
1282template<>
1283class promote_trait<complex<long double> , int> {
1284public:
1285 typedef complex<long double> T_promote;
1286};
1287#endif
1288
1289#ifdef BZ_HAVE_COMPLEX
1290template<>
1291class promote_trait<complex<long double> , unsigned int> {
1292public:
1293 typedef complex<long double> T_promote;
1294};
1295#endif
1296
1297#ifdef BZ_HAVE_COMPLEX
1298template<>
1299class promote_trait<complex<long double> , long> {
1300public:
1301 typedef complex<long double> T_promote;
1302};
1303#endif
1304
1305#ifdef BZ_HAVE_COMPLEX
1306template<>
1307class promote_trait<complex<long double> , unsigned long> {
1308public:
1309 typedef complex<long double> T_promote;
1310};
1311#endif
1312
1313#ifdef BZ_HAVE_COMPLEX
1314template<>
1315class promote_trait<complex<long double> , float> {
1316public:
1317 typedef complex<long double> T_promote;
1318};
1319#endif
1320
1321#ifdef BZ_HAVE_COMPLEX
1322template<>
1323class promote_trait<complex<long double> , double> {
1324public:
1325 typedef complex<long double> T_promote;
1326};
1327#endif
1328
1329#ifdef BZ_HAVE_COMPLEX
1330template<>
1331class promote_trait<complex<long double> , long double> {
1332public:
1333 typedef complex<long double> T_promote;
1334};
1335#endif
1336
1337#ifdef BZ_HAVE_COMPLEX
1338template<>
1339class promote_trait<complex<long double> , complex<float> > {
1340public:
1341 typedef complex<long double> T_promote;
1342};
1343#endif
1344
1345#ifdef BZ_HAVE_COMPLEX
1346template<>
1347class promote_trait<complex<long double> , complex<double> > {
1348public:
1349 typedef complex<long double> T_promote;
1350};
1351#endif
1352
1353#ifdef BZ_HAVE_COMPLEX
1354template<>
1355class promote_trait<complex<long double> , complex<long double> > {
1356public:
1357 typedef complex<long double> T_promote;
1358};
1359#endif
1360
Note: See TracBrowser for help on using the repository browser.