//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
* @file FBaseFloat.h
* @brief This is the header file for the %Float class.
*
- * @see Tizen::Base::Number
- *
* This header file contains the declarations of the %Float class.
+ *
+ * @see Tizen::Base::Number
*/
#ifndef _FBASE_FLOAT_H_
#define _FBASE_FLOAT_H_
#include <FBaseNumber.h>
-
namespace Tizen { namespace Base
{
/**
*
* @since 2.0
*
- * @param[in] value A @c float value
+ * @param[in] value The @c float value
*/
Float(float value = 0.0);
*
* @since 2.0
*
- * @param[in] value An instance of %Float
+ * @param[in] value An instance of %Float to copy
*/
Float(const Float& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %Float
+ * @param[in] rhs An instance of %Float to copy
*/
Float& operator =(const Float& rhs);
*
* @since 2.0
*
- * @return A 32-bit @c signed integer value
+ * @return The 32-bit @c signed integer value
* @code
- * < 0 if the value of @c f1 is less than the value of @c f2
- * == 0 if the value of @c f1 is equal to the value of @c f2
- * > 0 if the value of @c f1 is greater than the value of @c f2
+ * < 0 if the value of f1 is less than the value of f2
+ * == 0 if the value of f1 is equal to the value of f2
+ * > 0 if the value of f1 is greater than the value of f2
* @endcode
* @param[in] f1 The first @c float value to compare
* @param[in] f2 The second @c float value to compare
static int Compare(float f1, float f2);
/**
- * Compares the value of the current instance with the value of the specified instance of the %Float class.
+ * Compares the value of the current instance with the value of the specified instance of %Float.
*
* @since 2.0
*
- * @return A 32-bit @c signed integer value
+ * @return The 32-bit @c signed integer value
* @code
* @li < 0 if the value of the current instance is less than the value of the specified instance
* @li == 0 if the value of the current instance is equal to the value of the specified instance
*
* @since 2.0
*
- * @return @c true if the value of the specified instance of Object is equal to the value of the current instance of %Float, @n
+ * @return @c true if the value of the specified instance of :Object is equal to the value of the current instance of %Float, @n
* else @c false
* @param[in] obj An instance of Object to compare
* @see Tizen::Base::Object::Equals()
*
* @since 2.0
*
- * @return An integer value indicating the hash value of the current instance of %Float
- * @remarks Two equal instances must return the same hash value. For better performance,
- * the used hash function must generate a random distribution for all inputs. @n
- * The default implementation of this method returns the value of the current instance.
+ * @return The integer value that indicates the hash value of the current instance of %Float
+ * @remarks
+ * - Two equal instances must return the same hash value. @n
+ * For better performance, the used hash function must generate a random distribution for all the inputs. @n
+ * - The default implementation of this method returns the value of the current instance.
*/
virtual int GetHashCode(void) const;
/**
- * Gets the hash value of the specified @c float value.
- *
- * @since 2.0
- *
- * @return An integer value indicating the hash value of the specified @c float value
- * @param[in] val A @c float value to get the hash value
- */
+ * Gets the hash value of the specified @c float value.
+ *
+ * @since 2.0
+ *
+ * @return The integer value that indicates the hash value of the specified @c float value
+ * @param[in] val The @c float value used to get the hash value
+ */
static int GetHashCode(float val);
/**
- * Parses the specified string representing a numeric value and returns the value as @c signed @c float (as out parameter).
+ * Parses the specified string that represents a numeric value and returns the value as @c signed @c float (as out parameter).
*
* @since 2.0
*
- * @return An error code
- * @param[in] s A unicode string representing a @c signed @c float value
- * @param[out] ret The numeric representation of the string
+ * @return An error code
+ * @param[in] s The unicode string that represents the @c signed @c float value
+ * @param[out] ret The numeric representation of the string
* @exception E_SUCCESS The method is successful.
* @exception E_NUM_FORMAT The specified string does not contain a number that can be parsed.
+ * @remarks
+ * - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+ * - The behavior of this method is dependent on the system default locale setting.
* @see Tizen::Base::Double::Parse()
*/
static result Parse(const String& s, float& ret);
/**
- * Gets the @c signed @c char equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c char equivalent of the current instance of %Float.
*
* @since 2.0
*
- * @return A @c signed @c char equivalent of the current instance
+ * @return The @c signed @c char equivalent of the current instance
*/
virtual char ToChar(void) const;
/**
- * Gets the @c signed @c short equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c short equivalent of the current instance of %Float.
*
* @since 2.0
*
- * @return A @c signed @c short equivalent of the current instance
+ * @return The @c signed @c short equivalent of the current instance
*/
virtual short ToShort(void) const;
/**
- * Gets the @c signed @c int equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c int equivalent of the current instance of %Float.
*
* @since 2.0
*
- * @return A @c signed @c int equivalent of the current instance
+ * @return The @c signed @c int equivalent of the current instance
*/
virtual int ToInt(void) const;
/**
- * Gets the @c signed @c long equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c long equivalent of the current instance of %Float.
*
* @since 2.0
*
- * @return A @c signed @c long equivalent of the current instance
+ * @return The @c signed @c long equivalent of the current instance
*/
virtual long ToLong(void) const;
/**
- * Gets the @c signed @c long @c long equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c long @c long equivalent of the current instance of %Float
*
* @since 2.0
*
- * @return A @c signed @c long @c long equivalent of the current instance
+ * @return The @c signed @c long @c long equivalent of the current instance
*/
virtual long long ToLongLong(void) const;
/**
- * Gets the @c signed @c float equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c float equivalent of the current instance of %Float.
*
* @since 2.0
*
- * @return A @c signed @c float equivalent of the current instance
+ * @return The @c signed @c float equivalent of the current instance
*/
virtual float ToFloat(void) const;
/**
- * Gets the @c signed @c double equivalent of the current instance of the %Float class.
+ * Gets the @c signed @c double equivalent of the current instance of %Float.
*
* @since 2.0
*
- * @return A @c signed @c double equivalent of the current instance
+ * @return The @c signed @c double equivalent of the current instance
*/
virtual double ToDouble(void) const;
/**
- * Gets the string representing the value of the current instance of %Float.
+ * Gets the string that represents the value of the current instance of %Float.
*
* @since 2.0
*
- * @return A string containing a Unicode representation of the value of the current instance
- * @remarks If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
+ * @return The string that contains the Unicode representation of the value of the current instance
+ * @remarks
+ * - If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
* produces the result "Infinity". @n
- * 6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+ * 6 digits are given for the precision of this method. Use String::Format() to set a specific precision.
+ * - The behavior of this method is dependent on the system default locale setting.
*/
virtual String ToString(void) const;
/**
- * Gets the string representing the specified @c float value.
+ * Gets the string that represents the specified @c float value.
*
* @since 2.0
*
- * @return A string containing a Unicode representation of the specified @c float value
- * @param[in] value A @c float value to convert
- * @remarks If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
+ * @return The string that contains the Unicode representation of the specified @c float value
+ * @param[in] value The @c float value to convert
+ * @remarks
+ * - If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
* produces the result "Infinity". @n
- * 6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+ * 6 digits are given for the precision of this method. Use String::Format() to set a specific precision.
+ * - The behavior of this method is dependent on the system default locale setting.
*/
static String ToString(float value);
* @since 2.0
*
* @return The bits that represent the floating-point number in the IEEE 754 floating-point "single format" bit layout
- * @param[in] value A @c float value to convert
+ * @param[in] value The @c float value to convert
* @see Tizen::Base::Double::Parse()
*/
static int ToBits(float value);
* @since 2.0
*
* @return The @c float floating-point value with the same bit pattern
- * @param[in] value A floating-point value in the IEEE 754 floating-point "single format" bit layout
+ * @param[in] value The floating-point value in the IEEE 754 floating-point "single format" bit layout
* @see Tizen::Base::Double::Parse()
*/
static float ToFloatFromBits(int value);
/**
- * Checks whether the current value of %Float is equal to negative or positive infinity.
+ * Checks whether the current value of %Float is equal to the negative or positive infinity.
*
* @since 2.0
*
- * @return @c true if the current value equals negative or positive infinity, @n
+ * @return @c true if the current value equals the negative or positive infinity, @n
* else @c false
*/
bool IsInfinity(void) const;
/**
- * Checks whether the specified @c float value is equal to negative or positive infinity.
+ * Checks whether the specified @c float value is equal to the negative or positive infinity.
*
* @since 2.0
*
- * @return @c true if the specified value equals negative or positive infinity, @n
+ * @return @c true if the specified value equals the negative or positive infinity, @n
* else @c false
- * @param[in] value A @c float value to check
+ * @param[in] value The @c float value to check
*/
static bool IsInfinity(float value);
*
* @return @c true if the specified value is Not-a-Number, @n
* else @c false
- * @param[in] value A @c float value to check
+ * @param[in] value The @c float value to check
*/
static bool IsNaN(float value);
/**
- * Gets a constant holding the largest positive finite value of type @c float. @n
+ * Gets the constant holding the largest positive finite value of type @c float. @n
* This is equal to the value defined in Limit.h of the C library.
*
* @since 2.0
*
- * @return A constant holding the largest positive finite value of type @c float
+ * @return The constant holding the largest positive finite value of type @c float
*/
static float GetMaxValue(void);
/**
- * Gets a constant holding the smallest positive non-zero value of type @c float. @n
+ * Gets the constant holding the smallest positive non-zero value of type @c float. @n
* This is equal to the value defined in Limit.h of the C library.
*
* @since 2.0
*
- * @return A constant holding the smallest possible non-zero value of type @c float
+ * @return The constant holding the smallest possible non-zero value of type @c float
*/
static float GetMinValue(void);
/**
- * A @c float value of this instance.
+ * The @c float value of this instance.
*
* @since 2.0
*/
static const int __DBL_MAX_10_EXP = 308;
friend class _FloatImpl;
- class _FloatImpl * __pFloatImpl;
+ class _FloatImpl* __pFloatImpl;
}; // Float