source: XMLIO_V2/external/include/blitz/promote-old.h @ 80

Last change on this file since 80 was 80, checked in by ymipsl, 14 years ago

ajout lib externe

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