half.hpp 799 Bytes
Newer Older
Paul's avatar
Paul committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*=============================================================================
    Copyright (c) 2017 Paul Fultz II
    half.hpp
    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/

#ifndef MIGRAPH_GUARD_RTGLIB_HALF_HPP
#define MIGRAPH_GUARD_RTGLIB_HALF_HPP

#include <half.hpp>

namespace migraph {

using half = half_float::half;

Paul's avatar
Paul committed
17
18
namespace detail {
template <class T>
Paul's avatar
Paul committed
19
20
21
22
23
struct deduce
{
    using type = T;
};

Paul's avatar
Paul committed
24
template <>
Paul's avatar
Paul committed
25
26
27
28
29
30
struct deduce<half_float::detail::expr>
{
    using type = half;
};
} // namespace detail

Paul's avatar
Paul committed
31
template <class T>
Paul's avatar
Paul committed
32
33
34
35
36
using deduce = typename detail::deduce<T>::type;

} // namespace migraph

#endif