vexcl_algebra_dispatcher.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. [auto_generated]
  3. boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp
  4. [begin_description]
  5. algebra_dispatcher specialization for vexcl
  6. [end_description]
  7. Copyright 2013 Karsten Ahnert
  8. Copyright 2013 Mario Mulansky
  9. Distributed under the Boost Software License, Version 1.0.
  10. (See accompanying file LICENSE_1_0.txt or
  11. copy at http://www.boost.org/LICENSE_1_0.txt)
  12. */
  13. #ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ALGEBRA_DISPATCHER_HPP_DEFINED
  14. #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ALGEBRA_DISPATCHER_HPP_DEFINED
  15. #include <vexcl/vector.hpp>
  16. #include <vexcl/multivector.hpp>
  17. #include <boost/numeric/odeint/algebra/vector_space_algebra.hpp>
  18. #include <boost/numeric/odeint/algebra/algebra_dispatcher.hpp>
  19. namespace boost {
  20. namespace numeric {
  21. namespace odeint {
  22. // specialization for vexcl vector
  23. template< typename T >
  24. struct algebra_dispatcher< vex::vector< T > >
  25. {
  26. typedef vector_space_algebra algebra_type;
  27. };
  28. // specialization for vexcl multivector
  29. template< typename T , size_t N >
  30. struct algebra_dispatcher< vex::multivector< T , N > >
  31. {
  32. typedef vector_space_algebra algebra_type;
  33. };
  34. } // namespace odeint
  35. } // namespace numeric
  36. } // namespace boost
  37. #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ALGEBRA_DISPATCHER_HPP_DEFINED