00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033
00034 #ifndef SH_SHVECTOR_HPP
00035 #define SH_SHVECTOR_HPP
00036
00037 #include "ShAttrib.hpp"
00038 namespace SH {
00039
00047 template<int N, ShBindingType Binding, typename T=float, bool Swizzled=false>
00048 class ShVector : public ShAttrib<N, Binding, T, Swizzled> {
00049 public:
00050 typedef T storage_type;
00051 typedef typename ShHostType<T>::type host_type;
00052 typedef typename ShMemType<T>::type mem_type;
00053 static const ShBindingType binding_type = Binding;
00054 static const ShSemanticType semantic_type = SH_VECTOR;
00055
00056 typedef ShVector<N, SH_INPUT, T> InputType;
00057 typedef ShVector<N, SH_OUTPUT, T> OutputType;
00058 typedef ShVector<N, SH_INOUT, T> InOutType;
00059 typedef ShVector<N, SH_TEMP, T> TempType;
00060 typedef ShVector<N, SH_CONST, T> ConstType;
00061 ShVector();
00062
00063 template<typename T2>
00064 ShVector(const ShGeneric<N, T2>& other);
00065 ShVector(const ShVector<N, Binding, T, Swizzled>& other);
00066
00067 template<typename T2>
00068 ShVector(const ShVector<N, Binding, T2, Swizzled>& other);
00069 ShVector(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00070 explicit ShVector(host_type data[N]);
00071
00072 ~ShVector();
00073
00074
00075 template<typename T2>
00076 ShVector& operator=(const ShGeneric<N, T2>& other);
00077
00078 template<typename T2>
00079 ShVector& operator=(const ShVector<N, Binding, T2, Swizzled>& other);
00080 ShVector& operator=(const ShVector<N, Binding, T, Swizzled>& other);
00081
00082 ShVector& operator=(const ShProgram& prg);
00083
00084
00085 template<typename T2>
00086 ShVector& operator+=(const ShGeneric<N, T2>& right);
00087
00088 template<typename T2>
00089 ShVector& operator-=(const ShGeneric<N, T2>& right);
00090
00091 template<typename T2>
00092 ShVector& operator*=(const ShGeneric<N, T2>& right);
00093
00094 template<typename T2>
00095 ShVector& operator/=(const ShGeneric<N, T2>& right);
00096
00097 template<typename T2>
00098 ShVector& operator%=(const ShGeneric<N, T2>& right);
00099 ShVector& operator*=(host_type);
00100 ShVector& operator/=(host_type);
00101 ShVector& operator%=(host_type);
00102 ShVector& operator+=(host_type);
00103 ShVector& operator-=(host_type);
00104
00105 template<typename T2>
00106 ShVector& operator+=(const ShGeneric<1, T2>&);
00107
00108 template<typename T2>
00109 ShVector& operator-=(const ShGeneric<1, T2>&);
00110
00111 template<typename T2>
00112 ShVector& operator*=(const ShGeneric<1, T2>&);
00113
00114 template<typename T2>
00115 ShVector& operator/=(const ShGeneric<1, T2>&);
00116
00117 template<typename T2>
00118 ShVector& operator%=(const ShGeneric<1, T2>&);
00119 ShVector<1, Binding, T, true> operator()(int) const;
00120 ShVector<2, Binding, T, true> operator()(int, int) const;
00121 ShVector<3, Binding, T, true> operator()(int, int, int) const;
00122 ShVector<4, Binding, T, true> operator()(int, int, int, int) const;
00123 ShVector<1, Binding, T, true> operator[](int) const;
00124
00125 template<int N2>
00126 ShVector<N2, Binding, T, true> swiz(int indices[]) const;
00127
00128 ShVector operator-() const;
00129 private:
00130 typedef ShAttrib<N, Binding, T, Swizzled> ParentType;
00131 };
00132
00133 template<ShBindingType Binding, typename T, bool Swizzled>
00134 class ShVector<1, Binding, T, Swizzled> : public ShAttrib<1, Binding, T, Swizzled> {
00135 public:
00136 typedef T storage_type;
00137 typedef typename ShHostType<T>::type host_type;
00138 typedef typename ShMemType<T>::type mem_type;
00139 static const ShBindingType binding_type = Binding;
00140 static const ShSemanticType semantic_type = SH_VECTOR;
00141
00142 typedef ShVector<1, SH_INPUT, T> InputType;
00143 typedef ShVector<1, SH_OUTPUT, T> OutputType;
00144 typedef ShVector<1, SH_INOUT, T> InOutType;
00145 typedef ShVector<1, SH_TEMP, T> TempType;
00146 typedef ShVector<1, SH_CONST, T> ConstType;
00147 ShVector();
00148
00149 template<typename T2>
00150 ShVector(const ShGeneric<1, T2>& other);
00151 ShVector(const ShVector<1, Binding, T, Swizzled>& other);
00152
00153 template<typename T2>
00154 ShVector(const ShVector<1, Binding, T2, Swizzled>& other);
00155 ShVector(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00156 explicit ShVector(host_type data[1]);
00157
00158 ShVector(host_type);
00159
00160 ~ShVector();
00161
00162
00163 template<typename T2>
00164 ShVector& operator=(const ShGeneric<1, T2>& other);
00165
00166 template<typename T2>
00167 ShVector& operator=(const ShVector<1, Binding, T2, Swizzled>& other);
00168 ShVector& operator=(const ShVector<1, Binding, T, Swizzled>& other);
00169
00170 ShVector& operator=(host_type other);
00171
00172 ShVector& operator=(const ShProgram& prg);
00173
00174
00175 template<typename T2>
00176 ShVector& operator+=(const ShGeneric<1, T2>& right);
00177
00178 template<typename T2>
00179 ShVector& operator-=(const ShGeneric<1, T2>& right);
00180
00181 template<typename T2>
00182 ShVector& operator*=(const ShGeneric<1, T2>& right);
00183
00184 template<typename T2>
00185 ShVector& operator/=(const ShGeneric<1, T2>& right);
00186
00187 template<typename T2>
00188 ShVector& operator%=(const ShGeneric<1, T2>& right);
00189 ShVector& operator*=(host_type);
00190 ShVector& operator/=(host_type);
00191 ShVector& operator%=(host_type);
00192 ShVector& operator+=(host_type);
00193 ShVector& operator-=(host_type);
00194 ShVector<1, Binding, T, true> operator()(int) const;
00195 ShVector<2, Binding, T, true> operator()(int, int) const;
00196 ShVector<3, Binding, T, true> operator()(int, int, int) const;
00197 ShVector<4, Binding, T, true> operator()(int, int, int, int) const;
00198 ShVector<1, Binding, T, true> operator[](int) const;
00199
00200 template<int N2>
00201 ShVector<N2, Binding, T, true> swiz(int indices[]) const;
00202
00203 ShVector operator-() const;
00204 private:
00205 typedef ShAttrib<1, Binding, T, Swizzled> ParentType;
00206 };
00207
00208 template<ShBindingType Binding, typename T, bool Swizzled>
00209 class ShVector<2, Binding, T, Swizzled> : public ShAttrib<2, Binding, T, Swizzled> {
00210 public:
00211 typedef T storage_type;
00212 typedef typename ShHostType<T>::type host_type;
00213 typedef typename ShMemType<T>::type mem_type;
00214 static const ShBindingType binding_type = Binding;
00215 static const ShSemanticType semantic_type = SH_VECTOR;
00216
00217 typedef ShVector<2, SH_INPUT, T> InputType;
00218 typedef ShVector<2, SH_OUTPUT, T> OutputType;
00219 typedef ShVector<2, SH_INOUT, T> InOutType;
00220 typedef ShVector<2, SH_TEMP, T> TempType;
00221 typedef ShVector<2, SH_CONST, T> ConstType;
00222 ShVector();
00223
00224 template<typename T2>
00225 ShVector(const ShGeneric<2, T2>& other);
00226 ShVector(const ShVector<2, Binding, T, Swizzled>& other);
00227
00228 template<typename T2>
00229 ShVector(const ShVector<2, Binding, T2, Swizzled>& other);
00230 ShVector(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00231 explicit ShVector(host_type data[2]);
00232
00233 ShVector(host_type, host_type);
00234 template<typename T2, typename T3>
00235 ShVector(const ShGeneric<1, T2>&, const ShGeneric<1, T3>&);
00236
00237 ~ShVector();
00238
00239
00240 template<typename T2>
00241 ShVector& operator=(const ShGeneric<2, T2>& other);
00242
00243 template<typename T2>
00244 ShVector& operator=(const ShVector<2, Binding, T2, Swizzled>& other);
00245 ShVector& operator=(const ShVector<2, Binding, T, Swizzled>& other);
00246
00247 ShVector& operator=(const ShProgram& prg);
00248
00249
00250 template<typename T2>
00251 ShVector& operator+=(const ShGeneric<2, T2>& right);
00252
00253 template<typename T2>
00254 ShVector& operator-=(const ShGeneric<2, T2>& right);
00255
00256 template<typename T2>
00257 ShVector& operator*=(const ShGeneric<2, T2>& right);
00258
00259 template<typename T2>
00260 ShVector& operator/=(const ShGeneric<2, T2>& right);
00261
00262 template<typename T2>
00263 ShVector& operator%=(const ShGeneric<2, T2>& right);
00264 ShVector& operator*=(host_type);
00265 ShVector& operator/=(host_type);
00266 ShVector& operator%=(host_type);
00267 ShVector& operator+=(host_type);
00268 ShVector& operator-=(host_type);
00269
00270 template<typename T2>
00271 ShVector& operator+=(const ShGeneric<1, T2>&);
00272
00273 template<typename T2>
00274 ShVector& operator-=(const ShGeneric<1, T2>&);
00275
00276 template<typename T2>
00277 ShVector& operator*=(const ShGeneric<1, T2>&);
00278
00279 template<typename T2>
00280 ShVector& operator/=(const ShGeneric<1, T2>&);
00281
00282 template<typename T2>
00283 ShVector& operator%=(const ShGeneric<1, T2>&);
00284 ShVector<1, Binding, T, true> operator()(int) const;
00285 ShVector<2, Binding, T, true> operator()(int, int) const;
00286 ShVector<3, Binding, T, true> operator()(int, int, int) const;
00287 ShVector<4, Binding, T, true> operator()(int, int, int, int) const;
00288 ShVector<1, Binding, T, true> operator[](int) const;
00289
00290 template<int N2>
00291 ShVector<N2, Binding, T, true> swiz(int indices[]) const;
00292
00293 ShVector operator-() const;
00294 private:
00295 typedef ShAttrib<2, Binding, T, Swizzled> ParentType;
00296 };
00297
00298 template<ShBindingType Binding, typename T, bool Swizzled>
00299 class ShVector<3, Binding, T, Swizzled> : public ShAttrib<3, Binding, T, Swizzled> {
00300 public:
00301 typedef T storage_type;
00302 typedef typename ShHostType<T>::type host_type;
00303 typedef typename ShMemType<T>::type mem_type;
00304 static const ShBindingType binding_type = Binding;
00305 static const ShSemanticType semantic_type = SH_VECTOR;
00306
00307 typedef ShVector<3, SH_INPUT, T> InputType;
00308 typedef ShVector<3, SH_OUTPUT, T> OutputType;
00309 typedef ShVector<3, SH_INOUT, T> InOutType;
00310 typedef ShVector<3, SH_TEMP, T> TempType;
00311 typedef ShVector<3, SH_CONST, T> ConstType;
00312 ShVector();
00313
00314 template<typename T2>
00315 ShVector(const ShGeneric<3, T2>& other);
00316 ShVector(const ShVector<3, Binding, T, Swizzled>& other);
00317
00318 template<typename T2>
00319 ShVector(const ShVector<3, Binding, T2, Swizzled>& other);
00320 ShVector(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00321 explicit ShVector(host_type data[3]);
00322
00323 ShVector(host_type, host_type, host_type);
00324 template<typename T2, typename T3, typename T4>
00325 ShVector(const ShGeneric<1, T2>&, const ShGeneric<1, T3>&, const ShGeneric<1, T4>&);
00326
00327 ~ShVector();
00328
00329
00330 template<typename T2>
00331 ShVector& operator=(const ShGeneric<3, T2>& other);
00332
00333 template<typename T2>
00334 ShVector& operator=(const ShVector<3, Binding, T2, Swizzled>& other);
00335 ShVector& operator=(const ShVector<3, Binding, T, Swizzled>& other);
00336
00337 ShVector& operator=(const ShProgram& prg);
00338
00339
00340 template<typename T2>
00341 ShVector& operator+=(const ShGeneric<3, T2>& right);
00342
00343 template<typename T2>
00344 ShVector& operator-=(const ShGeneric<3, T2>& right);
00345
00346 template<typename T2>
00347 ShVector& operator*=(const ShGeneric<3, T2>& right);
00348
00349 template<typename T2>
00350 ShVector& operator/=(const ShGeneric<3, T2>& right);
00351
00352 template<typename T2>
00353 ShVector& operator%=(const ShGeneric<3, T2>& right);
00354 ShVector& operator*=(host_type);
00355 ShVector& operator/=(host_type);
00356 ShVector& operator%=(host_type);
00357 ShVector& operator+=(host_type);
00358 ShVector& operator-=(host_type);
00359
00360 template<typename T2>
00361 ShVector& operator+=(const ShGeneric<1, T2>&);
00362
00363 template<typename T2>
00364 ShVector& operator-=(const ShGeneric<1, T2>&);
00365
00366 template<typename T2>
00367 ShVector& operator*=(const ShGeneric<1, T2>&);
00368
00369 template<typename T2>
00370 ShVector& operator/=(const ShGeneric<1, T2>&);
00371
00372 template<typename T2>
00373 ShVector& operator%=(const ShGeneric<1, T2>&);
00374 ShVector<1, Binding, T, true> operator()(int) const;
00375 ShVector<2, Binding, T, true> operator()(int, int) const;
00376 ShVector<3, Binding, T, true> operator()(int, int, int) const;
00377 ShVector<4, Binding, T, true> operator()(int, int, int, int) const;
00378 ShVector<1, Binding, T, true> operator[](int) const;
00379
00380 template<int N2>
00381 ShVector<N2, Binding, T, true> swiz(int indices[]) const;
00382
00383 ShVector operator-() const;
00384 private:
00385 typedef ShAttrib<3, Binding, T, Swizzled> ParentType;
00386 };
00387
00388 template<ShBindingType Binding, typename T, bool Swizzled>
00389 class ShVector<4, Binding, T, Swizzled> : public ShAttrib<4, Binding, T, Swizzled> {
00390 public:
00391 typedef T storage_type;
00392 typedef typename ShHostType<T>::type host_type;
00393 typedef typename ShMemType<T>::type mem_type;
00394 static const ShBindingType binding_type = Binding;
00395 static const ShSemanticType semantic_type = SH_VECTOR;
00396
00397 typedef ShVector<4, SH_INPUT, T> InputType;
00398 typedef ShVector<4, SH_OUTPUT, T> OutputType;
00399 typedef ShVector<4, SH_INOUT, T> InOutType;
00400 typedef ShVector<4, SH_TEMP, T> TempType;
00401 typedef ShVector<4, SH_CONST, T> ConstType;
00402 ShVector();
00403
00404 template<typename T2>
00405 ShVector(const ShGeneric<4, T2>& other);
00406 ShVector(const ShVector<4, Binding, T, Swizzled>& other);
00407
00408 template<typename T2>
00409 ShVector(const ShVector<4, Binding, T2, Swizzled>& other);
00410 ShVector(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00411 explicit ShVector(host_type data[4]);
00412
00413 ShVector(host_type, host_type, host_type, host_type);
00414 template<typename T2, typename T3, typename T4, typename T5>
00415 ShVector(const ShGeneric<1, T2>&, const ShGeneric<1, T3>&, const ShGeneric<1, T4>&, const ShGeneric<1, T5>&);
00416
00417 ~ShVector();
00418
00419
00420 template<typename T2>
00421 ShVector& operator=(const ShGeneric<4, T2>& other);
00422
00423 template<typename T2>
00424 ShVector& operator=(const ShVector<4, Binding, T2, Swizzled>& other);
00425 ShVector& operator=(const ShVector<4, Binding, T, Swizzled>& other);
00426
00427 ShVector& operator=(const ShProgram& prg);
00428
00429
00430 template<typename T2>
00431 ShVector& operator+=(const ShGeneric<4, T2>& right);
00432
00433 template<typename T2>
00434 ShVector& operator-=(const ShGeneric<4, T2>& right);
00435
00436 template<typename T2>
00437 ShVector& operator*=(const ShGeneric<4, T2>& right);
00438
00439 template<typename T2>
00440 ShVector& operator/=(const ShGeneric<4, T2>& right);
00441
00442 template<typename T2>
00443 ShVector& operator%=(const ShGeneric<4, T2>& right);
00444 ShVector& operator*=(host_type);
00445 ShVector& operator/=(host_type);
00446 ShVector& operator%=(host_type);
00447 ShVector& operator+=(host_type);
00448 ShVector& operator-=(host_type);
00449
00450 template<typename T2>
00451 ShVector& operator+=(const ShGeneric<1, T2>&);
00452
00453 template<typename T2>
00454 ShVector& operator-=(const ShGeneric<1, T2>&);
00455
00456 template<typename T2>
00457 ShVector& operator*=(const ShGeneric<1, T2>&);
00458
00459 template<typename T2>
00460 ShVector& operator/=(const ShGeneric<1, T2>&);
00461
00462 template<typename T2>
00463 ShVector& operator%=(const ShGeneric<1, T2>&);
00464 ShVector<1, Binding, T, true> operator()(int) const;
00465 ShVector<2, Binding, T, true> operator()(int, int) const;
00466 ShVector<3, Binding, T, true> operator()(int, int, int) const;
00467 ShVector<4, Binding, T, true> operator()(int, int, int, int) const;
00468 ShVector<1, Binding, T, true> operator[](int) const;
00469
00470 template<int N2>
00471 ShVector<N2, Binding, T, true> swiz(int indices[]) const;
00472
00473 ShVector operator-() const;
00474 private:
00475 typedef ShAttrib<4, Binding, T, Swizzled> ParentType;
00476 };
00477
00478 typedef ShVector<1, SH_INPUT, ShInterval<double> > ShInputVector1i_d;
00479 typedef ShVector<1, SH_OUTPUT, ShInterval<double> > ShOutputVector1i_d;
00480 typedef ShVector<1, SH_INOUT, ShInterval<double> > ShInOutVector1i_d;
00481 typedef ShVector<1, SH_TEMP, ShInterval<double> > ShVector1i_d;
00482 typedef ShVector<1, SH_CONST, ShInterval<double> > ShConstVector1i_d;
00483 typedef ShVector<2, SH_INPUT, ShInterval<double> > ShInputVector2i_d;
00484 typedef ShVector<2, SH_OUTPUT, ShInterval<double> > ShOutputVector2i_d;
00485 typedef ShVector<2, SH_INOUT, ShInterval<double> > ShInOutVector2i_d;
00486 typedef ShVector<2, SH_TEMP, ShInterval<double> > ShVector2i_d;
00487 typedef ShVector<2, SH_CONST, ShInterval<double> > ShConstVector2i_d;
00488 typedef ShVector<3, SH_INPUT, ShInterval<double> > ShInputVector3i_d;
00489 typedef ShVector<3, SH_OUTPUT, ShInterval<double> > ShOutputVector3i_d;
00490 typedef ShVector<3, SH_INOUT, ShInterval<double> > ShInOutVector3i_d;
00491 typedef ShVector<3, SH_TEMP, ShInterval<double> > ShVector3i_d;
00492 typedef ShVector<3, SH_CONST, ShInterval<double> > ShConstVector3i_d;
00493 typedef ShVector<4, SH_INPUT, ShInterval<double> > ShInputVector4i_d;
00494 typedef ShVector<4, SH_OUTPUT, ShInterval<double> > ShOutputVector4i_d;
00495 typedef ShVector<4, SH_INOUT, ShInterval<double> > ShInOutVector4i_d;
00496 typedef ShVector<4, SH_TEMP, ShInterval<double> > ShVector4i_d;
00497 typedef ShVector<4, SH_CONST, ShInterval<double> > ShConstVector4i_d;
00498
00499
00500 typedef ShVector<1, SH_INPUT, ShFracUShort> ShInputVector1fus;
00501 typedef ShVector<1, SH_OUTPUT, ShFracUShort> ShOutputVector1fus;
00502 typedef ShVector<1, SH_INOUT, ShFracUShort> ShInOutVector1fus;
00503 typedef ShVector<1, SH_TEMP, ShFracUShort> ShVector1fus;
00504 typedef ShVector<1, SH_CONST, ShFracUShort> ShConstVector1fus;
00505 typedef ShVector<2, SH_INPUT, ShFracUShort> ShInputVector2fus;
00506 typedef ShVector<2, SH_OUTPUT, ShFracUShort> ShOutputVector2fus;
00507 typedef ShVector<2, SH_INOUT, ShFracUShort> ShInOutVector2fus;
00508 typedef ShVector<2, SH_TEMP, ShFracUShort> ShVector2fus;
00509 typedef ShVector<2, SH_CONST, ShFracUShort> ShConstVector2fus;
00510 typedef ShVector<3, SH_INPUT, ShFracUShort> ShInputVector3fus;
00511 typedef ShVector<3, SH_OUTPUT, ShFracUShort> ShOutputVector3fus;
00512 typedef ShVector<3, SH_INOUT, ShFracUShort> ShInOutVector3fus;
00513 typedef ShVector<3, SH_TEMP, ShFracUShort> ShVector3fus;
00514 typedef ShVector<3, SH_CONST, ShFracUShort> ShConstVector3fus;
00515 typedef ShVector<4, SH_INPUT, ShFracUShort> ShInputVector4fus;
00516 typedef ShVector<4, SH_OUTPUT, ShFracUShort> ShOutputVector4fus;
00517 typedef ShVector<4, SH_INOUT, ShFracUShort> ShInOutVector4fus;
00518 typedef ShVector<4, SH_TEMP, ShFracUShort> ShVector4fus;
00519 typedef ShVector<4, SH_CONST, ShFracUShort> ShConstVector4fus;
00520
00521
00522 typedef ShVector<1, SH_INPUT, short> ShInputVector1s;
00523 typedef ShVector<1, SH_OUTPUT, short> ShOutputVector1s;
00524 typedef ShVector<1, SH_INOUT, short> ShInOutVector1s;
00525 typedef ShVector<1, SH_TEMP, short> ShVector1s;
00526 typedef ShVector<1, SH_CONST, short> ShConstVector1s;
00527 typedef ShVector<2, SH_INPUT, short> ShInputVector2s;
00528 typedef ShVector<2, SH_OUTPUT, short> ShOutputVector2s;
00529 typedef ShVector<2, SH_INOUT, short> ShInOutVector2s;
00530 typedef ShVector<2, SH_TEMP, short> ShVector2s;
00531 typedef ShVector<2, SH_CONST, short> ShConstVector2s;
00532 typedef ShVector<3, SH_INPUT, short> ShInputVector3s;
00533 typedef ShVector<3, SH_OUTPUT, short> ShOutputVector3s;
00534 typedef ShVector<3, SH_INOUT, short> ShInOutVector3s;
00535 typedef ShVector<3, SH_TEMP, short> ShVector3s;
00536 typedef ShVector<3, SH_CONST, short> ShConstVector3s;
00537 typedef ShVector<4, SH_INPUT, short> ShInputVector4s;
00538 typedef ShVector<4, SH_OUTPUT, short> ShOutputVector4s;
00539 typedef ShVector<4, SH_INOUT, short> ShInOutVector4s;
00540 typedef ShVector<4, SH_TEMP, short> ShVector4s;
00541 typedef ShVector<4, SH_CONST, short> ShConstVector4s;
00542
00543
00544 typedef ShVector<1, SH_INPUT, ShFracUInt> ShInputVector1fui;
00545 typedef ShVector<1, SH_OUTPUT, ShFracUInt> ShOutputVector1fui;
00546 typedef ShVector<1, SH_INOUT, ShFracUInt> ShInOutVector1fui;
00547 typedef ShVector<1, SH_TEMP, ShFracUInt> ShVector1fui;
00548 typedef ShVector<1, SH_CONST, ShFracUInt> ShConstVector1fui;
00549 typedef ShVector<2, SH_INPUT, ShFracUInt> ShInputVector2fui;
00550 typedef ShVector<2, SH_OUTPUT, ShFracUInt> ShOutputVector2fui;
00551 typedef ShVector<2, SH_INOUT, ShFracUInt> ShInOutVector2fui;
00552 typedef ShVector<2, SH_TEMP, ShFracUInt> ShVector2fui;
00553 typedef ShVector<2, SH_CONST, ShFracUInt> ShConstVector2fui;
00554 typedef ShVector<3, SH_INPUT, ShFracUInt> ShInputVector3fui;
00555 typedef ShVector<3, SH_OUTPUT, ShFracUInt> ShOutputVector3fui;
00556 typedef ShVector<3, SH_INOUT, ShFracUInt> ShInOutVector3fui;
00557 typedef ShVector<3, SH_TEMP, ShFracUInt> ShVector3fui;
00558 typedef ShVector<3, SH_CONST, ShFracUInt> ShConstVector3fui;
00559 typedef ShVector<4, SH_INPUT, ShFracUInt> ShInputVector4fui;
00560 typedef ShVector<4, SH_OUTPUT, ShFracUInt> ShOutputVector4fui;
00561 typedef ShVector<4, SH_INOUT, ShFracUInt> ShInOutVector4fui;
00562 typedef ShVector<4, SH_TEMP, ShFracUInt> ShVector4fui;
00563 typedef ShVector<4, SH_CONST, ShFracUInt> ShConstVector4fui;
00564
00565
00566 typedef ShVector<1, SH_INPUT, ShFracByte> ShInputVector1fb;
00567 typedef ShVector<1, SH_OUTPUT, ShFracByte> ShOutputVector1fb;
00568 typedef ShVector<1, SH_INOUT, ShFracByte> ShInOutVector1fb;
00569 typedef ShVector<1, SH_TEMP, ShFracByte> ShVector1fb;
00570 typedef ShVector<1, SH_CONST, ShFracByte> ShConstVector1fb;
00571 typedef ShVector<2, SH_INPUT, ShFracByte> ShInputVector2fb;
00572 typedef ShVector<2, SH_OUTPUT, ShFracByte> ShOutputVector2fb;
00573 typedef ShVector<2, SH_INOUT, ShFracByte> ShInOutVector2fb;
00574 typedef ShVector<2, SH_TEMP, ShFracByte> ShVector2fb;
00575 typedef ShVector<2, SH_CONST, ShFracByte> ShConstVector2fb;
00576 typedef ShVector<3, SH_INPUT, ShFracByte> ShInputVector3fb;
00577 typedef ShVector<3, SH_OUTPUT, ShFracByte> ShOutputVector3fb;
00578 typedef ShVector<3, SH_INOUT, ShFracByte> ShInOutVector3fb;
00579 typedef ShVector<3, SH_TEMP, ShFracByte> ShVector3fb;
00580 typedef ShVector<3, SH_CONST, ShFracByte> ShConstVector3fb;
00581 typedef ShVector<4, SH_INPUT, ShFracByte> ShInputVector4fb;
00582 typedef ShVector<4, SH_OUTPUT, ShFracByte> ShOutputVector4fb;
00583 typedef ShVector<4, SH_INOUT, ShFracByte> ShInOutVector4fb;
00584 typedef ShVector<4, SH_TEMP, ShFracByte> ShVector4fb;
00585 typedef ShVector<4, SH_CONST, ShFracByte> ShConstVector4fb;
00586
00587
00588 typedef ShVector<1, SH_INPUT, int> ShInputVector1i;
00589 typedef ShVector<1, SH_OUTPUT, int> ShOutputVector1i;
00590 typedef ShVector<1, SH_INOUT, int> ShInOutVector1i;
00591 typedef ShVector<1, SH_TEMP, int> ShVector1i;
00592 typedef ShVector<1, SH_CONST, int> ShConstVector1i;
00593 typedef ShVector<2, SH_INPUT, int> ShInputVector2i;
00594 typedef ShVector<2, SH_OUTPUT, int> ShOutputVector2i;
00595 typedef ShVector<2, SH_INOUT, int> ShInOutVector2i;
00596 typedef ShVector<2, SH_TEMP, int> ShVector2i;
00597 typedef ShVector<2, SH_CONST, int> ShConstVector2i;
00598 typedef ShVector<3, SH_INPUT, int> ShInputVector3i;
00599 typedef ShVector<3, SH_OUTPUT, int> ShOutputVector3i;
00600 typedef ShVector<3, SH_INOUT, int> ShInOutVector3i;
00601 typedef ShVector<3, SH_TEMP, int> ShVector3i;
00602 typedef ShVector<3, SH_CONST, int> ShConstVector3i;
00603 typedef ShVector<4, SH_INPUT, int> ShInputVector4i;
00604 typedef ShVector<4, SH_OUTPUT, int> ShOutputVector4i;
00605 typedef ShVector<4, SH_INOUT, int> ShInOutVector4i;
00606 typedef ShVector<4, SH_TEMP, int> ShVector4i;
00607 typedef ShVector<4, SH_CONST, int> ShConstVector4i;
00608
00609
00610 typedef ShVector<1, SH_INPUT, double> ShInputVector1d;
00611 typedef ShVector<1, SH_OUTPUT, double> ShOutputVector1d;
00612 typedef ShVector<1, SH_INOUT, double> ShInOutVector1d;
00613 typedef ShVector<1, SH_TEMP, double> ShVector1d;
00614 typedef ShVector<1, SH_CONST, double> ShConstVector1d;
00615 typedef ShVector<2, SH_INPUT, double> ShInputVector2d;
00616 typedef ShVector<2, SH_OUTPUT, double> ShOutputVector2d;
00617 typedef ShVector<2, SH_INOUT, double> ShInOutVector2d;
00618 typedef ShVector<2, SH_TEMP, double> ShVector2d;
00619 typedef ShVector<2, SH_CONST, double> ShConstVector2d;
00620 typedef ShVector<3, SH_INPUT, double> ShInputVector3d;
00621 typedef ShVector<3, SH_OUTPUT, double> ShOutputVector3d;
00622 typedef ShVector<3, SH_INOUT, double> ShInOutVector3d;
00623 typedef ShVector<3, SH_TEMP, double> ShVector3d;
00624 typedef ShVector<3, SH_CONST, double> ShConstVector3d;
00625 typedef ShVector<4, SH_INPUT, double> ShInputVector4d;
00626 typedef ShVector<4, SH_OUTPUT, double> ShOutputVector4d;
00627 typedef ShVector<4, SH_INOUT, double> ShInOutVector4d;
00628 typedef ShVector<4, SH_TEMP, double> ShVector4d;
00629 typedef ShVector<4, SH_CONST, double> ShConstVector4d;
00630
00631
00632 typedef ShVector<1, SH_INPUT, unsigned char> ShInputVector1ub;
00633 typedef ShVector<1, SH_OUTPUT, unsigned char> ShOutputVector1ub;
00634 typedef ShVector<1, SH_INOUT, unsigned char> ShInOutVector1ub;
00635 typedef ShVector<1, SH_TEMP, unsigned char> ShVector1ub;
00636 typedef ShVector<1, SH_CONST, unsigned char> ShConstVector1ub;
00637 typedef ShVector<2, SH_INPUT, unsigned char> ShInputVector2ub;
00638 typedef ShVector<2, SH_OUTPUT, unsigned char> ShOutputVector2ub;
00639 typedef ShVector<2, SH_INOUT, unsigned char> ShInOutVector2ub;
00640 typedef ShVector<2, SH_TEMP, unsigned char> ShVector2ub;
00641 typedef ShVector<2, SH_CONST, unsigned char> ShConstVector2ub;
00642 typedef ShVector<3, SH_INPUT, unsigned char> ShInputVector3ub;
00643 typedef ShVector<3, SH_OUTPUT, unsigned char> ShOutputVector3ub;
00644 typedef ShVector<3, SH_INOUT, unsigned char> ShInOutVector3ub;
00645 typedef ShVector<3, SH_TEMP, unsigned char> ShVector3ub;
00646 typedef ShVector<3, SH_CONST, unsigned char> ShConstVector3ub;
00647 typedef ShVector<4, SH_INPUT, unsigned char> ShInputVector4ub;
00648 typedef ShVector<4, SH_OUTPUT, unsigned char> ShOutputVector4ub;
00649 typedef ShVector<4, SH_INOUT, unsigned char> ShInOutVector4ub;
00650 typedef ShVector<4, SH_TEMP, unsigned char> ShVector4ub;
00651 typedef ShVector<4, SH_CONST, unsigned char> ShConstVector4ub;
00652
00653
00654 typedef ShVector<1, SH_INPUT, float> ShInputVector1f;
00655 typedef ShVector<1, SH_OUTPUT, float> ShOutputVector1f;
00656 typedef ShVector<1, SH_INOUT, float> ShInOutVector1f;
00657 typedef ShVector<1, SH_TEMP, float> ShVector1f;
00658 typedef ShVector<1, SH_CONST, float> ShConstVector1f;
00659 typedef ShVector<2, SH_INPUT, float> ShInputVector2f;
00660 typedef ShVector<2, SH_OUTPUT, float> ShOutputVector2f;
00661 typedef ShVector<2, SH_INOUT, float> ShInOutVector2f;
00662 typedef ShVector<2, SH_TEMP, float> ShVector2f;
00663 typedef ShVector<2, SH_CONST, float> ShConstVector2f;
00664 typedef ShVector<3, SH_INPUT, float> ShInputVector3f;
00665 typedef ShVector<3, SH_OUTPUT, float> ShOutputVector3f;
00666 typedef ShVector<3, SH_INOUT, float> ShInOutVector3f;
00667 typedef ShVector<3, SH_TEMP, float> ShVector3f;
00668 typedef ShVector<3, SH_CONST, float> ShConstVector3f;
00669 typedef ShVector<4, SH_INPUT, float> ShInputVector4f;
00670 typedef ShVector<4, SH_OUTPUT, float> ShOutputVector4f;
00671 typedef ShVector<4, SH_INOUT, float> ShInOutVector4f;
00672 typedef ShVector<4, SH_TEMP, float> ShVector4f;
00673 typedef ShVector<4, SH_CONST, float> ShConstVector4f;
00674
00675
00676 typedef ShVector<1, SH_INPUT, char> ShInputVector1b;
00677 typedef ShVector<1, SH_OUTPUT, char> ShOutputVector1b;
00678 typedef ShVector<1, SH_INOUT, char> ShInOutVector1b;
00679 typedef ShVector<1, SH_TEMP, char> ShVector1b;
00680 typedef ShVector<1, SH_CONST, char> ShConstVector1b;
00681 typedef ShVector<2, SH_INPUT, char> ShInputVector2b;
00682 typedef ShVector<2, SH_OUTPUT, char> ShOutputVector2b;
00683 typedef ShVector<2, SH_INOUT, char> ShInOutVector2b;
00684 typedef ShVector<2, SH_TEMP, char> ShVector2b;
00685 typedef ShVector<2, SH_CONST, char> ShConstVector2b;
00686 typedef ShVector<3, SH_INPUT, char> ShInputVector3b;
00687 typedef ShVector<3, SH_OUTPUT, char> ShOutputVector3b;
00688 typedef ShVector<3, SH_INOUT, char> ShInOutVector3b;
00689 typedef ShVector<3, SH_TEMP, char> ShVector3b;
00690 typedef ShVector<3, SH_CONST, char> ShConstVector3b;
00691 typedef ShVector<4, SH_INPUT, char> ShInputVector4b;
00692 typedef ShVector<4, SH_OUTPUT, char> ShOutputVector4b;
00693 typedef ShVector<4, SH_INOUT, char> ShInOutVector4b;
00694 typedef ShVector<4, SH_TEMP, char> ShVector4b;
00695 typedef ShVector<4, SH_CONST, char> ShConstVector4b;
00696
00697
00698 typedef ShVector<1, SH_INPUT, unsigned short> ShInputVector1us;
00699 typedef ShVector<1, SH_OUTPUT, unsigned short> ShOutputVector1us;
00700 typedef ShVector<1, SH_INOUT, unsigned short> ShInOutVector1us;
00701 typedef ShVector<1, SH_TEMP, unsigned short> ShVector1us;
00702 typedef ShVector<1, SH_CONST, unsigned short> ShConstVector1us;
00703 typedef ShVector<2, SH_INPUT, unsigned short> ShInputVector2us;
00704 typedef ShVector<2, SH_OUTPUT, unsigned short> ShOutputVector2us;
00705 typedef ShVector<2, SH_INOUT, unsigned short> ShInOutVector2us;
00706 typedef ShVector<2, SH_TEMP, unsigned short> ShVector2us;
00707 typedef ShVector<2, SH_CONST, unsigned short> ShConstVector2us;
00708 typedef ShVector<3, SH_INPUT, unsigned short> ShInputVector3us;
00709 typedef ShVector<3, SH_OUTPUT, unsigned short> ShOutputVector3us;
00710 typedef ShVector<3, SH_INOUT, unsigned short> ShInOutVector3us;
00711 typedef ShVector<3, SH_TEMP, unsigned short> ShVector3us;
00712 typedef ShVector<3, SH_CONST, unsigned short> ShConstVector3us;
00713 typedef ShVector<4, SH_INPUT, unsigned short> ShInputVector4us;
00714 typedef ShVector<4, SH_OUTPUT, unsigned short> ShOutputVector4us;
00715 typedef ShVector<4, SH_INOUT, unsigned short> ShInOutVector4us;
00716 typedef ShVector<4, SH_TEMP, unsigned short> ShVector4us;
00717 typedef ShVector<4, SH_CONST, unsigned short> ShConstVector4us;
00718
00719
00720 typedef ShVector<1, SH_INPUT, ShFracUByte> ShInputVector1fub;
00721 typedef ShVector<1, SH_OUTPUT, ShFracUByte> ShOutputVector1fub;
00722 typedef ShVector<1, SH_INOUT, ShFracUByte> ShInOutVector1fub;
00723 typedef ShVector<1, SH_TEMP, ShFracUByte> ShVector1fub;
00724 typedef ShVector<1, SH_CONST, ShFracUByte> ShConstVector1fub;
00725 typedef ShVector<2, SH_INPUT, ShFracUByte> ShInputVector2fub;
00726 typedef ShVector<2, SH_OUTPUT, ShFracUByte> ShOutputVector2fub;
00727 typedef ShVector<2, SH_INOUT, ShFracUByte> ShInOutVector2fub;
00728 typedef ShVector<2, SH_TEMP, ShFracUByte> ShVector2fub;
00729 typedef ShVector<2, SH_CONST, ShFracUByte> ShConstVector2fub;
00730 typedef ShVector<3, SH_INPUT, ShFracUByte> ShInputVector3fub;
00731 typedef ShVector<3, SH_OUTPUT, ShFracUByte> ShOutputVector3fub;
00732 typedef ShVector<3, SH_INOUT, ShFracUByte> ShInOutVector3fub;
00733 typedef ShVector<3, SH_TEMP, ShFracUByte> ShVector3fub;
00734 typedef ShVector<3, SH_CONST, ShFracUByte> ShConstVector3fub;
00735 typedef ShVector<4, SH_INPUT, ShFracUByte> ShInputVector4fub;
00736 typedef ShVector<4, SH_OUTPUT, ShFracUByte> ShOutputVector4fub;
00737 typedef ShVector<4, SH_INOUT, ShFracUByte> ShInOutVector4fub;
00738 typedef ShVector<4, SH_TEMP, ShFracUByte> ShVector4fub;
00739 typedef ShVector<4, SH_CONST, ShFracUByte> ShConstVector4fub;
00740
00741
00742 typedef ShVector<1, SH_INPUT, ShHalf> ShInputVector1h;
00743 typedef ShVector<1, SH_OUTPUT, ShHalf> ShOutputVector1h;
00744 typedef ShVector<1, SH_INOUT, ShHalf> ShInOutVector1h;
00745 typedef ShVector<1, SH_TEMP, ShHalf> ShVector1h;
00746 typedef ShVector<1, SH_CONST, ShHalf> ShConstVector1h;
00747 typedef ShVector<2, SH_INPUT, ShHalf> ShInputVector2h;
00748 typedef ShVector<2, SH_OUTPUT, ShHalf> ShOutputVector2h;
00749 typedef ShVector<2, SH_INOUT, ShHalf> ShInOutVector2h;
00750 typedef ShVector<2, SH_TEMP, ShHalf> ShVector2h;
00751 typedef ShVector<2, SH_CONST, ShHalf> ShConstVector2h;
00752 typedef ShVector<3, SH_INPUT, ShHalf> ShInputVector3h;
00753 typedef ShVector<3, SH_OUTPUT, ShHalf> ShOutputVector3h;
00754 typedef ShVector<3, SH_INOUT, ShHalf> ShInOutVector3h;
00755 typedef ShVector<3, SH_TEMP, ShHalf> ShVector3h;
00756 typedef ShVector<3, SH_CONST, ShHalf> ShConstVector3h;
00757 typedef ShVector<4, SH_INPUT, ShHalf> ShInputVector4h;
00758 typedef ShVector<4, SH_OUTPUT, ShHalf> ShOutputVector4h;
00759 typedef ShVector<4, SH_INOUT, ShHalf> ShInOutVector4h;
00760 typedef ShVector<4, SH_TEMP, ShHalf> ShVector4h;
00761 typedef ShVector<4, SH_CONST, ShHalf> ShConstVector4h;
00762
00763
00764 typedef ShVector<1, SH_INPUT, ShInterval<float> > ShInputVector1i_f;
00765 typedef ShVector<1, SH_OUTPUT, ShInterval<float> > ShOutputVector1i_f;
00766 typedef ShVector<1, SH_INOUT, ShInterval<float> > ShInOutVector1i_f;
00767 typedef ShVector<1, SH_TEMP, ShInterval<float> > ShVector1i_f;
00768 typedef ShVector<1, SH_CONST, ShInterval<float> > ShConstVector1i_f;
00769 typedef ShVector<2, SH_INPUT, ShInterval<float> > ShInputVector2i_f;
00770 typedef ShVector<2, SH_OUTPUT, ShInterval<float> > ShOutputVector2i_f;
00771 typedef ShVector<2, SH_INOUT, ShInterval<float> > ShInOutVector2i_f;
00772 typedef ShVector<2, SH_TEMP, ShInterval<float> > ShVector2i_f;
00773 typedef ShVector<2, SH_CONST, ShInterval<float> > ShConstVector2i_f;
00774 typedef ShVector<3, SH_INPUT, ShInterval<float> > ShInputVector3i_f;
00775 typedef ShVector<3, SH_OUTPUT, ShInterval<float> > ShOutputVector3i_f;
00776 typedef ShVector<3, SH_INOUT, ShInterval<float> > ShInOutVector3i_f;
00777 typedef ShVector<3, SH_TEMP, ShInterval<float> > ShVector3i_f;
00778 typedef ShVector<3, SH_CONST, ShInterval<float> > ShConstVector3i_f;
00779 typedef ShVector<4, SH_INPUT, ShInterval<float> > ShInputVector4i_f;
00780 typedef ShVector<4, SH_OUTPUT, ShInterval<float> > ShOutputVector4i_f;
00781 typedef ShVector<4, SH_INOUT, ShInterval<float> > ShInOutVector4i_f;
00782 typedef ShVector<4, SH_TEMP, ShInterval<float> > ShVector4i_f;
00783 typedef ShVector<4, SH_CONST, ShInterval<float> > ShConstVector4i_f;
00784
00785
00786 typedef ShVector<1, SH_INPUT, ShFracShort> ShInputVector1fs;
00787 typedef ShVector<1, SH_OUTPUT, ShFracShort> ShOutputVector1fs;
00788 typedef ShVector<1, SH_INOUT, ShFracShort> ShInOutVector1fs;
00789 typedef ShVector<1, SH_TEMP, ShFracShort> ShVector1fs;
00790 typedef ShVector<1, SH_CONST, ShFracShort> ShConstVector1fs;
00791 typedef ShVector<2, SH_INPUT, ShFracShort> ShInputVector2fs;
00792 typedef ShVector<2, SH_OUTPUT, ShFracShort> ShOutputVector2fs;
00793 typedef ShVector<2, SH_INOUT, ShFracShort> ShInOutVector2fs;
00794 typedef ShVector<2, SH_TEMP, ShFracShort> ShVector2fs;
00795 typedef ShVector<2, SH_CONST, ShFracShort> ShConstVector2fs;
00796 typedef ShVector<3, SH_INPUT, ShFracShort> ShInputVector3fs;
00797 typedef ShVector<3, SH_OUTPUT, ShFracShort> ShOutputVector3fs;
00798 typedef ShVector<3, SH_INOUT, ShFracShort> ShInOutVector3fs;
00799 typedef ShVector<3, SH_TEMP, ShFracShort> ShVector3fs;
00800 typedef ShVector<3, SH_CONST, ShFracShort> ShConstVector3fs;
00801 typedef ShVector<4, SH_INPUT, ShFracShort> ShInputVector4fs;
00802 typedef ShVector<4, SH_OUTPUT, ShFracShort> ShOutputVector4fs;
00803 typedef ShVector<4, SH_INOUT, ShFracShort> ShInOutVector4fs;
00804 typedef ShVector<4, SH_TEMP, ShFracShort> ShVector4fs;
00805 typedef ShVector<4, SH_CONST, ShFracShort> ShConstVector4fs;
00806
00807
00808 typedef ShVector<1, SH_INPUT, ShFracInt> ShInputVector1fi;
00809 typedef ShVector<1, SH_OUTPUT, ShFracInt> ShOutputVector1fi;
00810 typedef ShVector<1, SH_INOUT, ShFracInt> ShInOutVector1fi;
00811 typedef ShVector<1, SH_TEMP, ShFracInt> ShVector1fi;
00812 typedef ShVector<1, SH_CONST, ShFracInt> ShConstVector1fi;
00813 typedef ShVector<2, SH_INPUT, ShFracInt> ShInputVector2fi;
00814 typedef ShVector<2, SH_OUTPUT, ShFracInt> ShOutputVector2fi;
00815 typedef ShVector<2, SH_INOUT, ShFracInt> ShInOutVector2fi;
00816 typedef ShVector<2, SH_TEMP, ShFracInt> ShVector2fi;
00817 typedef ShVector<2, SH_CONST, ShFracInt> ShConstVector2fi;
00818 typedef ShVector<3, SH_INPUT, ShFracInt> ShInputVector3fi;
00819 typedef ShVector<3, SH_OUTPUT, ShFracInt> ShOutputVector3fi;
00820 typedef ShVector<3, SH_INOUT, ShFracInt> ShInOutVector3fi;
00821 typedef ShVector<3, SH_TEMP, ShFracInt> ShVector3fi;
00822 typedef ShVector<3, SH_CONST, ShFracInt> ShConstVector3fi;
00823 typedef ShVector<4, SH_INPUT, ShFracInt> ShInputVector4fi;
00824 typedef ShVector<4, SH_OUTPUT, ShFracInt> ShOutputVector4fi;
00825 typedef ShVector<4, SH_INOUT, ShFracInt> ShInOutVector4fi;
00826 typedef ShVector<4, SH_TEMP, ShFracInt> ShVector4fi;
00827 typedef ShVector<4, SH_CONST, ShFracInt> ShConstVector4fi;
00828
00829
00830 typedef ShVector<1, SH_INPUT, unsigned int> ShInputVector1ui;
00831 typedef ShVector<1, SH_OUTPUT, unsigned int> ShOutputVector1ui;
00832 typedef ShVector<1, SH_INOUT, unsigned int> ShInOutVector1ui;
00833 typedef ShVector<1, SH_TEMP, unsigned int> ShVector1ui;
00834 typedef ShVector<1, SH_CONST, unsigned int> ShConstVector1ui;
00835 typedef ShVector<2, SH_INPUT, unsigned int> ShInputVector2ui;
00836 typedef ShVector<2, SH_OUTPUT, unsigned int> ShOutputVector2ui;
00837 typedef ShVector<2, SH_INOUT, unsigned int> ShInOutVector2ui;
00838 typedef ShVector<2, SH_TEMP, unsigned int> ShVector2ui;
00839 typedef ShVector<2, SH_CONST, unsigned int> ShConstVector2ui;
00840 typedef ShVector<3, SH_INPUT, unsigned int> ShInputVector3ui;
00841 typedef ShVector<3, SH_OUTPUT, unsigned int> ShOutputVector3ui;
00842 typedef ShVector<3, SH_INOUT, unsigned int> ShInOutVector3ui;
00843 typedef ShVector<3, SH_TEMP, unsigned int> ShVector3ui;
00844 typedef ShVector<3, SH_CONST, unsigned int> ShConstVector3ui;
00845 typedef ShVector<4, SH_INPUT, unsigned int> ShInputVector4ui;
00846 typedef ShVector<4, SH_OUTPUT, unsigned int> ShOutputVector4ui;
00847 typedef ShVector<4, SH_INOUT, unsigned int> ShInOutVector4ui;
00848 typedef ShVector<4, SH_TEMP, unsigned int> ShVector4ui;
00849 typedef ShVector<4, SH_CONST, unsigned int> ShConstVector4ui;
00850
00851
00852
00853 }
00854 #include "ShVectorImpl.hpp"
00855
00856 #endif // SH_SHVECTOR_HPP