+typedef cml::constants<Scalar> Constants;
+
+
+inline Vector3 demote(const Vector4& vec)
+{
+ return Vector3(vec[0], vec[1], vec[2]);
+}
+
+inline Vector2 demote(const Vector3& vec)
+{
+ return Vector2(vec[0], vec[1]);
+}
+
+inline Vector4 promote(const Vector3& vec, Scalar extra = 1.0)
+{
+ return Vector4(vec[0], vec[1], vec[2], extra);
+}
+
+inline Vector3 promote(const Vector2& vec, Scalar extra = 1.0)
+{
+ return Vector3(vec[0], vec[1], extra);
+}
+
+