00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkNumericTraitsFixedArrayPixel_h
00018 #define __itkNumericTraitsFixedArrayPixel_h
00019
00020 #include "itkNumericTraits.h"
00021 #include "itkFixedArray.h"
00022
00023
00024
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 }
01119
01120 #endif // __itkNumericTraitsFixedArrayPixel_h
01121