0
Files
src/base/float_util.h
stuartmorgan@chromium.org 770f109a09 Use isfinite() on all POSIX platforms
Based on some research online, it appears this should work everywhere.

BUG=None
TEST=None


Review URL: https://chromiumcodereview.appspot.com/10700183

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146361 0039d316-1c4b-4281-b951-d872f2087c98
2012-07-12 16:25:49 +00:00

29 lines
653 B
C++

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BASE_FLOAT_UTIL_H_
#define BASE_FLOAT_UTIL_H_
#include "build/build_config.h"
#include <float.h>
#include <math.h>
namespace base {
inline bool IsFinite(const double& number) {
#if defined(OS_ANDROID)
// isfinite isn't available on Android: http://b.android.com/34793
return finite(number) != 0;
#elif defined(OS_POSIX)
return isfinite(number) != 0;
#elif defined(OS_WIN)
return _finite(number) != 0;
#endif
}
} // namespace base
#endif // BASE_FLOAT_UTIL_H_