[mlpack-svn] r10729 - mlpack/trunk/src/mlpack/core/arma_extend
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Dec 12 13:44:35 EST 2011
Author: rcurtin
Date: 2011-12-12 13:44:34 -0500 (Mon, 12 Dec 2011)
New Revision: 10729
Removed:
mlpack/trunk/src/mlpack/core/arma_extend/promote_type.hpp
mlpack/trunk/src/mlpack/core/arma_extend/traits.hpp
mlpack/trunk/src/mlpack/core/arma_extend/typedef.hpp
Modified:
mlpack/trunk/src/mlpack/core/arma_extend/arma_extend.hpp
Log:
These aren't necessary with Armadillo >= 2.4.0.
Modified: mlpack/trunk/src/mlpack/core/arma_extend/arma_extend.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/arma_extend.hpp 2011-12-12 18:28:41 UTC (rev 10728)
+++ mlpack/trunk/src/mlpack/core/arma_extend/arma_extend.hpp 2011-12-12 18:44:34 UTC (rev 10729)
@@ -71,11 +71,6 @@
#endif
namespace arma {
- // 64-bit support
- #include "typedef.hpp" // This has to come first.
- #include "traits.hpp"
- #include "promote_type.hpp"
-
// ccov()
#include "op_ccov_proto.hpp"
#include "op_ccov_meat.hpp"
Deleted: mlpack/trunk/src/mlpack/core/arma_extend/promote_type.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/promote_type.hpp 2011-12-12 18:28:41 UTC (rev 10728)
+++ mlpack/trunk/src/mlpack/core/arma_extend/promote_type.hpp 2011-12-12 18:44:34 UTC (rev 10729)
@@ -1,109 +0,0 @@
-// Extra promote_type definitions until 64-bit index support is added to
-// Armadillo. The syntax was changed for 2.1.91, so we need to be careful about
-// how we do that.
-#if ((ARMA_VERSION_MAJOR > 2)) || \
- ((ARMA_VERSION_MAJOR == 2) && (ARMA_VERSION_MINOR > 1)) || \
- ((ARMA_VERSION_MAJOR == 2) && (ARMA_VERSION_MINOR == 1) && \
- (ARMA_VERSION_PATCH >= 91))
-// The new syntax changed the name of 'promote_type' to 'is_promotable'. We
-// have to update accordingly...
-template<typename T> struct is_promotable<std::complex<T>, s64> : public is_promotable_ok { typedef std::complex<T> result; };
-template<typename T> struct is_promotable<std::complex<T>, u64> : public is_promotable_ok { typedef std::complex<T> result; };
-
-template<> struct is_promotable<double, s64 > : public is_promotable_ok { typedef double result; };
-template<> struct is_promotable<double, u64 > : public is_promotable_ok { typedef double result; };
-
-template<> struct is_promotable<float, s64> : public is_promotable_ok { typedef float result; };
-template<> struct is_promotable<float, u64> : public is_promotable_ok { typedef float result; };
-
-template<> struct is_promotable<s64, u64> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<s64, s32> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<s64, u32> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<s64, s16> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<s64, u16> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<s64, s8 > : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<s64, u8 > : public is_promotable_ok { typedef s64 result; };
-
-template<> struct is_promotable<u64, s32> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<u64, u32> : public is_promotable_ok { typedef u64 result; };
-template<> struct is_promotable<u64, s16> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<u64, u16> : public is_promotable_ok { typedef u64 result; };
-template<> struct is_promotable<u64, s8 > : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<u64, u8 > : public is_promotable_ok { typedef u64 result; };
-
-template<typename T> struct is_promotable<s64, std::complex<T> > : public is_promotable_ok { typedef std::complex<T> result; };
-template<typename T> struct is_promotable<u64, std::complex<T> > : public is_promotable_ok { typedef std::complex<T> result; };
-
-template<> struct is_promotable<s64 , double> : public is_promotable_ok { typedef double result; };
-template<> struct is_promotable<u64 , double> : public is_promotable_ok { typedef double result; };
-
-template<> struct is_promotable<s64, float> : public is_promotable_ok { typedef float result; };
-template<> struct is_promotable<u64, float> : public is_promotable_ok { typedef float result; };
-
-template<> struct is_promotable<u64, s64> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<s32, s64> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<u32, s64> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<s16, s64> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<u16, s64> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<s8 , s64> : public is_promotable_ok { typedef s64 result; };
-template<> struct is_promotable<u8 , s64> : public is_promotable_ok { typedef s64 result; };
-
-template<> struct is_promotable<s32, u64> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<u32, u64> : public is_promotable_ok { typedef u64 result; };
-template<> struct is_promotable<s16, u64> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<u16, u64> : public is_promotable_ok { typedef u64 result; };
-template<> struct is_promotable<s8 , u64> : public is_promotable_ok { typedef s64 result; }; // float ?
-template<> struct is_promotable<u8 , u64> : public is_promotable_ok { typedef u64 result; };
-
-#else
-// The old syntax used the 'promote_type' struct. We just define all of these
-// for u64 and s64.
-template<typename T> struct promote_type<std::complex<T>, s64> : public promote_type_ok { typedef std::complex<T> result; };
-template<typename T> struct promote_type<std::complex<T>, u64> : public promote_type_ok { typedef std::complex<T> result; };
-
-template<> struct promote_type<double, s64 > : public promote_type_ok { typedef double result; };
-template<> struct promote_type<double, u64 > : public promote_type_ok { typedef double result; };
-
-template<> struct promote_type<float, s64> : public promote_type_ok { typedef float result; };
-template<> struct promote_type<float, u64> : public promote_type_ok { typedef float result; };
-
-template<> struct promote_type<s64, u64> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<s64, s32> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<s64, u32> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<s64, s16> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<s64, u16> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<s64, s8 > : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<s64, u8 > : public promote_type_ok { typedef s64 result; };
-
-template<> struct promote_type<u64, s32> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<u64, u32> : public promote_type_ok { typedef u64 result; };
-template<> struct promote_type<u64, s16> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<u64, u16> : public promote_type_ok { typedef u64 result; };
-template<> struct promote_type<u64, s8 > : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<u64, u8 > : public promote_type_ok { typedef u64 result; };
-
-template<typename T> struct promote_type<s64, std::complex<T> > : public promote_type_ok { typedef std::complex<T> result; };
-template<typename T> struct promote_type<u64, std::complex<T> > : public promote_type_ok { typedef std::complex<T> result; };
-
-template<> struct promote_type<s64 , double> : public promote_type_ok { typedef double result; };
-template<> struct promote_type<u64 , double> : public promote_type_ok { typedef double result; };
-
-template<> struct promote_type<s64, float> : public promote_type_ok { typedef float result; };
-template<> struct promote_type<u64, float> : public promote_type_ok { typedef float result; };
-
-template<> struct promote_type<u64, s64> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<s32, s64> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<u32, s64> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<s16, s64> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<u16, s64> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<s8 , s64> : public promote_type_ok { typedef s64 result; };
-template<> struct promote_type<u8 , s64> : public promote_type_ok { typedef s64 result; };
-
-template<> struct promote_type<s32, u64> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<u32, u64> : public promote_type_ok { typedef u64 result; };
-template<> struct promote_type<s16, u64> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<u16, u64> : public promote_type_ok { typedef u64 result; };
-template<> struct promote_type<s8 , u64> : public promote_type_ok { typedef s64 result; }; // float ?
-template<> struct promote_type<u8 , u64> : public promote_type_ok { typedef u64 result; };
-
-#endif
Deleted: mlpack/trunk/src/mlpack/core/arma_extend/traits.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/traits.hpp 2011-12-12 18:28:41 UTC (rev 10728)
+++ mlpack/trunk/src/mlpack/core/arma_extend/traits.hpp 2011-12-12 18:44:34 UTC (rev 10729)
@@ -1,26 +0,0 @@
-// Extra traits to support u64 and s64 until that patch is applied to the
-// Armadillo sources.
-
-#if ARMA_VERSION_MAJOR < 1 || \
- (ARMA_VERSION_MAJOR == 1 && ARMA_VERSION_MINOR <= 2)
-// For old Armadillo versions ( <= 1.2.0 ), all we have to do is define these
-// two structs which say these element types are supported.
-template<> struct isnt_supported_elem_type< u64 > : public isnt_supported_elem_type_false {};
-template<> struct isnt_supported_elem_type< s64 > : public isnt_supported_elem_type_false {};
-
-#else
-// For new Armadillo versions ( > 1.2.0 ) we have to get a little bit more
-// tricky. We will overload the values for the is_supported_elem_type
-// structure, allowing us to redefine it to report success for u64s and s64s.
-template<>
-struct is_supported_elem_type<u64>
- {
- static const bool value = true;
- };
-
-template<>
-struct is_supported_elem_type<s64>
- {
- static const bool value = true;
- };
-#endif
Deleted: mlpack/trunk/src/mlpack/core/arma_extend/typedef.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/arma_extend/typedef.hpp 2011-12-12 18:28:41 UTC (rev 10728)
+++ mlpack/trunk/src/mlpack/core/arma_extend/typedef.hpp 2011-12-12 18:44:34 UTC (rev 10729)
@@ -1,32 +0,0 @@
-// Extensions to typedef u64 and s64 until that support is added into
-// Armadillo. We only need to typedef s64 on Armadillo > 1.2.0.
-
-#if ((ARMA_VERSION_MAJOR > 1)) || \
- ((ARMA_VERSION_MAJOR == 1) && (ARMA_VERSION_MINOR > 2)) || \
- ((ARMA_VERSION_MAJOR == 1) && (ARMA_VERSION_MINOR == 2) && \
- (ARMA_VERSION_PATCH > 0))
- // An unincluded header file typedefs u64 for us.
- #include <armadillo_bits/typedef_u64.hpp>
-
- // We only need to typedef s64.
- #if ULONG_MAX >= 0xffffffffffffffff
- typedef long s64;
- #elif ULLONG_MAX >= 0xffffffffffffffff
- typedef long s64;
- #else
- #error "don't know how to typedef 's64' on this system"
- #endif
-#else
-
- // We must typedef both u64 and s64.
- #if ULONG_MAX >= 0xffffffffffffffff
- typedef unsigned long u64;
- typedef long s64;
- #elif ULLONG_MAX >= 0xffffffffffffffff
- typedef unsigned long long u64;
- typedef long long s64;
- #else
- #error "don't know how to typedef 'u64' on this system"
- #endif
-
-#endif
More information about the mlpack-svn
mailing list