00001 #ifndef vnl_T_n_h_
00002 #define vnl_T_n_h_
00003
00004
00005
00006
00007
00008 #include <vnl/vnl_vector_fixed.h>
00009
00010
00011
00012
00013
00014
00015
00016
00017 #define vnl_T_n_aux_1(T) (T x) { data[0] = x; }
00018 #define vnl_T_n_aux_2(T) (T x, T y) { data[0] = x; data[1] = y; }
00019 #define vnl_T_n_aux_3(T) (T x, T y, T z) { data[0] = x; data[1] = y; data[2] = z; }
00020 #define vnl_T_n_aux_4(T) (T x, T y, T z, T w) { data[0] = x; data[1] = y; data[2] = z; data[3] = w; }
00021
00022
00023
00024 #define vnl_T_n_class_impl(T,n) \
00025 class vnl_##T##_##n : public vnl_vector_fixed<T ,n> { \
00026 public: \
00027 vnl_##T##_##n() { } \
00028 vnl_##T##_##n(vnl_vector<T > const & rhs) : vnl_vector_fixed<T ,n>(rhs) { } \
00029 vnl_##T##_##n(vnl_vector_fixed<T ,n> const & rhs) : vnl_vector_fixed<T ,n>(rhs) { } \
00030 vnl_##T##_##n vnl_T_n_aux_##n(T) \
00031 };
00032
00033
00034 #define vnl_T_n_funcs_impl(T,n)
00035
00036
00037 #define vnl_T_n_impl(T,n) \
00038 vnl_T_n_class_impl(T,n) \
00039 vnl_T_n_funcs_impl(T,n)
00040
00041 #endif // vnl_T_n_h_