skia2/include/private
mtklein 3ff2cc81a5 constexpr NaN,+Inf,-Inf
Reading extern values meant these couldn't be compile-time constants.

math.h has INFINITY, which is macro that is supposed to expand to float +inf.
On MSVC it seems it's natively a double, so we cast just to make sure.

There's nan(const char*) in math.h for NaN too, but I don't trust that
to be compile-time evaluated.  So instead, we keep reinterpreting a bit pattern.

I did try to write

    static constexpr float float_nan() { ... }

and completely failed.  constexpr seems a bit too restrictive in C++11 to make
it work, but Clang kept telling me, you'll be able to do this with C++14.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233853002

Review-Url: https://codereview.chromium.org/2233853002
2016-08-10 08:31:42 -07:00
..
GrAuditTrail.h Fix up GrAuditTrail to allow arbitrary reordering 2016-03-08 10:43:42 -08:00
GrInstancedPipelineInfo.h Begin instanced rendering for simple shapes 2016-07-07 08:49:11 -07:00
GrRenderTargetProxy.h Add Gr*Proxy classes 2016-05-04 12:47:41 -07:00
GrSingleOwner.h Reland of Make a single GrSingleOwner in GrContext (patchset #1 id:1 of https://codereview.chromium.org/1565303003/ ) 2016-01-08 10:09:13 -08:00
GrSurfaceProxy.h Add Gr*Proxy classes 2016-05-04 12:47:41 -07:00
GrTextureProxy.h Add Gr*Proxy classes 2016-05-04 12:47:41 -07:00
SkAtomics.h Clean up some unused atomic routines. 2016-07-27 08:40:45 -07:00
SkChecksum.h Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
SkFixed.h Fix SkFixedDiv macro 2016-07-13 13:34:46 -07:00
SkFloatBits.h Clean up SkFloatBits 2016-05-27 10:47:32 -07:00
SkFloatingPoint.h constexpr NaN,+Inf,-Inf 2016-08-10 08:31:42 -07:00
SkGpuFenceSync.h Implement vulkan fence syncs for nanobench 2016-05-16 14:09:56 -07:00
SkLeanWindows.h SkLeanWindows.h: #include "Windows.h" fewer places 2016-06-07 17:21:10 -07:00
SkMiniRecorder.h don't specialize drawBitmapRect for minirecorder; no longer called by blink 2016-07-26 12:21:10 -07:00
SkMutex.h Type-erase SkAutoMutexAcquire and SkAutoExclusive. 2016-06-10 13:56:35 -07:00
SkOnce.h Simplify implementation of SkOnce to not need so many comments. 2016-05-04 13:57:30 -07:00
SkRecords.h Add drawImageLattice() and drawBitmapLattice() APIs 2016-08-02 08:05:56 -07:00
SkSemaphore.h Modernize SkMutex and SkSemaphore. 2016-05-05 10:57:37 -07:00
SkSpinlock.h Add reminders that these classes have constexpr default constructors. 2016-04-29 13:58:18 -07:00
SkTArray.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
SkTDArray.h std::move(SkTDArray) 2016-08-08 07:21:42 -07:00
SkTDict.h move SkTDict and SkTSearch into private 2016-01-03 18:36:05 -08:00
SkTemplates.h Make container classes in SkTemplates.h more consistent 2016-06-23 12:55:14 -07:00
SkTFitsIn.h Templatize SkToXXX. 2016-03-19 15:06:56 -07:00
SkTHash.h SkTHash: hash from fnptr to functor type 2015-10-15 12:23:02 -07:00
SkThreadID.h Unify ThreadID. 2015-09-29 14:38:01 -07:00
SkTLogic.h Remove skstd::is_function. 2016-04-29 08:27:14 -07:00
SkTSearch.h move SkTDict and SkTSearch into private 2016-01-03 18:36:05 -08:00
SkWeakRefCnt.h Convert SkRefCnt to std::atomic. 2016-04-08 06:58:52 -07:00