1/* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2
3Licensed under the Apache License, Version 2.0 (the "License");
4you may not use this file except in compliance with the License.
5You may obtain a copy of the License at
6
7 http://www.apache.org/licenses/LICENSE-2.0
8
9Unless required by applicable law or agreed to in writing, software
10distributed under the License is distributed on an "AS IS" BASIS,
11WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12See the License for the specific language governing permissions and
13limitations under the License.
14==============================================================================*/
15
16#ifndef TENSORFLOW_TSL_PLATFORM_BYTE_ORDER_H_
17#define TENSORFLOW_TSL_PLATFORM_BYTE_ORDER_H_
18
19// Byte order defines provided by gcc. MSVC doesn't define those so
20// we define them here.
21// We assume that all windows platform out there are little endian.
22#if defined(_MSC_VER) && !defined(__clang__)
23#define __ORDER_LITTLE_ENDIAN__ 0x4d2
24#define __ORDER_BIG_ENDIAN__ 0x10e1
25#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
26#endif
27
28namespace tsl {
29namespace port {
30
31// TODO(jeff,sanjay): Make portable
32constexpr bool kLittleEndian = __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__;
33
34} // namespace port
35} // namespace tsl
36
37#endif // TENSORFLOW_TSL_PLATFORM_BYTE_ORDER_H_
38