1 //---------------------------------------------------------------------------// 2 // Copyright (c) 2013 Kyle Lutz <kyle.r.lutz@gmail.com> 3 // 4 // Distributed under the Boost Software License, Version 1.0 5 // See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt 7 // 8 // See http://boostorg.github.com/compute for more information. 9 //---------------------------------------------------------------------------// 10 11 #ifndef BOOST_COMPUTE_FUNCTIONAL_GEOMETRY_HPP 12 #define BOOST_COMPUTE_FUNCTIONAL_GEOMETRY_HPP 13 14 #include <boost/compute/type_traits.hpp> 15 #include <boost/compute/functional/detail/macros.hpp> 16 17 namespace boost { 18 namespace compute { 19 20 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(cross, T (T, T), class T) 21 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(dot, typename scalar_type<T>::type (T, T), class T) 22 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(distance, typename scalar_type<T>::type (T, T), class T) 23 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fast_distance, typename scalar_type<T>::type (T, T), class T) 24 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(length, typename scalar_type<T>::type (T), class T) 25 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fast_length, typename scalar_type<T>::type (T), class T) 26 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(normalize, T (T), class T) 27 BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fast_normalize, T (T), class T) 28 29 } // end compute namespace 30 } // end boost namespace 31 32 #endif // BOOST_COMPUTE_FUNCTIONAL_GEOMETRY_HPP 33