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