Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkNumericTraitsFixedArrayPixel.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Insight Segmentation & Registration Toolkit
00004   Module:    $RCSfile: itkNumericTraitsFixedArrayPixel.h,v $
00005   Language:  C++
00006   Date:      $Date: 2009-02-06 20:53:13 $
00007   Version:   $Revision: 1.4 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00011 
00012      This software is distributed WITHOUT ANY WARRANTY; without even 
00013      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00014      PURPOSE.  See the above copyright notices for more information.
00015 
00016 =========================================================================*/
00017 #ifndef __itkNumericTraitsFixedArrayPixel_h
00018 #define __itkNumericTraitsFixedArrayPixel_h
00019 
00020 #include "itkNumericTraits.h"
00021 #include "itkFixedArray.h"
00022 
00023 // This file defines numeric traits for vector pixels types in itk
00024 // TODO: Add doxygen tags..
00025 
00026 namespace itk
00027 {
00028 template <> class NumericTraits<FixedArray<unsigned char, 1 > > {
00029 public:
00030   typedef unsigned char                           ValueType;
00031   typedef FixedArray<unsigned char, 1>            PrintType;
00032   typedef FixedArray<unsigned char, 1>            AbsType;
00033   typedef FixedArray<unsigned short, 1>           AccumulateType;
00034   typedef FixedArray<double, 1>                   RealType;
00035   typedef double                                  ScalarRealType;
00036   typedef FixedArray<float, 1>                    FloatType;
00037 };
00038 template <> class NumericTraits<FixedArray<signed char, 1> > {
00039 public:
00040   typedef signed char                             ValueType;
00041   typedef FixedArray<signed char, 1>              PrintType;
00042   typedef FixedArray<unsigned char, 1>            AbsType;
00043   typedef FixedArray<short, 1>                    AccumulateType;
00044   typedef FixedArray<double, 1>                   RealType;
00045   typedef double                                  ScalarRealType;
00046   typedef FixedArray<float, 1>                    FloatType;
00047 };
00048 template <> class NumericTraits<FixedArray<char, 1> > {
00049 public:
00050   typedef char                                    ValueType;
00051   typedef FixedArray<char, 1>                     PrintType;
00052   typedef FixedArray<unsigned char, 1>            AbsType;
00053   typedef FixedArray<short, 1>                    AccumulateType;
00054   typedef FixedArray<double, 1>                   RealType;
00055   typedef double                                  ScalarRealType;
00056   typedef FixedArray<float, 1>                    FloatType;
00057 };
00058 template <> class NumericTraits<FixedArray<short, 1> > {
00059 public:
00060   typedef short                                   ValueType;
00061   typedef FixedArray<short, 1>                    PrintType;
00062   typedef FixedArray<unsigned short, 1>           AbsType;
00063   typedef FixedArray<int, 1>                      AccumulateType;
00064   typedef FixedArray<double, 1>                   RealType;
00065   typedef double                                  ScalarRealType;
00066   typedef FixedArray<float, 1>                    FloatType;
00067 };
00068 template <> class NumericTraits<FixedArray<unsigned short, 1> > {
00069 public:
00070   typedef unsigned short                          ValueType;
00071   typedef FixedArray<unsigned short, 1>           PrintType;
00072   typedef FixedArray<unsigned short, 1>           AbsType;
00073   typedef FixedArray<unsigned int, 1>             AccumulateType;
00074   typedef FixedArray<double, 1>                   RealType;
00075   typedef double                                  ScalarRealType;
00076   typedef FixedArray<float, 1>                    FloatType;
00077 };
00078 template <> class NumericTraits<FixedArray<int, 1> > {
00079 public:
00080   typedef int                                     ValueType;
00081   typedef FixedArray<int, 1>                      PrintType;
00082   typedef FixedArray<unsigned int, 1>             AbsType;
00083   typedef FixedArray<long, 1>                     AccumulateType;
00084   typedef FixedArray<double, 1>                   RealType;
00085   typedef double                                  ScalarRealType;
00086   typedef FixedArray<float, 1>                    FloatType;
00087 };
00088 template <> class NumericTraits<FixedArray<unsigned int, 1> > {
00089 public:
00090   typedef unsigned int                            ValueType;
00091   typedef FixedArray<unsigned int, 1>             PrintType;
00092   typedef FixedArray<unsigned int, 1>             AbsType;
00093   typedef FixedArray<unsigned long, 1>            AccumulateType;
00094   typedef FixedArray<double, 1>                   RealType;
00095   typedef double                                  ScalarRealType;
00096   typedef FixedArray<float, 1>                    FloatType;
00097 };
00098 template <> class NumericTraits<FixedArray<long, 1> > {
00099 public:
00100   typedef long                                    ValueType;
00101   typedef FixedArray<long, 1>                     PrintType;
00102   typedef FixedArray<unsigned long, 1>            AbsType;
00103   typedef FixedArray<long, 1>                     AccumulateType;
00104   typedef FixedArray<double, 1>                   RealType;
00105   typedef double                                  ScalarRealType;
00106   typedef FixedArray<float, 1>                    FloatType;
00107 };
00108 template <> class NumericTraits<FixedArray<unsigned long, 1> > {
00109 public:
00110   typedef unsigned long                           ValueType;
00111   typedef FixedArray<unsigned long, 1>            PrintType;
00112   typedef FixedArray<unsigned long, 1>            AbsType;
00113   typedef FixedArray<unsigned long, 1>            AccumulateType;
00114   typedef FixedArray<double, 1>                   RealType;
00115   typedef double                                  ScalarRealType;
00116   typedef FixedArray<float, 1>                    FloatType;
00117 };
00118 template <> class NumericTraits<FixedArray<float, 1> > {
00119 public:
00120   typedef float                                   ValueType;
00121   typedef FixedArray<float, 1>                    PrintType;
00122   typedef FixedArray<float, 1>                    AbsType;
00123   typedef FixedArray<double, 1>                   AccumulateType;
00124   typedef FixedArray<double, 1>                   RealType;
00125   typedef double                                  ScalarRealType;
00126   typedef FixedArray<float, 1>                    FloatType;
00127 };
00128 template <> class NumericTraits<FixedArray<double, 1> > {
00129 public:
00130   typedef double                                  ValueType;
00131   typedef FixedArray<double, 1>                   PrintType;
00132   typedef FixedArray<double, 1>                   AbsType;
00133   typedef FixedArray<long double, 1>              AccumulateType;
00134   typedef FixedArray<double, 1>                   RealType;
00135   typedef double                                  ScalarRealType;
00136   typedef FixedArray<float, 1>                    FloatType;
00137 };
00138 template <> class NumericTraits<FixedArray<long double, 1> > {
00139 public:
00140   typedef long double                             ValueType;
00141   typedef FixedArray<long double, 1>              PrintType;
00142   typedef FixedArray<long double, 1>              AbsType;
00143   typedef FixedArray<long double, 1>              AccumulateType;
00144   typedef FixedArray<long double, 1>              RealType;
00145   typedef long double                             ScalarRealType;
00146   typedef FixedArray<float, 1>                    FloatType;
00147 };
00148 
00149 
00150 template <> class NumericTraits<FixedArray<unsigned char, 2 > > {
00151 public:
00152   typedef unsigned char                           ValueType;
00153   typedef FixedArray<unsigned char, 2>            PrintType;
00154   typedef FixedArray<unsigned char, 2>            AbsType;
00155   typedef FixedArray<unsigned short, 2>           AccumulateType;
00156   typedef FixedArray<double, 2>                   RealType;
00157   typedef double                                  ScalarRealType;
00158   typedef FixedArray<float, 2>                    FloatType;
00159 };
00160 template <> class NumericTraits<FixedArray<signed char, 2> > {
00161 public:
00162   typedef signed char                             ValueType;
00163   typedef FixedArray<signed char, 2>              PrintType;
00164   typedef FixedArray<unsigned char, 2>            AbsType;
00165   typedef FixedArray<short, 2>                    AccumulateType;
00166   typedef FixedArray<double, 2>                   RealType;
00167   typedef double                                  ScalarRealType;
00168   typedef FixedArray<float, 2>                    FloatType;
00169 };
00170 template <> class NumericTraits<FixedArray<char, 2> > {
00171 public:
00172   typedef char                                    ValueType;
00173   typedef FixedArray<char, 2>                     PrintType;
00174   typedef FixedArray<unsigned char, 2>            AbsType;
00175   typedef FixedArray<short, 2>                    AccumulateType;
00176   typedef FixedArray<double, 2>                   RealType;
00177   typedef double                                  ScalarRealType;
00178   typedef FixedArray<float, 2>                    FloatType;
00179 };
00180 template <> class NumericTraits<FixedArray<short, 2> > {
00181 public:
00182   typedef short                                   ValueType;
00183   typedef FixedArray<short, 2>                    PrintType;
00184   typedef FixedArray<unsigned short, 2>           AbsType;
00185   typedef FixedArray<int, 2>                      AccumulateType;
00186   typedef FixedArray<double, 2>                   RealType;
00187   typedef double                                  ScalarRealType;
00188   typedef FixedArray<float, 2>                    FloatType;
00189 };
00190 template <> class NumericTraits<FixedArray<unsigned short, 2> > {
00191 public:
00192   typedef unsigned short                          ValueType;
00193   typedef FixedArray<unsigned short, 2>           PrintType;
00194   typedef FixedArray<unsigned short, 2>           AbsType;
00195   typedef FixedArray<unsigned int, 2>             AccumulateType;
00196   typedef FixedArray<double, 2>                   RealType;
00197   typedef double                                  ScalarRealType;
00198   typedef FixedArray<float, 2>                    FloatType;
00199 };
00200 template <> class NumericTraits<FixedArray<int, 2> > {
00201 public:
00202   typedef int                                     ValueType;
00203   typedef FixedArray<int, 2>                      PrintType;
00204   typedef FixedArray<unsigned int, 2>             AbsType;
00205   typedef FixedArray<long, 2>                     AccumulateType;
00206   typedef FixedArray<double, 2>                   RealType;
00207   typedef double                                  ScalarRealType;
00208   typedef FixedArray<float, 2>                    FloatType;
00209 };
00210 template <> class NumericTraits<FixedArray<unsigned int, 2> > {
00211 public:
00212   typedef unsigned int                            ValueType;
00213   typedef FixedArray<unsigned int, 2>             PrintType;
00214   typedef FixedArray<unsigned int, 2>             AbsType;
00215   typedef FixedArray<unsigned long, 2>            AccumulateType;
00216   typedef FixedArray<double, 2>                   RealType;
00217   typedef double                                  ScalarRealType;
00218   typedef FixedArray<float, 2>                    FloatType;
00219 };
00220 template <> class NumericTraits<FixedArray<long, 2> > {
00221 public:
00222   typedef long                                    ValueType;
00223   typedef FixedArray<long, 2>                     PrintType;
00224   typedef FixedArray<unsigned long, 2>            AbsType;
00225   typedef FixedArray<long, 2>                     AccumulateType;
00226   typedef FixedArray<double, 2>                   RealType;
00227   typedef double                                  ScalarRealType;
00228   typedef FixedArray<float, 2>                    FloatType;
00229 };
00230 template <> class NumericTraits<FixedArray<unsigned long, 2> > {
00231 public:
00232   typedef unsigned long                           ValueType;
00233   typedef FixedArray<unsigned long, 2>            PrintType;
00234   typedef FixedArray<unsigned long, 2>            AbsType;
00235   typedef FixedArray<unsigned long, 2>            AccumulateType;
00236   typedef FixedArray<double, 2>                   RealType;
00237   typedef double                                  ScalarRealType;
00238   typedef FixedArray<float, 2>                    FloatType;
00239 };
00240 template <> class NumericTraits<FixedArray<float, 2> > {
00241 public:
00242   typedef float                                   ValueType;
00243   typedef FixedArray<float, 2>                    PrintType;
00244   typedef FixedArray<float, 2>                    AbsType;
00245   typedef FixedArray<double, 2>                   AccumulateType;
00246   typedef FixedArray<double, 2>                   RealType;
00247   typedef double                                  ScalarRealType;
00248   typedef FixedArray<float, 2>                    FloatType;
00249 };
00250 template <> class NumericTraits<FixedArray<double, 2> > {
00251 public:
00252   typedef double                                  ValueType;
00253   typedef FixedArray<double, 2>                   PrintType;
00254   typedef FixedArray<double, 2>                   AbsType;
00255   typedef FixedArray<long double, 2>              AccumulateType;
00256   typedef FixedArray<double, 2>                   RealType;
00257   typedef double                                  ScalarRealType;
00258   typedef FixedArray<float, 2>                    FloatType;
00259 };
00260 template <> class NumericTraits<FixedArray<long double, 2> > {
00261 public:
00262   typedef long double                             ValueType;
00263   typedef FixedArray<long double, 2>              PrintType;
00264   typedef FixedArray<long double, 2>              AbsType;
00265   typedef FixedArray<long double, 2>              AccumulateType;
00266   typedef FixedArray<long double, 2>              RealType;
00267   typedef long double                             ScalarRealType;
00268   typedef FixedArray<float, 2>                    FloatType;
00269 };
00270 
00271 template <> class NumericTraits<FixedArray<unsigned char, 3 > > {
00272 public:
00273   typedef unsigned char                           ValueType;
00274   typedef FixedArray<unsigned char, 3>            PrintType;
00275   typedef FixedArray<unsigned char, 3>            AbsType;
00276   typedef FixedArray<unsigned short, 3>           AccumulateType;
00277   typedef FixedArray<double, 3>                   RealType;
00278   typedef double                                  ScalarRealType;
00279   typedef FixedArray<float, 3>                    FloatType;
00280 };
00281 template <> class NumericTraits<FixedArray<signed char, 3> > {
00282 public:
00283   typedef signed char                             ValueType;
00284   typedef FixedArray<signed char, 3>              PrintType;
00285   typedef FixedArray<unsigned char, 3>            AbsType;
00286   typedef FixedArray<short, 3>                    AccumulateType;
00287   typedef FixedArray<double, 3>                   RealType;
00288   typedef double                                  ScalarRealType;
00289   typedef FixedArray<float, 3>                    FloatType;
00290 };
00291 template <> class NumericTraits<FixedArray<char, 3> > {
00292 public:
00293   typedef char                                    ValueType;
00294   typedef FixedArray<char, 3>                     PrintType;
00295   typedef FixedArray<unsigned char, 3>            AbsType;
00296   typedef FixedArray<short, 3>                    AccumulateType;
00297   typedef FixedArray<double, 3>                   RealType;
00298   typedef double                                  ScalarRealType;
00299   typedef FixedArray<float, 3>                    FloatType;
00300 };
00301 template <> class NumericTraits<FixedArray<short, 3> > {
00302 public:
00303   typedef short                                   ValueType;
00304   typedef FixedArray<short, 3>                    PrintType;
00305   typedef FixedArray<unsigned short, 3>           AbsType;
00306   typedef FixedArray<int, 3>                      AccumulateType;
00307   typedef FixedArray<double, 3>                   RealType;
00308   typedef double                                  ScalarRealType;
00309   typedef FixedArray<float, 3>                    FloatType;
00310 };
00311 template <> class NumericTraits<FixedArray<unsigned short, 3> > {
00312 public:
00313   typedef unsigned short                          ValueType;
00314   typedef FixedArray<unsigned short, 3>           PrintType;
00315   typedef FixedArray<unsigned short, 3>           AbsType;
00316   typedef FixedArray<unsigned int, 3>             AccumulateType;
00317   typedef FixedArray<double, 3>                   RealType;
00318   typedef double                                  ScalarRealType;
00319   typedef FixedArray<float, 3>                    FloatType;
00320 };
00321 template <> class NumericTraits<FixedArray<int, 3> > {
00322 public:
00323   typedef int                                     ValueType;
00324   typedef FixedArray<int, 3>                      PrintType;
00325   typedef FixedArray<unsigned int, 3>             AbsType;
00326   typedef FixedArray<long, 3>                     AccumulateType;
00327   typedef FixedArray<double, 3>                   RealType;
00328   typedef double                                  ScalarRealType;
00329   typedef FixedArray<float, 3>                    FloatType;
00330 };
00331 template <> class NumericTraits<FixedArray<unsigned int, 3> > {
00332 public:
00333   typedef unsigned int                            ValueType;
00334   typedef FixedArray<unsigned int, 3>             PrintType;
00335   typedef FixedArray<unsigned int, 3>             AbsType;
00336   typedef FixedArray<unsigned long, 3>            AccumulateType;
00337   typedef FixedArray<double, 3>                   RealType;
00338   typedef double                                  ScalarRealType;
00339   typedef FixedArray<float, 3>                    FloatType;
00340 };
00341 template <> class NumericTraits<FixedArray<long, 3> > {
00342 public:
00343   typedef long                                    ValueType;
00344   typedef FixedArray<long, 3>                     PrintType;
00345   typedef FixedArray<unsigned long, 3>            AbsType;
00346   typedef FixedArray<long, 3>                     AccumulateType;
00347   typedef FixedArray<double, 3>                   RealType;
00348   typedef double                                  ScalarRealType;
00349   typedef FixedArray<float, 3>                    FloatType;
00350 };
00351 template <> class NumericTraits<FixedArray<unsigned long, 3> > {
00352 public:
00353   typedef unsigned long                           ValueType;
00354   typedef FixedArray<unsigned long, 3>            PrintType;
00355   typedef FixedArray<unsigned long, 3>            AbsType;
00356   typedef FixedArray<unsigned long, 3>            AccumulateType;
00357   typedef FixedArray<double, 3>                   RealType;
00358   typedef double                                  ScalarRealType;
00359   typedef FixedArray<float, 3>                    FloatType;
00360 };
00361 template <> class NumericTraits<FixedArray<float, 3> > {
00362 public:
00363   typedef float                                   ValueType;
00364   typedef FixedArray<float, 3>                    PrintType;
00365   typedef FixedArray<float, 3>                    AbsType;
00366   typedef FixedArray<double, 3>                   AccumulateType;
00367   typedef FixedArray<double, 3>                   RealType;
00368   typedef double                                  ScalarRealType;
00369   typedef FixedArray<float, 3>                    FloatType;
00370 };
00371 template <> class NumericTraits<FixedArray<double, 3> > {
00372 public:
00373   typedef double                                  ValueType;
00374   typedef FixedArray<double, 3>                   PrintType;
00375   typedef FixedArray<double, 3>                   AbsType;
00376   typedef FixedArray<long double, 3>              AccumulateType;
00377   typedef FixedArray<double, 3>                   RealType;
00378   typedef double                                  ScalarRealType;
00379   typedef FixedArray<float, 3>                    FloatType;
00380 };
00381 template <> class NumericTraits<FixedArray<long double, 3> > {
00382 public:
00383   typedef long double                             ValueType;
00384   typedef FixedArray<long double, 3>              PrintType;
00385   typedef FixedArray<long double, 3>              AbsType;
00386   typedef FixedArray<long double, 3>              AccumulateType;
00387   typedef FixedArray<long double, 3>              RealType;
00388   typedef long double                             ScalarRealType;
00389   typedef FixedArray<float, 3>                    FloatType;
00390 };
00391 
00392 template <> class NumericTraits<FixedArray<unsigned char, 4 > > {
00393 public:
00394   typedef unsigned char                           ValueType;
00395   typedef FixedArray<unsigned char, 4>            PrintType;
00396   typedef FixedArray<unsigned char, 4>            AbsType;
00397   typedef FixedArray<unsigned short, 4>           AccumulateType;
00398   typedef FixedArray<double, 4>                   RealType;
00399   typedef double                                  ScalarRealType;
00400   typedef FixedArray<float, 4>                    FloatType;
00401 };
00402 template <> class NumericTraits<FixedArray<signed char, 4> > {
00403 public:
00404   typedef signed char                             ValueType;
00405   typedef FixedArray<signed char, 4>              PrintType;
00406   typedef FixedArray<unsigned char, 4>            AbsType;
00407   typedef FixedArray<short, 4>                    AccumulateType;
00408   typedef FixedArray<double, 4>                   RealType;
00409   typedef double                                  ScalarRealType;
00410   typedef FixedArray<float, 4>                    FloatType;
00411 };
00412 template <> class NumericTraits<FixedArray<char, 4> > {
00413 public:
00414   typedef char                                    ValueType;
00415   typedef FixedArray<char, 4>                     PrintType;
00416   typedef FixedArray<unsigned char, 4>            AbsType;
00417   typedef FixedArray<short, 4>                    AccumulateType;
00418   typedef FixedArray<double, 4>                   RealType;
00419   typedef double                                  ScalarRealType;
00420   typedef FixedArray<float, 4>                    FloatType;
00421 };
00422 template <> class NumericTraits<FixedArray<short, 4> > {
00423 public:
00424   typedef short                                   ValueType;
00425   typedef FixedArray<short, 4>                    PrintType;
00426   typedef FixedArray<unsigned short, 4>           AbsType;
00427   typedef FixedArray<int, 4>                      AccumulateType;
00428   typedef FixedArray<double, 4>                   RealType;
00429   typedef double                                  ScalarRealType;
00430   typedef FixedArray<float, 4>                    FloatType;
00431 };
00432 template <> class NumericTraits<FixedArray<unsigned short, 4> > {
00433 public:
00434   typedef unsigned short                          ValueType;
00435   typedef FixedArray<unsigned short, 4>           PrintType;
00436   typedef FixedArray<unsigned short, 4>           AbsType;
00437   typedef FixedArray<unsigned int, 4>             AccumulateType;
00438   typedef FixedArray<double, 4>                   RealType;
00439   typedef double                                  ScalarRealType;
00440   typedef FixedArray<float, 4>                    FloatType;
00441 };
00442 template <> class NumericTraits<FixedArray<int, 4> > {
00443 public:
00444   typedef int                                     ValueType;
00445   typedef FixedArray<int, 4>                      PrintType;
00446   typedef FixedArray<unsigned int, 4>             AbsType;
00447   typedef FixedArray<long, 4>                     AccumulateType;
00448   typedef FixedArray<double, 4>                   RealType;
00449   typedef double                                  ScalarRealType;
00450   typedef FixedArray<float, 4>                    FloatType;
00451 };
00452 template <> class NumericTraits<FixedArray<unsigned int, 4> > {
00453 public:
00454   typedef unsigned int                            ValueType;
00455   typedef FixedArray<unsigned int, 4>             PrintType;
00456   typedef FixedArray<unsigned int, 4>             AbsType;
00457   typedef FixedArray<unsigned long, 4>            AccumulateType;
00458   typedef FixedArray<double, 4>                   RealType;
00459   typedef double                                  ScalarRealType;
00460   typedef FixedArray<float, 4>                    FloatType;
00461 };
00462 template <> class NumericTraits<FixedArray<long, 4> > {
00463 public:
00464   typedef long                                    ValueType;
00465   typedef FixedArray<long, 4>                     PrintType;
00466   typedef FixedArray<unsigned long, 4>            AbsType;
00467   typedef FixedArray<long, 4>                     AccumulateType;
00468   typedef FixedArray<double, 4>                   RealType;
00469   typedef double                                  ScalarRealType;
00470   typedef FixedArray<float, 4>                    FloatType;
00471 };
00472 template <> class NumericTraits<FixedArray<unsigned long, 4> > {
00473 public:
00474   typedef unsigned long                           ValueType;
00475   typedef FixedArray<unsigned long, 4>            PrintType;
00476   typedef FixedArray<unsigned long, 4>            AbsType;
00477   typedef FixedArray<unsigned long, 4>            AccumulateType;
00478   typedef FixedArray<double, 4>                   RealType;
00479   typedef double                                  ScalarRealType;
00480   typedef FixedArray<float, 4>                    FloatType;
00481 };
00482 template <> class NumericTraits<FixedArray<float, 4> > {
00483 public:
00484   typedef float                                   ValueType;
00485   typedef FixedArray<float, 4>                    PrintType;
00486   typedef FixedArray<float, 4>                    AbsType;
00487   typedef FixedArray<double, 4>                   AccumulateType;
00488   typedef FixedArray<double, 4>                   RealType;
00489   typedef double                                  ScalarRealType;
00490   typedef FixedArray<float, 4>                    FloatType;
00491 };
00492 template <> class NumericTraits<FixedArray<double, 4> > {
00493 public:
00494   typedef double                                  ValueType;
00495   typedef FixedArray<double, 4>                   PrintType;
00496   typedef FixedArray<double, 4>                   AbsType;
00497   typedef FixedArray<long double, 4>              AccumulateType;
00498   typedef FixedArray<double, 4>                   RealType;
00499   typedef double                                  ScalarRealType;
00500   typedef FixedArray<float, 4>                    FloatType;
00501 };
00502 template <> class NumericTraits<FixedArray<long double, 4> > {
00503 public:
00504   typedef long double                             ValueType;
00505   typedef FixedArray<long double, 4>              PrintType;
00506   typedef FixedArray<long double, 4>              AbsType;
00507   typedef FixedArray<long double, 4>              AccumulateType;
00508   typedef FixedArray<long double, 4>              RealType;
00509   typedef long double                             ScalarRealType;
00510   typedef FixedArray<float, 4>                    FloatType;
00511 };
00512 
00513 template <> class NumericTraits<FixedArray<unsigned char, 5 > > {
00514 public:
00515   typedef unsigned char                           ValueType;
00516   typedef FixedArray<unsigned char, 5>            PrintType;
00517   typedef FixedArray<unsigned char, 5>            AbsType;
00518   typedef FixedArray<unsigned short, 5>           AccumulateType;
00519   typedef FixedArray<double, 5>                   RealType;
00520   typedef double                                  ScalarRealType;
00521   typedef FixedArray<float, 5>                    FloatType;
00522 };
00523 template <> class NumericTraits<FixedArray<signed char, 5> > {
00524 public:
00525   typedef signed char                             ValueType;
00526   typedef FixedArray<signed char, 5>              PrintType;
00527   typedef FixedArray<unsigned char, 5>            AbsType;
00528   typedef FixedArray<short, 5>                    AccumulateType;
00529   typedef FixedArray<double, 5>                   RealType;
00530   typedef double                                  ScalarRealType;
00531   typedef FixedArray<float, 5>                    FloatType;
00532 };
00533 template <> class NumericTraits<FixedArray<char, 5> > {
00534 public:
00535   typedef char                                    ValueType;
00536   typedef FixedArray<char, 5>                     PrintType;
00537   typedef FixedArray<unsigned char, 5>            AbsType;
00538   typedef FixedArray<short, 5>                    AccumulateType;
00539   typedef FixedArray<double, 5>                   RealType;
00540   typedef double                                  ScalarRealType;
00541   typedef FixedArray<float, 5>                    FloatType;
00542 };
00543 template <> class NumericTraits<FixedArray<short, 5> > {
00544 public:
00545   typedef short                                   ValueType;
00546   typedef FixedArray<short, 5>                    PrintType;
00547   typedef FixedArray<unsigned short, 5>           AbsType;
00548   typedef FixedArray<int, 5>                      AccumulateType;
00549   typedef FixedArray<double, 5>                   RealType;
00550   typedef double                                  ScalarRealType;
00551   typedef FixedArray<float, 5>                    FloatType;
00552 };
00553 template <> class NumericTraits<FixedArray<unsigned short, 5> > {
00554 public:
00555   typedef unsigned short                          ValueType;
00556   typedef FixedArray<unsigned short, 5>           PrintType;
00557   typedef FixedArray<unsigned short, 5>           AbsType;
00558   typedef FixedArray<unsigned int, 5>             AccumulateType;
00559   typedef FixedArray<double, 5>                   RealType;
00560   typedef double                                  ScalarRealType;
00561   typedef FixedArray<float, 5>                    FloatType;
00562 };
00563 template <> class NumericTraits<FixedArray<int, 5> > {
00564 public:
00565   typedef int                                     ValueType;
00566   typedef FixedArray<int, 5>                      PrintType;
00567   typedef FixedArray<unsigned int, 5>             AbsType;
00568   typedef FixedArray<long, 5>                     AccumulateType;
00569   typedef FixedArray<double, 5>                   RealType;
00570   typedef double                                  ScalarRealType;
00571   typedef FixedArray<float, 5>                    FloatType;
00572 };
00573 template <> class NumericTraits<FixedArray<unsigned int, 5> > {
00574 public:
00575   typedef unsigned int                            ValueType;
00576   typedef FixedArray<unsigned int, 5>             PrintType;
00577   typedef FixedArray<unsigned int, 5>             AbsType;
00578   typedef FixedArray<unsigned long, 5>            AccumulateType;
00579   typedef FixedArray<double, 5>                   RealType;
00580   typedef double                                  ScalarRealType;
00581   typedef FixedArray<float, 5>                    FloatType;
00582 };
00583 template <> class NumericTraits<FixedArray<long, 5> > {
00584 public:
00585   typedef long                                    ValueType;
00586   typedef FixedArray<long, 5>                     PrintType;
00587   typedef FixedArray<unsigned long, 5>            AbsType;
00588   typedef FixedArray<long, 5>                     AccumulateType;
00589   typedef FixedArray<double, 5>                   RealType;
00590   typedef double                                  ScalarRealType;
00591   typedef FixedArray<float, 5>                    FloatType;
00592 };
00593 template <> class NumericTraits<FixedArray<unsigned long, 5> > {
00594 public:
00595   typedef unsigned long                           ValueType;
00596   typedef FixedArray<unsigned long, 5>            PrintType;
00597   typedef FixedArray<unsigned long, 5>            AbsType;
00598   typedef FixedArray<unsigned long, 5>            AccumulateType;
00599   typedef FixedArray<double, 5>                   RealType;
00600   typedef double                                  ScalarRealType;
00601   typedef FixedArray<float, 5>                    FloatType;
00602 };
00603 template <> class NumericTraits<FixedArray<float, 5> > {
00604 public:
00605   typedef float                                   ValueType;
00606   typedef FixedArray<float, 5>                    PrintType;
00607   typedef FixedArray<float, 5>                    AbsType;
00608   typedef FixedArray<double, 5>                   AccumulateType;
00609   typedef FixedArray<double, 5>                   RealType;
00610   typedef double                                  ScalarRealType;
00611   typedef FixedArray<float, 5>                    FloatType;
00612 };
00613 template <> class NumericTraits<FixedArray<double, 5> > {
00614 public:
00615   typedef double                                  ValueType;
00616   typedef FixedArray<double, 5>                   PrintType;
00617   typedef FixedArray<double, 5>                   AbsType;
00618   typedef FixedArray<long double, 5>              AccumulateType;
00619   typedef FixedArray<double, 5>                   RealType;
00620   typedef double                                  ScalarRealType;
00621   typedef FixedArray<float, 5>                    FloatType;
00622 };
00623 template <> class NumericTraits<FixedArray<long double, 5> > {
00624 public:
00625   typedef long double                             ValueType;
00626   typedef FixedArray<long double, 5>              PrintType;
00627   typedef FixedArray<long double, 5>              AbsType;
00628   typedef FixedArray<long double, 5>              AccumulateType;
00629   typedef FixedArray<long double, 5>              RealType;
00630   typedef long double                             ScalarRealType;
00631   typedef FixedArray<float, 5>                    FloatType;
00632 };
00633 
00634 template <> class NumericTraits<FixedArray<unsigned char, 6 > > {
00635 public:
00636   typedef unsigned char                           ValueType;
00637   typedef FixedArray<unsigned char, 6>            PrintType;
00638   typedef FixedArray<unsigned char, 6>            AbsType;
00639   typedef FixedArray<unsigned short, 6>           AccumulateType;
00640   typedef FixedArray<double, 6>                   RealType;
00641   typedef double                                  ScalarRealType;
00642   typedef FixedArray<float, 6>                    FloatType;
00643 };
00644 template <> class NumericTraits<FixedArray<signed char, 6> > {
00645 public:
00646   typedef signed char                             ValueType;
00647   typedef FixedArray<signed char, 6>              PrintType;
00648   typedef FixedArray<unsigned char, 6>            AbsType;
00649   typedef FixedArray<short, 6>                    AccumulateType;
00650   typedef FixedArray<double, 6>                   RealType;
00651   typedef double                                  ScalarRealType;
00652   typedef FixedArray<float, 6>                    FloatType;
00653 };
00654 template <> class NumericTraits<FixedArray<char, 6> > {
00655 public:
00656   typedef char                                    ValueType;
00657   typedef FixedArray<char, 6>                     PrintType;
00658   typedef FixedArray<unsigned char, 6>            AbsType;
00659   typedef FixedArray<short, 6>                    AccumulateType;
00660   typedef FixedArray<double, 6>                   RealType;
00661   typedef double                                  ScalarRealType;
00662   typedef FixedArray<float, 6>                    FloatType;
00663 };
00664 template <> class NumericTraits<FixedArray<short, 6> > {
00665 public:
00666   typedef short                                   ValueType;
00667   typedef FixedArray<short, 6>                    PrintType;
00668   typedef FixedArray<unsigned short, 6>           AbsType;
00669   typedef FixedArray<int, 6>                      AccumulateType;
00670   typedef FixedArray<double, 6>                   RealType;
00671   typedef double                                  ScalarRealType;
00672   typedef FixedArray<float, 6>                    FloatType;
00673 };
00674 template <> class NumericTraits<FixedArray<unsigned short, 6> > {
00675 public:
00676   typedef unsigned short                          ValueType;
00677   typedef FixedArray<unsigned short, 6>           PrintType;
00678   typedef FixedArray<unsigned short, 6>           AbsType;
00679   typedef FixedArray<unsigned int, 6>             AccumulateType;
00680   typedef FixedArray<double, 6>                   RealType;
00681   typedef double                                  ScalarRealType;
00682   typedef FixedArray<float, 6>                    FloatType;
00683 };
00684 template <> class NumericTraits<FixedArray<int, 6> > {
00685 public:
00686   typedef int                                     ValueType;
00687   typedef FixedArray<int, 6>                      PrintType;
00688   typedef FixedArray<unsigned int, 6>             AbsType;
00689   typedef FixedArray<long, 6>                     AccumulateType;
00690   typedef FixedArray<double, 6>                   RealType;
00691   typedef double                                  ScalarRealType;
00692   typedef FixedArray<float, 6>                    FloatType;
00693 };
00694 template <> class NumericTraits<FixedArray<unsigned int, 6> > {
00695 public:
00696   typedef unsigned int                            ValueType;
00697   typedef FixedArray<unsigned int, 6>             PrintType;
00698   typedef FixedArray<unsigned int, 6>             AbsType;
00699   typedef FixedArray<unsigned long, 6>            AccumulateType;
00700   typedef FixedArray<double, 6>                   RealType;
00701   typedef double                                  ScalarRealType;
00702   typedef FixedArray<float, 6>                    FloatType;
00703 };
00704 template <> class NumericTraits<FixedArray<long, 6> > {
00705 public:
00706   typedef long                                    ValueType;
00707   typedef FixedArray<long, 6>                     PrintType;
00708   typedef FixedArray<unsigned long, 6>            AbsType;
00709   typedef FixedArray<long, 6>                     AccumulateType;
00710   typedef FixedArray<double, 6>                   RealType;
00711   typedef double                                  ScalarRealType;
00712   typedef FixedArray<float, 6>                    FloatType;
00713 };
00714 template <> class NumericTraits<FixedArray<unsigned long, 6> > {
00715 public:
00716   typedef unsigned long                           ValueType;
00717   typedef FixedArray<unsigned long, 6>            PrintType;
00718   typedef FixedArray<unsigned long, 6>            AbsType;
00719   typedef FixedArray<unsigned long, 6>            AccumulateType;
00720   typedef FixedArray<double, 6>                   RealType;
00721   typedef double                                  ScalarRealType;
00722   typedef FixedArray<float, 6>                    FloatType;
00723 };
00724 template <> class NumericTraits<FixedArray<float, 6> > {
00725 public:
00726   typedef float                                   ValueType;
00727   typedef FixedArray<float, 6>                    PrintType;
00728   typedef FixedArray<float, 6>                    AbsType;
00729   typedef FixedArray<double, 6>                   AccumulateType;
00730   typedef FixedArray<double, 6>                   RealType;
00731   typedef double                                  ScalarRealType;
00732   typedef FixedArray<float, 6>                    FloatType;
00733 };
00734 template <> class NumericTraits<FixedArray<double, 6> > {
00735 public:
00736   typedef double                                  ValueType;
00737   typedef FixedArray<double, 6>                   PrintType;
00738   typedef FixedArray<double, 6>                   AbsType;
00739   typedef FixedArray<long double, 6>              AccumulateType;
00740   typedef FixedArray<double, 6>                   RealType;
00741   typedef double                                  ScalarRealType;
00742   typedef FixedArray<float, 6>                    FloatType;
00743 };
00744 template <> class NumericTraits<FixedArray<long double, 6> > {
00745 public:
00746   typedef long double                             ValueType;
00747   typedef FixedArray<long double, 6>              PrintType;
00748   typedef FixedArray<long double, 6>              AbsType;
00749   typedef FixedArray<long double, 6>              AccumulateType;
00750   typedef FixedArray<long double, 6>              RealType;
00751   typedef long double                             ScalarRealType;
00752   typedef FixedArray<float, 6>                    FloatType;
00753 };
00754 
00755 template <> class NumericTraits<FixedArray<unsigned char, 7 > > {
00756 public:
00757   typedef unsigned char                           ValueType;
00758   typedef FixedArray<unsigned char, 7>            PrintType;
00759   typedef FixedArray<unsigned char, 7>            AbsType;
00760   typedef FixedArray<unsigned short, 7>           AccumulateType;
00761   typedef FixedArray<double, 7>                   RealType;
00762   typedef double                                  ScalarRealType;
00763   typedef FixedArray<float, 7>                    FloatType;
00764 };
00765 template <> class NumericTraits<FixedArray<signed char, 7> > {
00766 public:
00767   typedef signed char                             ValueType;
00768   typedef FixedArray<signed char, 7>              PrintType;
00769   typedef FixedArray<unsigned char, 7>            AbsType;
00770   typedef FixedArray<short, 7>                    AccumulateType;
00771   typedef FixedArray<double, 7>                   RealType;
00772   typedef double                                  ScalarRealType;
00773   typedef FixedArray<float, 7>                    FloatType;
00774 };
00775 template <> class NumericTraits<FixedArray<char, 7> > {
00776 public:
00777   typedef char                                    ValueType;
00778   typedef FixedArray<char, 7>                     PrintType;
00779   typedef FixedArray<unsigned char, 7>            AbsType;
00780   typedef FixedArray<short, 7>                    AccumulateType;
00781   typedef FixedArray<double, 7>                   RealType;
00782   typedef double                                  ScalarRealType;
00783   typedef FixedArray<float, 7>                    FloatType;
00784 };
00785 template <> class NumericTraits<FixedArray<short, 7> > {
00786 public:
00787   typedef short                                   ValueType;
00788   typedef FixedArray<short, 7>                    PrintType;
00789   typedef FixedArray<unsigned short, 7>           AbsType;
00790   typedef FixedArray<int, 7>                      AccumulateType;
00791   typedef FixedArray<double, 7>                   RealType;
00792   typedef double                                  ScalarRealType;
00793   typedef FixedArray<float, 7>                    FloatType;
00794 };
00795 template <> class NumericTraits<FixedArray<unsigned short, 7> > {
00796 public:
00797   typedef unsigned short                          ValueType;
00798   typedef FixedArray<unsigned short, 7>           PrintType;
00799   typedef FixedArray<unsigned short, 7>           AbsType;
00800   typedef FixedArray<unsigned int, 7>             AccumulateType;
00801   typedef FixedArray<double, 7>                   RealType;
00802   typedef double                                  ScalarRealType;
00803   typedef FixedArray<float, 7>                    FloatType;
00804 };
00805 template <> class NumericTraits<FixedArray<int, 7> > {
00806 public:
00807   typedef int                                     ValueType;
00808   typedef FixedArray<int, 7>                      PrintType;
00809   typedef FixedArray<unsigned int, 7>             AbsType;
00810   typedef FixedArray<long, 7>                     AccumulateType;
00811   typedef FixedArray<double, 7>                   RealType;
00812   typedef double                                  ScalarRealType;
00813   typedef FixedArray<float, 7>                    FloatType;
00814 };
00815 template <> class NumericTraits<FixedArray<unsigned int, 7> > {
00816 public:
00817   typedef unsigned int                            ValueType;
00818   typedef FixedArray<unsigned int, 7>             PrintType;
00819   typedef FixedArray<unsigned int, 7>             AbsType;
00820   typedef FixedArray<unsigned long, 7>            AccumulateType;
00821   typedef FixedArray<double, 7>                   RealType;
00822   typedef double                                  ScalarRealType;
00823   typedef FixedArray<float, 7>                    FloatType;
00824 };
00825 template <> class NumericTraits<FixedArray<long, 7> > {
00826 public:
00827   typedef long                                    ValueType;
00828   typedef FixedArray<long, 7>                     PrintType;
00829   typedef FixedArray<unsigned long, 7>            AbsType;
00830   typedef FixedArray<long, 7>                     AccumulateType;
00831   typedef FixedArray<double, 7>                   RealType;
00832   typedef double                                  ScalarRealType;
00833   typedef FixedArray<float, 7>                    FloatType;
00834 };
00835 template <> class NumericTraits<FixedArray<unsigned long, 7> > {
00836 public:
00837   typedef unsigned long                           ValueType;
00838   typedef FixedArray<unsigned long, 7>            PrintType;
00839   typedef FixedArray<unsigned long, 7>            AbsType;
00840   typedef FixedArray<unsigned long, 7>            AccumulateType;
00841   typedef FixedArray<double, 7>                   RealType;
00842   typedef double                                  ScalarRealType;
00843   typedef FixedArray<float, 7>                    FloatType;
00844 };
00845 template <> class NumericTraits<FixedArray<float, 7> > {
00846 public:
00847   typedef float                                   ValueType;
00848   typedef FixedArray<float, 7>                    PrintType;
00849   typedef FixedArray<float, 7>                    AbsType;
00850   typedef FixedArray<double, 7>                   AccumulateType;
00851   typedef FixedArray<double, 7>                   RealType;
00852   typedef double                                  ScalarRealType;
00853   typedef FixedArray<float, 7>                    FloatType;
00854 };
00855 template <> class NumericTraits<FixedArray<double, 7> > {
00856 public:
00857   typedef double                                  ValueType;
00858   typedef FixedArray<double, 7>                   PrintType;
00859   typedef FixedArray<double, 7>                   AbsType;
00860   typedef FixedArray<long double, 7>              AccumulateType;
00861   typedef FixedArray<double, 7>                   RealType;
00862   typedef double                                  ScalarRealType;
00863   typedef FixedArray<float, 7>                    FloatType;
00864 };
00865 template <> class NumericTraits<FixedArray<long double, 7> > {
00866 public:
00867   typedef long double                             ValueType;
00868   typedef FixedArray<long double, 7>              PrintType;
00869   typedef FixedArray<long double, 7>              AbsType;
00870   typedef FixedArray<long double, 7>              AccumulateType;
00871   typedef FixedArray<long double, 7>              RealType;
00872   typedef long double                             ScalarRealType;
00873   typedef FixedArray<float, 7>                    FloatType;
00874 };
00875 
00876 template <> class NumericTraits<FixedArray<unsigned char, 8 > > {
00877 public:
00878   typedef unsigned char                           ValueType;
00879   typedef FixedArray<unsigned char, 8>            PrintType;
00880   typedef FixedArray<unsigned char, 8>            AbsType;
00881   typedef FixedArray<unsigned short, 8>           AccumulateType;
00882   typedef FixedArray<double, 8>                   RealType;
00883   typedef double                                  ScalarRealType;
00884   typedef FixedArray<float, 8>                    FloatType;
00885 };
00886 template <> class NumericTraits<FixedArray<signed char, 8> > {
00887 public:
00888   typedef signed char                             ValueType;
00889   typedef FixedArray<signed char, 8>              PrintType;
00890   typedef FixedArray<unsigned char, 8>            AbsType;
00891   typedef FixedArray<short, 8>                    AccumulateType;
00892   typedef FixedArray<double, 8>                   RealType;
00893   typedef double                                  ScalarRealType;
00894   typedef FixedArray<float, 8>                    FloatType;
00895 };
00896 template <> class NumericTraits<FixedArray<char, 8> > {
00897 public:
00898   typedef char                                    ValueType;
00899   typedef FixedArray<char, 8>                     PrintType;
00900   typedef FixedArray<unsigned char, 8>            AbsType;
00901   typedef FixedArray<short, 8>                    AccumulateType;
00902   typedef FixedArray<double, 8>                   RealType;
00903   typedef double                                  ScalarRealType;
00904   typedef FixedArray<float, 8>                    FloatType;
00905 };
00906 template <> class NumericTraits<FixedArray<short, 8> > {
00907 public:
00908   typedef short                                   ValueType;
00909   typedef FixedArray<short, 8>                    PrintType;
00910   typedef FixedArray<unsigned short, 8>           AbsType;
00911   typedef FixedArray<int, 8>                      AccumulateType;
00912   typedef FixedArray<double, 8>                   RealType;
00913   typedef double                                  ScalarRealType;
00914   typedef FixedArray<float, 8>                    FloatType;
00915 };
00916 template <> class NumericTraits<FixedArray<unsigned short, 8> > {
00917 public:
00918   typedef unsigned short                          ValueType;
00919   typedef FixedArray<unsigned short, 8>           PrintType;
00920   typedef FixedArray<unsigned short, 8>           AbsType;
00921   typedef FixedArray<unsigned int, 8>             AccumulateType;
00922   typedef FixedArray<double, 8>                   RealType;
00923   typedef double                                  ScalarRealType;
00924   typedef FixedArray<float, 8>                    FloatType;
00925 };
00926 template <> class NumericTraits<FixedArray<int, 8> > {
00927 public:
00928   typedef int                                     ValueType;
00929   typedef FixedArray<int, 8>                      PrintType;
00930   typedef FixedArray<unsigned int, 8>             AbsType;
00931   typedef FixedArray<long, 8>                     AccumulateType;
00932   typedef FixedArray<double, 8>                   RealType;
00933   typedef double                                  ScalarRealType;
00934   typedef FixedArray<float, 8>                    FloatType;
00935 };
00936 template <> class NumericTraits<FixedArray<unsigned int, 8> > {
00937 public:
00938   typedef unsigned int                            ValueType;
00939   typedef FixedArray<unsigned int, 8>             PrintType;
00940   typedef FixedArray<unsigned int, 8>             AbsType;
00941   typedef FixedArray<unsigned long, 8>            AccumulateType;
00942   typedef FixedArray<double, 8>                   RealType;
00943   typedef double                                  ScalarRealType;
00944   typedef FixedArray<float, 8>                    FloatType;
00945 };
00946 template <> class NumericTraits<FixedArray<long, 8> > {
00947 public:
00948   typedef long                                    ValueType;
00949   typedef FixedArray<long, 8>                     PrintType;
00950   typedef FixedArray<unsigned long, 8>            AbsType;
00951   typedef FixedArray<long, 8>                     AccumulateType;
00952   typedef FixedArray<double, 8>                   RealType;
00953   typedef double                                  ScalarRealType;
00954   typedef FixedArray<float, 8>                    FloatType;
00955 };
00956 template <> class NumericTraits<FixedArray<unsigned long, 8> > {
00957 public:
00958   typedef unsigned long                           ValueType;
00959   typedef FixedArray<unsigned long, 8>            PrintType;
00960   typedef FixedArray<unsigned long, 8>            AbsType;
00961   typedef FixedArray<unsigned long, 8>            AccumulateType;
00962   typedef FixedArray<double, 8>                   RealType;
00963   typedef double                                  ScalarRealType;
00964   typedef FixedArray<float, 8>                    FloatType;
00965 };
00966 template <> class NumericTraits<FixedArray<float, 8> > {
00967 public:
00968   typedef float                                   ValueType;
00969   typedef FixedArray<float, 8>                    PrintType;
00970   typedef FixedArray<float, 8>                    AbsType;
00971   typedef FixedArray<double, 8>                   AccumulateType;
00972   typedef FixedArray<double, 8>                   RealType;
00973   typedef double                                  ScalarRealType;
00974   typedef FixedArray<float, 8>                    FloatType;
00975 };
00976 template <> class NumericTraits<FixedArray<double, 8> > {
00977 public:
00978   typedef double                                  ValueType;
00979   typedef FixedArray<double, 8>                   PrintType;
00980   typedef FixedArray<double, 8>                   AbsType;
00981   typedef FixedArray<long double, 8>              AccumulateType;
00982   typedef FixedArray<double, 8>                   RealType;
00983   typedef double                                  ScalarRealType;
00984   typedef FixedArray<float, 8>                    FloatType;
00985 };
00986 template <> class NumericTraits<FixedArray<long double, 8> > {
00987 public:
00988   typedef long double                             ValueType;
00989   typedef FixedArray<long double, 8>              PrintType;
00990   typedef FixedArray<long double, 8>              AbsType;
00991   typedef FixedArray<long double, 8>              AccumulateType;
00992   typedef FixedArray<long double, 8>              RealType;
00993   typedef long double                             ScalarRealType;
00994   typedef FixedArray<float, 8>                    FloatType;
00995 };
00996 
00997 template <> class NumericTraits<FixedArray<unsigned char, 9 > > {
00998 public:
00999   typedef unsigned char                           ValueType;
01000   typedef FixedArray<unsigned char, 9>            PrintType;
01001   typedef FixedArray<unsigned char, 9>            AbsType;
01002   typedef FixedArray<unsigned short, 9>           AccumulateType;
01003   typedef FixedArray<double, 9>                   RealType;
01004   typedef double                                  ScalarRealType;
01005   typedef FixedArray<float, 9>                    FloatType;
01006 };
01007 template <> class NumericTraits<FixedArray<signed char, 9> > {
01008 public:
01009   typedef signed char                             ValueType;
01010   typedef FixedArray<signed char, 9>              PrintType;
01011   typedef FixedArray<unsigned char, 9>            AbsType;
01012   typedef FixedArray<short, 9>                    AccumulateType;
01013   typedef FixedArray<double, 9>                   RealType;
01014   typedef double                                  ScalarRealType;
01015   typedef FixedArray<float, 9>                    FloatType;
01016 };
01017 template <> class NumericTraits<FixedArray<char, 9> > {
01018 public:
01019   typedef char                                    ValueType;
01020   typedef FixedArray<char, 9>                     PrintType;
01021   typedef FixedArray<unsigned char, 9>            AbsType;
01022   typedef FixedArray<short, 9>                    AccumulateType;
01023   typedef FixedArray<double, 9>                   RealType;
01024   typedef double                                  ScalarRealType;
01025   typedef FixedArray<float, 9>                    FloatType;
01026 };
01027 template <> class NumericTraits<FixedArray<short, 9> > {
01028 public:
01029   typedef short                                   ValueType;
01030   typedef FixedArray<short, 9>                    PrintType;
01031   typedef FixedArray<unsigned short, 9>           AbsType;
01032   typedef FixedArray<int, 9>                      AccumulateType;
01033   typedef FixedArray<double, 9>                   RealType;
01034   typedef double                                  ScalarRealType;
01035   typedef FixedArray<float, 9>                    FloatType;
01036 };
01037 template <> class NumericTraits<FixedArray<unsigned short, 9> > {
01038 public:
01039   typedef unsigned short                          ValueType;
01040   typedef FixedArray<unsigned short, 9>           PrintType;
01041   typedef FixedArray<unsigned short, 9>           AbsType;
01042   typedef FixedArray<unsigned int, 9>             AccumulateType;
01043   typedef FixedArray<double, 9>                   RealType;
01044   typedef double                                  ScalarRealType;
01045   typedef FixedArray<float, 9>                    FloatType;
01046 };
01047 template <> class NumericTraits<FixedArray<int, 9> > {
01048 public:
01049   typedef int                                     ValueType;
01050   typedef FixedArray<int, 9>                      PrintType;
01051   typedef FixedArray<unsigned int, 9>             AbsType;
01052   typedef FixedArray<long, 9>                     AccumulateType;
01053   typedef FixedArray<double, 9>                   RealType;
01054   typedef double                                  ScalarRealType;
01055   typedef FixedArray<float, 9>                    FloatType;
01056 };
01057 template <> class NumericTraits<FixedArray<unsigned int, 9> > {
01058 public:
01059   typedef unsigned int                            ValueType;
01060   typedef FixedArray<unsigned int, 9>             PrintType;
01061   typedef FixedArray<unsigned int, 9>             AbsType;
01062   typedef FixedArray<unsigned long, 9>            AccumulateType;
01063   typedef FixedArray<double, 9>                   RealType;
01064   typedef double                                  ScalarRealType;
01065   typedef FixedArray<float, 9>                    FloatType;
01066 };
01067 template <> class NumericTraits<FixedArray<long, 9> > {
01068 public:
01069   typedef long                                    ValueType;
01070   typedef FixedArray<long, 9>                     PrintType;
01071   typedef FixedArray<unsigned long, 9>            AbsType;
01072   typedef FixedArray<long, 9>                     AccumulateType;
01073   typedef FixedArray<double, 9>                   RealType;
01074   typedef double                                  ScalarRealType;
01075   typedef FixedArray<float, 9>                    FloatType;
01076 };
01077 template <> class NumericTraits<FixedArray<unsigned long, 9> > {
01078 public:
01079   typedef unsigned long                           ValueType;
01080   typedef FixedArray<unsigned long, 9>            PrintType;
01081   typedef FixedArray<unsigned long, 9>            AbsType;
01082   typedef FixedArray<unsigned long, 9>            AccumulateType;
01083   typedef FixedArray<double, 9>                   RealType;
01084   typedef double                                  ScalarRealType;
01085   typedef FixedArray<float, 9>                    FloatType;
01086 };
01087 template <> class NumericTraits<FixedArray<float, 9> > {
01088 public:
01089   typedef float                                   ValueType;
01090   typedef FixedArray<float, 9>                    PrintType;
01091   typedef FixedArray<float, 9>                    AbsType;
01092   typedef FixedArray<double, 9>                   AccumulateType;
01093   typedef FixedArray<double, 9>                   RealType;
01094   typedef double                                  ScalarRealType;
01095   typedef FixedArray<float, 9>                    FloatType;
01096 };
01097 template <> class NumericTraits<FixedArray<double, 9> > {
01098 public:
01099   typedef double                                  ValueType;
01100   typedef FixedArray<double, 9>                   PrintType;
01101   typedef FixedArray<double, 9>                   AbsType;
01102   typedef FixedArray<long double, 9>              AccumulateType;
01103   typedef FixedArray<double, 9>                   RealType;
01104   typedef double                                  ScalarRealType;
01105   typedef FixedArray<float, 9>                    FloatType;
01106 };
01107 template <> class NumericTraits<FixedArray<long double, 9> > {
01108 public:
01109   typedef long double                             ValueType;
01110   typedef FixedArray<long double, 9>              PrintType;
01111   typedef FixedArray<long double, 9>              AbsType;
01112   typedef FixedArray<long double, 9>              AccumulateType;
01113   typedef FixedArray<long double, 9>              RealType;
01114   typedef long double                             ScalarRealType;
01115   typedef FixedArray<float, 9>                    FloatType;
01116 };
01117 
01118 } // end namespace itk
01119 
01120 #endif // __itkNumericTraitsFixedArrayPixel_h  
01121 

Generated at Sat Feb 28 13:10:10 2009 for ITK by doxygen 1.5.6 written by Dimitri van Heesch, © 1997-2000