blob: 82592b79bc6f44c253144a4c0bd74f0477c018d1 [file] [log] [blame]
 // Copyright 2015 The Cobalt Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Module Overview: Starboard Double module // // Provides double-precision floating point helper functions. #ifndef STARBOARD_DOUBLE_H_ #define STARBOARD_DOUBLE_H_ #include "starboard/export.h" #include "starboard/types.h" #ifdef __cplusplus extern "C" { #endif // Floors double-precision floating-point number |d| to the nearest integer. // // |d|: The number to be floored. SB_EXPORT double SbDoubleFloor(const double d); // Returns the absolute value of the given double-precision floating-point // number |d|, preserving |NaN| and infinity. // // |d|: The number to be adjusted. SB_EXPORT double SbDoubleAbsolute(const double d); // Returns |base| taken to the power of |exponent|. // // |base|: The number to be adjusted. // |exponent|: The power to which the |base| number should be raised. SB_EXPORT double SbDoubleExponent(const double base, const double exponent); // Determines whether double-precision floating-point number |d| represents a // finite number. // // |d|: The number to be evaluated. SB_EXPORT bool SbDoubleIsFinite(const double d); // Determines whether double-precision floating-point number |d| represents // "Not a Number." // // |d|: The number to be evaluated. SB_EXPORT bool SbDoubleIsNan(const double d); #ifdef __cplusplus } // extern "C" #endif #endif // STARBOARD_DOUBLE_H_