14bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes/* 24bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * Copyright (C) 2014 The Android Open Source Project 34bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * 44bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * Licensed under the Apache License, Version 2.0 (the "License"); 54bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * you may not use this file except in compliance with the License. 64bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * You may obtain a copy of the License at 74bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * 84bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 94bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * 104bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * Unless required by applicable law or agreed to in writing, software 114bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 124bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * See the License for the specific language governing permissions and 144bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes * limitations under the License. 154bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes */ 164bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 174bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#if __arm__ 184bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 194bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define f_QNAN 0xffffffff 204bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 214bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define d_QNAN0 0xffffffff 224bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define d_QNAN1 0xffffffff 234bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 244bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#elif __mips__ 254bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 264bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define f_QNAN 0x7fbfffff 274bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 284bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define d_QNAN0 0x7ff7ffff 294bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define d_QNAN1 0xffffffff 304bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 314bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#else 324bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 334bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define f_QNAN 0xffc00000 344bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 354bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define d_QNAN0 0x00000000 364bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define d_QNAN1 0xfff80000 374bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 384bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#endif 394bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes 404bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes/* long double. */ 414bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#if __LP64__ 424bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define ld_QNAN0 0x7fff8000 434bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define ld_QNAN1 0x00000000 444bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define ld_QNAN2 0x00000000 454bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#define ld_QNAN3 0x00000000 464bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#else 474bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes/* sizeof(long double) == sizeof(double), so we shouldn't be trying to use these constants. */ 484bd97cee28dd815fff54fc97560be60d566c1fa5Elliott Hughes#endif 49