/* * Copyright 2014 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkHalf_DEFINED #define SkHalf_DEFINED #include "SkTypes.h" // 16-bit floating point value // format is 1 bit sign, 5 bits exponent, 10 bits mantissa // only used for storage typedef uint16_t SkHalf; #define SK_HalfMin 0x0400 // 2^-24 (minimum positive normal value) #define SK_HalfMax 0x7bff // 65504 #define SK_HalfEpsilon 0x1400 // 2^-10 // convert between half and single precision floating point float SkHalfToFloat(SkHalf h); SkHalf SkFloatToHalf(float f); #endif