Add __NDK_FPABI__ to function taking/returning float/double
Allow user code to be compiled with "-mhard-float" for armeabi-v7a (which implies -mfloat-abi=hard), and either link with 1. Android native APIs which use softfp, or 2. A customized libm_hard.a which is compiled with -mhard-float. Need -D_NDK_MATH_NO_SOFTFP=1 See tests/device/hard-float/jni/Android.mk for details and restriction on Clang Change-Id: I773a842c73368e08b9a6cda0441e95a96fa303b2
This commit is contained in:
@@ -541,23 +541,23 @@ int64_t AMotionEvent_getEventTime(const AInputEvent* motion_event);
|
|||||||
* For touch events on the screen, this is the delta that was added to the raw
|
* For touch events on the screen, this is the delta that was added to the raw
|
||||||
* screen coordinates to adjust for the absolute position of the containing windows
|
* screen coordinates to adjust for the absolute position of the containing windows
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getXOffset(const AInputEvent* motion_event);
|
float AMotionEvent_getXOffset(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the Y coordinates being reported.
|
/* Get the precision of the Y coordinates being reported.
|
||||||
* For touch events on the screen, this is the delta that was added to the raw
|
* For touch events on the screen, this is the delta that was added to the raw
|
||||||
* screen coordinates to adjust for the absolute position of the containing windows
|
* screen coordinates to adjust for the absolute position of the containing windows
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getYOffset(const AInputEvent* motion_event);
|
float AMotionEvent_getYOffset(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the X coordinates being reported.
|
/* Get the precision of the X coordinates being reported.
|
||||||
* You can multiply this number with an X coordinate sample to find the
|
* You can multiply this number with an X coordinate sample to find the
|
||||||
* actual hardware value of the X coordinate. */
|
* actual hardware value of the X coordinate. */
|
||||||
float AMotionEvent_getXPrecision(const AInputEvent* motion_event);
|
float AMotionEvent_getXPrecision(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the Y coordinates being reported.
|
/* Get the precision of the Y coordinates being reported.
|
||||||
* You can multiply this number with a Y coordinate sample to find the
|
* You can multiply this number with a Y coordinate sample to find the
|
||||||
* actual hardware value of the Y coordinate. */
|
* actual hardware value of the Y coordinate. */
|
||||||
float AMotionEvent_getYPrecision(const AInputEvent* motion_event);
|
float AMotionEvent_getYPrecision(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the number of pointers of data contained in this event.
|
/* Get the number of pointers of data contained in this event.
|
||||||
* Always >= 1. */
|
* Always >= 1. */
|
||||||
@@ -573,29 +573,29 @@ int32_t AMotionEvent_getPointerId(const AInputEvent* motion_event, size_t pointe
|
|||||||
* For touch events on the screen, this is the original location of the event
|
* For touch events on the screen, this is the original location of the event
|
||||||
* on the screen, before it had been adjusted for the containing window
|
* on the screen, before it had been adjusted for the containing window
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the original raw X coordinate of this event.
|
/* Get the original raw X coordinate of this event.
|
||||||
* For touch events on the screen, this is the original location of the event
|
* For touch events on the screen, this is the original location of the event
|
||||||
* on the screen, before it had been adjusted for the containing window
|
* on the screen, before it had been adjusted for the containing window
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getRawY(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getRawY(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current X coordinate of this event for the given pointer index.
|
/* Get the current X coordinate of this event for the given pointer index.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getX(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getX(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current Y coordinate of this event for the given pointer index.
|
/* Get the current Y coordinate of this event for the given pointer index.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getY(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getY(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current pressure of this event for the given pointer index.
|
/* Get the current pressure of this event for the given pointer index.
|
||||||
* The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure),
|
* The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure),
|
||||||
* although values higher than 1 may be generated depending on the calibration of
|
* although values higher than 1 may be generated depending on the calibration of
|
||||||
* the input device. */
|
* the input device. */
|
||||||
float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current scaled value of the approximate size for the given pointer index.
|
/* Get the current scaled value of the approximate size for the given pointer index.
|
||||||
* This represents some approximation of the area of the screen being
|
* This represents some approximation of the area of the screen being
|
||||||
@@ -603,27 +603,27 @@ float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_i
|
|||||||
* touch is normalized with the device specific range of values
|
* touch is normalized with the device specific range of values
|
||||||
* and scaled to a value between 0 and 1. The value of size can be used to
|
* and scaled to a value between 0 and 1. The value of size can be used to
|
||||||
* determine fat touch events. */
|
* determine fat touch events. */
|
||||||
float AMotionEvent_getSize(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getSize(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the major axis of an ellipse that describes the touch area
|
/* Get the current length of the major axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index. */
|
* at the point of contact for the given pointer index. */
|
||||||
float AMotionEvent_getTouchMajor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getTouchMajor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the minor axis of an ellipse that describes the touch area
|
/* Get the current length of the minor axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index. */
|
* at the point of contact for the given pointer index. */
|
||||||
float AMotionEvent_getTouchMinor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getTouchMinor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the major axis of an ellipse that describes the size
|
/* Get the current length of the major axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index.
|
* of the approaching tool for the given pointer index.
|
||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getToolMajor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getToolMajor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the minor axis of an ellipse that describes the size
|
/* Get the current length of the minor axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index.
|
* of the approaching tool for the given pointer index.
|
||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current orientation of the touch area and tool area in radians clockwise from
|
/* Get the current orientation of the touch area and tool area in radians clockwise from
|
||||||
* vertical for the given pointer index.
|
* vertical for the given pointer index.
|
||||||
@@ -633,11 +633,11 @@ float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_
|
|||||||
* indicates that the major axis of contact is oriented to the left.
|
* indicates that the major axis of contact is oriented to the left.
|
||||||
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
||||||
* (finger pointing fully right). */
|
* (finger pointing fully right). */
|
||||||
float AMotionEvent_getOrientation(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getOrientation(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the value of the request axis for the given pointer index. */
|
/* Get the value of the request axis for the given pointer index. */
|
||||||
float AMotionEvent_getAxisValue(const AInputEvent* motion_event,
|
float AMotionEvent_getAxisValue(const AInputEvent* motion_event,
|
||||||
int32_t axis, size_t pointer_index);
|
int32_t axis, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the number of historical points in this event. These are movements that
|
/* Get the number of historical points in this event. These are movements that
|
||||||
* have occurred between this event and the previous event. This only applies
|
* have occurred between this event and the previous event. This only applies
|
||||||
@@ -658,7 +658,7 @@ int64_t AMotionEvent_getHistoricalEventTime(const AInputEvent* motion_event,
|
|||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical raw Y coordinate of this event for the given pointer index that
|
/* Get the historical raw Y coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -668,21 +668,21 @@ float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t poi
|
|||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical X coordinate of this event for the given pointer index that
|
/* Get the historical X coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalX(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalX(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical Y coordinate of this event for the given pointer index that
|
/* Get the historical Y coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical pressure of this event for the given pointer index that
|
/* Get the historical pressure of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -690,7 +690,7 @@ float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointe
|
|||||||
* although values higher than 1 may be generated depending on the calibration of
|
* although values higher than 1 may be generated depending on the calibration of
|
||||||
* the input device. */
|
* the input device. */
|
||||||
float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current scaled value of the approximate size for the given pointer index that
|
/* Get the current scaled value of the approximate size for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -700,19 +700,19 @@ float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t
|
|||||||
* and scaled to a value between 0 and 1. The value of size can be used to
|
* and scaled to a value between 0 and 1. The value of size can be used to
|
||||||
* determine fat touch events. */
|
* determine fat touch events. */
|
||||||
float AMotionEvent_getHistoricalSize(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalSize(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the major axis of an ellipse that describes the touch area
|
/* Get the historical length of the major axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index that
|
* at the point of contact for the given pointer index that
|
||||||
* occurred between this event and the previous motion event. */
|
* occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalTouchMajor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalTouchMajor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the minor axis of an ellipse that describes the touch area
|
/* Get the historical length of the minor axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index that
|
* at the point of contact for the given pointer index that
|
||||||
* occurred between this event and the previous motion event. */
|
* occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the major axis of an ellipse that describes the size
|
/* Get the historical length of the major axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index that
|
* of the approaching tool for the given pointer index that
|
||||||
@@ -720,7 +720,7 @@ float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size
|
|||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the minor axis of an ellipse that describes the size
|
/* Get the historical length of the minor axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index that
|
* of the approaching tool for the given pointer index that
|
||||||
@@ -728,7 +728,7 @@ float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_
|
|||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical orientation of the touch area and tool area in radians clockwise from
|
/* Get the historical orientation of the touch area and tool area in radians clockwise from
|
||||||
* vertical for the given pointer index that
|
* vertical for the given pointer index that
|
||||||
@@ -740,12 +740,12 @@ float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_
|
|||||||
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
||||||
* (finger pointing fully right). */
|
* (finger pointing fully right). */
|
||||||
float AMotionEvent_getHistoricalOrientation(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalOrientation(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical value of the request axis for the given pointer index
|
/* Get the historical value of the request axis for the given pointer index
|
||||||
* that occurred between this event and the previous motion event. */
|
* that occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalAxisValue(const AInputEvent* motion_event,
|
float AMotionEvent_getHistoricalAxisValue(const AInputEvent* motion_event,
|
||||||
int32_t axis, size_t pointer_index, size_t history_index);
|
int32_t axis, size_t pointer_index, size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -183,222 +183,222 @@ __BEGIN_DECLS
|
|||||||
/*
|
/*
|
||||||
* ANSI/POSIX
|
* ANSI/POSIX
|
||||||
*/
|
*/
|
||||||
int __fpclassifyd(double) __pure2;
|
int __fpclassifyd(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyf(float) __pure2;
|
int __fpclassifyf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyl(long double) __pure2;
|
int __fpclassifyl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitef(float) __pure2;
|
int __isfinitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinite(double) __pure2;
|
int __isfinite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitel(long double) __pure2;
|
int __isfinitel(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinff(float) __pure2;
|
int __isinff(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinf(double) __pure2;
|
int __isinf(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinfl(long double) __pure2;
|
int __isinfl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnanl(long double) __pure2;
|
int __isnanl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormalf(float) __pure2;
|
int __isnormalf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormal(double) __pure2;
|
int __isnormal(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormall(long double) __pure2;
|
int __isnormall(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbit(double) __pure2;
|
int __signbit(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitf(float) __pure2;
|
int __signbitf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitl(long double) __pure2;
|
int __signbitl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
double acos(double);
|
double acos(double) __NDK_FPABI_MATH__;
|
||||||
double asin(double);
|
double asin(double) __NDK_FPABI_MATH__;
|
||||||
double atan(double);
|
double atan(double) __NDK_FPABI_MATH__;
|
||||||
double atan2(double, double);
|
double atan2(double, double) __NDK_FPABI_MATH__;
|
||||||
double cos(double);
|
double cos(double) __NDK_FPABI_MATH__;
|
||||||
double sin(double);
|
double sin(double) __NDK_FPABI_MATH__;
|
||||||
double tan(double);
|
double tan(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double cosh(double);
|
double cosh(double) __NDK_FPABI_MATH__;
|
||||||
double sinh(double);
|
double sinh(double) __NDK_FPABI_MATH__;
|
||||||
double tanh(double);
|
double tanh(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double exp(double);
|
double exp(double) __NDK_FPABI_MATH__;
|
||||||
double frexp(double, int *); /* fundamentally !__pure2 */
|
double frexp(double, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
double ldexp(double, int);
|
double ldexp(double, int) __NDK_FPABI_MATH__;
|
||||||
double log(double);
|
double log(double) __NDK_FPABI_MATH__;
|
||||||
double log10(double);
|
double log10(double) __NDK_FPABI_MATH__;
|
||||||
double modf(double, double *); /* fundamentally !__pure2 */
|
double modf(double, double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
double pow(double, double);
|
double pow(double, double) __NDK_FPABI_MATH__;
|
||||||
double sqrt(double);
|
double sqrt(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double ceil(double);
|
double ceil(double) __NDK_FPABI_MATH__;
|
||||||
double fabs(double) __pure2;
|
double fabs(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double floor(double);
|
double floor(double) __NDK_FPABI_MATH__;
|
||||||
double fmod(double, double);
|
double fmod(double, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions are not in C90.
|
* These functions are not in C90.
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
double acosh(double);
|
double acosh(double) __NDK_FPABI_MATH__;
|
||||||
double asinh(double);
|
double asinh(double) __NDK_FPABI_MATH__;
|
||||||
double atanh(double);
|
double atanh(double) __NDK_FPABI_MATH__;
|
||||||
double cbrt(double);
|
double cbrt(double) __NDK_FPABI_MATH__;
|
||||||
double erf(double);
|
double erf(double) __NDK_FPABI_MATH__;
|
||||||
double erfc(double);
|
double erfc(double) __NDK_FPABI_MATH__;
|
||||||
double exp2(double);
|
double exp2(double) __NDK_FPABI_MATH__;
|
||||||
double expm1(double);
|
double expm1(double) __NDK_FPABI_MATH__;
|
||||||
double fma(double, double, double);
|
double fma(double, double, double) __NDK_FPABI_MATH__;
|
||||||
double hypot(double, double);
|
double hypot(double, double) __NDK_FPABI_MATH__;
|
||||||
int ilogb(double) __pure2;
|
int ilogb(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* int (isinf)(double) __pure2; */
|
/* int (isinf)(double) __NDK_FPABI_MATH__ __pure2; */
|
||||||
int (isnan)(double) __pure2;
|
int (isnan)(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double lgamma(double);
|
double lgamma(double) __NDK_FPABI_MATH__;
|
||||||
long long llrint(double);
|
long long llrint(double) __NDK_FPABI_MATH__;
|
||||||
long long llround(double);
|
long long llround(double) __NDK_FPABI_MATH__;
|
||||||
double log1p(double);
|
double log1p(double) __NDK_FPABI_MATH__;
|
||||||
double logb(double);
|
double logb(double) __NDK_FPABI_MATH__;
|
||||||
long lrint(double);
|
long lrint(double) __NDK_FPABI_MATH__;
|
||||||
long lround(double);
|
long lround(double) __NDK_FPABI_MATH__;
|
||||||
double nan(const char *) __pure2;
|
double nan(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
double nextafter(double, double);
|
double nextafter(double, double) __NDK_FPABI_MATH__;
|
||||||
double remainder(double, double);
|
double remainder(double, double) __NDK_FPABI_MATH__;
|
||||||
double remquo(double, double, int *);
|
double remquo(double, double, int *) __NDK_FPABI_MATH__;
|
||||||
double rint(double);
|
double rint(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
double j0(double);
|
double j0(double) __NDK_FPABI_MATH__;
|
||||||
double j1(double);
|
double j1(double) __NDK_FPABI_MATH__;
|
||||||
double jn(int, double);
|
double jn(int, double) __NDK_FPABI_MATH__;
|
||||||
double scalb(double, double);
|
double scalb(double, double) __NDK_FPABI_MATH__;
|
||||||
double y0(double);
|
double y0(double) __NDK_FPABI_MATH__;
|
||||||
double y1(double);
|
double y1(double) __NDK_FPABI_MATH__;
|
||||||
double yn(int, double);
|
double yn(int, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
||||||
double gamma(double);
|
double gamma(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
||||||
double copysign(double, double) __pure2;
|
double copysign(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fdim(double, double);
|
double fdim(double, double) __NDK_FPABI_MATH__;
|
||||||
double fmax(double, double) __pure2;
|
double fmax(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fmin(double, double) __pure2;
|
double fmin(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double nearbyint(double);
|
double nearbyint(double) __NDK_FPABI_MATH__;
|
||||||
double round(double);
|
double round(double) __NDK_FPABI_MATH__;
|
||||||
double scalbln(double, long);
|
double scalbln(double, long) __NDK_FPABI_MATH__;
|
||||||
double scalbn(double, int);
|
double scalbn(double, int) __NDK_FPABI_MATH__;
|
||||||
double tgamma(double);
|
double tgamma(double) __NDK_FPABI_MATH__;
|
||||||
double trunc(double);
|
double trunc(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BSD math library entry points
|
* BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
double drem(double, double);
|
double drem(double, double) __NDK_FPABI_MATH__;
|
||||||
int finite(double) __pure2;
|
int finite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int isnanf(float) __pure2;
|
int isnanf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
||||||
* as the second argument; user must allocate space for signgam.
|
* as the second argument; user must allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
double gamma_r(double, int *);
|
double gamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
double lgamma_r(double, int *);
|
double lgamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IEEE Test Vector
|
* IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
double significand(double);
|
double significand(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/* float versions of ANSI/POSIX functions */
|
/* float versions of ANSI/POSIX functions */
|
||||||
/*#if __ISO_C_VISIBLE >= 1999 */
|
/*#if __ISO_C_VISIBLE >= 1999 */
|
||||||
float acosf(float);
|
float acosf(float) __NDK_FPABI_MATH__;
|
||||||
float asinf(float);
|
float asinf(float) __NDK_FPABI_MATH__;
|
||||||
float atanf(float);
|
float atanf(float) __NDK_FPABI_MATH__;
|
||||||
float atan2f(float, float);
|
float atan2f(float, float) __NDK_FPABI_MATH__;
|
||||||
float cosf(float);
|
float cosf(float) __NDK_FPABI_MATH__;
|
||||||
float sinf(float);
|
float sinf(float) __NDK_FPABI_MATH__;
|
||||||
float tanf(float);
|
float tanf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float coshf(float);
|
float coshf(float) __NDK_FPABI_MATH__;
|
||||||
float sinhf(float);
|
float sinhf(float) __NDK_FPABI_MATH__;
|
||||||
float tanhf(float);
|
float tanhf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float exp2f(float);
|
float exp2f(float) __NDK_FPABI_MATH__;
|
||||||
float expf(float);
|
float expf(float) __NDK_FPABI_MATH__;
|
||||||
float expm1f(float);
|
float expm1f(float) __NDK_FPABI_MATH__;
|
||||||
float frexpf(float, int *); /* fundamentally !__pure2 */
|
float frexpf(float, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
int ilogbf(float) __pure2;
|
int ilogbf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float ldexpf(float, int);
|
float ldexpf(float, int) __NDK_FPABI_MATH__;
|
||||||
float log10f(float);
|
float log10f(float) __NDK_FPABI_MATH__;
|
||||||
float log1pf(float);
|
float log1pf(float) __NDK_FPABI_MATH__;
|
||||||
float logf(float);
|
float logf(float) __NDK_FPABI_MATH__;
|
||||||
float modff(float, float *); /* fundamentally !__pure2 */
|
float modff(float, float *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
float powf(float, float);
|
float powf(float, float) __NDK_FPABI_MATH__;
|
||||||
float sqrtf(float);
|
float sqrtf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float ceilf(float);
|
float ceilf(float) __NDK_FPABI_MATH__;
|
||||||
float fabsf(float) __pure2;
|
float fabsf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float floorf(float);
|
float floorf(float) __NDK_FPABI_MATH__;
|
||||||
float fmodf(float, float);
|
float fmodf(float, float) __NDK_FPABI_MATH__;
|
||||||
float roundf(float);
|
float roundf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float erff(float);
|
float erff(float) __NDK_FPABI_MATH__;
|
||||||
float erfcf(float);
|
float erfcf(float) __NDK_FPABI_MATH__;
|
||||||
float hypotf(float, float);
|
float hypotf(float, float) __NDK_FPABI_MATH__;
|
||||||
float lgammaf(float);
|
float lgammaf(float) __NDK_FPABI_MATH__;
|
||||||
float tgammaf(float);
|
float tgammaf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float acoshf(float);
|
float acoshf(float) __NDK_FPABI_MATH__;
|
||||||
float asinhf(float);
|
float asinhf(float) __NDK_FPABI_MATH__;
|
||||||
float atanhf(float);
|
float atanhf(float) __NDK_FPABI_MATH__;
|
||||||
float cbrtf(float);
|
float cbrtf(float) __NDK_FPABI_MATH__;
|
||||||
float logbf(float);
|
float logbf(float) __NDK_FPABI_MATH__;
|
||||||
float copysignf(float, float) __pure2;
|
float copysignf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
long long llrintf(float);
|
long long llrintf(float) __NDK_FPABI_MATH__;
|
||||||
long long llroundf(float);
|
long long llroundf(float) __NDK_FPABI_MATH__;
|
||||||
long lrintf(float);
|
long lrintf(float) __NDK_FPABI_MATH__;
|
||||||
long lroundf(float);
|
long lroundf(float) __NDK_FPABI_MATH__;
|
||||||
float nanf(const char *) __pure2;
|
float nanf(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
float nearbyintf(float);
|
float nearbyintf(float) __NDK_FPABI_MATH__;
|
||||||
float nextafterf(float, float);
|
float nextafterf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remainderf(float, float);
|
float remainderf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remquof(float, float, int *);
|
float remquof(float, float, int *) __NDK_FPABI_MATH__;
|
||||||
float rintf(float);
|
float rintf(float) __NDK_FPABI_MATH__;
|
||||||
float scalblnf(float, long);
|
float scalblnf(float, long) __NDK_FPABI_MATH__;
|
||||||
float scalbnf(float, int);
|
float scalbnf(float, int) __NDK_FPABI_MATH__;
|
||||||
float truncf(float);
|
float truncf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float fdimf(float, float);
|
float fdimf(float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaf(float, float, float);
|
float fmaf(float, float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaxf(float, float) __pure2;
|
float fmaxf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float fminf(float, float) __pure2;
|
float fminf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float versions of BSD math library entry points
|
* float versions of BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
float dremf(float, float);
|
float dremf(float, float) __NDK_FPABI_MATH__;
|
||||||
int finitef(float) __pure2;
|
int finitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float gammaf(float);
|
float gammaf(float) __NDK_FPABI_MATH__;
|
||||||
float j0f(float);
|
float j0f(float) __NDK_FPABI_MATH__;
|
||||||
float j1f(float);
|
float j1f(float) __NDK_FPABI_MATH__;
|
||||||
float jnf(int, float);
|
float jnf(int, float) __NDK_FPABI_MATH__;
|
||||||
float scalbf(float, float);
|
float scalbf(float, float) __NDK_FPABI_MATH__;
|
||||||
float y0f(float);
|
float y0f(float) __NDK_FPABI_MATH__;
|
||||||
float y1f(float);
|
float y1f(float) __NDK_FPABI_MATH__;
|
||||||
float ynf(int, float);
|
float ynf(int, float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Float versions of reentrant version of gamma & lgamma; passes
|
* Float versions of reentrant version of gamma & lgamma; passes
|
||||||
* signgam back by reference as the second argument; user must
|
* signgam back by reference as the second argument; user must
|
||||||
* allocate space for signgam.
|
* allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
float gammaf_r(float, int *);
|
float gammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
float lgammaf_r(float, int *);
|
float lgammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float version of IEEE Test Vector
|
* float version of IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
float significandf(float);
|
float significandf(float) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -406,90 +406,90 @@ float significandf(float);
|
|||||||
*/
|
*/
|
||||||
/* #if __ISO_C_VISIBLE >= 1999 */
|
/* #if __ISO_C_VISIBLE >= 1999 */
|
||||||
#if 0
|
#if 0
|
||||||
long double acoshl(long double);
|
long double acoshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double acosl(long double);
|
long double acosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinhl(long double);
|
long double asinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinl(long double);
|
long double asinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atan2l(long double, long double);
|
long double atan2l(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double atanhl(long double);
|
long double atanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atanl(long double);
|
long double atanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cbrtl(long double);
|
long double cbrtl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double ceill(long double);
|
long double ceill(long double) __NDK_FPABI_MATH__;
|
||||||
long double copysignl(long double, long double) __pure2;
|
long double copysignl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double coshl(long double);
|
long double coshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cosl(long double);
|
long double cosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfcl(long double);
|
long double erfcl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfl(long double);
|
long double erfl(long double) __NDK_FPABI_MATH__;
|
||||||
long double exp2l(long double);
|
long double exp2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double expl(long double);
|
long double expl(long double) __NDK_FPABI_MATH__;
|
||||||
long double expm1l(long double);
|
long double expm1l(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double fabsl(long double) __pure2;
|
long double fabsl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fdiml(long double, long double);
|
long double fdiml(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double floorl(long double);
|
long double floorl(long double) __NDK_FPABI_MATH__;
|
||||||
long double fmal(long double, long double, long double);
|
long double fmal(long double, long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double fmaxl(long double, long double) __pure2;
|
long double fmaxl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fminl(long double, long double) __pure2;
|
long double fminl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double fmodl(long double, long double);
|
long double fmodl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double frexpl(long double value, int *); /* fundamentally !__pure2 */
|
long double frexpl(long double value, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
#if 0
|
#if 0
|
||||||
long double hypotl(long double, long double);
|
long double hypotl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
int ilogbl(long double) __pure2;
|
int ilogbl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double ldexpl(long double, int);
|
long double ldexpl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double lgammal(long double);
|
long double lgammal(long double) __NDK_FPABI_MATH__;
|
||||||
long long llrintl(long double);
|
long long llrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long long llroundl(long double);
|
long long llroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double log10l(long double);
|
long double log10l(long double) __NDK_FPABI_MATH__;
|
||||||
long double log1pl(long double);
|
long double log1pl(long double) __NDK_FPABI_MATH__;
|
||||||
long double log2l(long double);
|
long double log2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double logbl(long double);
|
long double logbl(long double) __NDK_FPABI_MATH__;
|
||||||
long double logl(long double);
|
long double logl(long double) __NDK_FPABI_MATH__;
|
||||||
long lrintl(long double);
|
long lrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long lroundl(long double);
|
long lroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double modfl(long double, long double *); /* fundamentally !__pure2 */
|
long double modfl(long double, long double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
#endif
|
#endif
|
||||||
long double nanl(const char *) __pure2;
|
long double nanl(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double nearbyintl(long double);
|
long double nearbyintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double nextafterl(long double, long double);
|
long double nextafterl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
double nexttoward(double, long double);
|
double nexttoward(double, long double) __NDK_FPABI_MATH__;
|
||||||
float nexttowardf(float, long double);
|
float nexttowardf(float, long double) __NDK_FPABI_MATH__;
|
||||||
long double nexttowardl(long double, long double);
|
long double nexttowardl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double powl(long double, long double);
|
long double powl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remainderl(long double, long double);
|
long double remainderl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remquol(long double, long double, int *);
|
long double remquol(long double, long double, int *) __NDK_FPABI_MATH__;
|
||||||
long double rintl(long double);
|
long double rintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double roundl(long double);
|
long double roundl(long double) __NDK_FPABI_MATH__;
|
||||||
long double scalblnl(long double, long);
|
long double scalblnl(long double, long) __NDK_FPABI_MATH__;
|
||||||
long double scalbnl(long double, int);
|
long double scalbnl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double sinhl(long double);
|
long double sinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sinl(long double);
|
long double sinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sqrtl(long double);
|
long double sqrtl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanhl(long double);
|
long double tanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanl(long double);
|
long double tanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tgammal(long double);
|
long double tgammal(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double truncl(long double);
|
long double truncl(long double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* BIONIC: GLibc compatibility - required by the ARM toolchain */
|
/* BIONIC: GLibc compatibility - required by the ARM toolchain */
|
||||||
#ifdef _GNU_SOURCE
|
#ifdef _GNU_SOURCE
|
||||||
void sincos(double x, double *sin, double *cos);
|
void sincos(double x, double *sin, double *cos) __NDK_FPABI_MATH__;
|
||||||
void sincosf(float x, float *sin, float *cos);
|
void sincosf(float x, float *sin, float *cos) __NDK_FPABI_MATH__;
|
||||||
void sincosl(long double x, long double *sin, long double *cos);
|
void sincosl(long double x, long double *sin, long double *cos) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
||||||
|
|||||||
@@ -579,23 +579,23 @@ int64_t AMotionEvent_getEventTime(const AInputEvent* motion_event);
|
|||||||
* For touch events on the screen, this is the delta that was added to the raw
|
* For touch events on the screen, this is the delta that was added to the raw
|
||||||
* screen coordinates to adjust for the absolute position of the containing windows
|
* screen coordinates to adjust for the absolute position of the containing windows
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getXOffset(const AInputEvent* motion_event);
|
float AMotionEvent_getXOffset(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the Y coordinates being reported.
|
/* Get the precision of the Y coordinates being reported.
|
||||||
* For touch events on the screen, this is the delta that was added to the raw
|
* For touch events on the screen, this is the delta that was added to the raw
|
||||||
* screen coordinates to adjust for the absolute position of the containing windows
|
* screen coordinates to adjust for the absolute position of the containing windows
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getYOffset(const AInputEvent* motion_event);
|
float AMotionEvent_getYOffset(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the X coordinates being reported.
|
/* Get the precision of the X coordinates being reported.
|
||||||
* You can multiply this number with an X coordinate sample to find the
|
* You can multiply this number with an X coordinate sample to find the
|
||||||
* actual hardware value of the X coordinate. */
|
* actual hardware value of the X coordinate. */
|
||||||
float AMotionEvent_getXPrecision(const AInputEvent* motion_event);
|
float AMotionEvent_getXPrecision(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the Y coordinates being reported.
|
/* Get the precision of the Y coordinates being reported.
|
||||||
* You can multiply this number with a Y coordinate sample to find the
|
* You can multiply this number with a Y coordinate sample to find the
|
||||||
* actual hardware value of the Y coordinate. */
|
* actual hardware value of the Y coordinate. */
|
||||||
float AMotionEvent_getYPrecision(const AInputEvent* motion_event);
|
float AMotionEvent_getYPrecision(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the number of pointers of data contained in this event.
|
/* Get the number of pointers of data contained in this event.
|
||||||
* Always >= 1. */
|
* Always >= 1. */
|
||||||
@@ -616,29 +616,29 @@ int32_t AMotionEvent_getToolType(const AInputEvent* motion_event, size_t pointer
|
|||||||
* For touch events on the screen, this is the original location of the event
|
* For touch events on the screen, this is the original location of the event
|
||||||
* on the screen, before it had been adjusted for the containing window
|
* on the screen, before it had been adjusted for the containing window
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the original raw X coordinate of this event.
|
/* Get the original raw X coordinate of this event.
|
||||||
* For touch events on the screen, this is the original location of the event
|
* For touch events on the screen, this is the original location of the event
|
||||||
* on the screen, before it had been adjusted for the containing window
|
* on the screen, before it had been adjusted for the containing window
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getRawY(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getRawY(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current X coordinate of this event for the given pointer index.
|
/* Get the current X coordinate of this event for the given pointer index.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getX(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getX(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current Y coordinate of this event for the given pointer index.
|
/* Get the current Y coordinate of this event for the given pointer index.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getY(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getY(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current pressure of this event for the given pointer index.
|
/* Get the current pressure of this event for the given pointer index.
|
||||||
* The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure),
|
* The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure),
|
||||||
* although values higher than 1 may be generated depending on the calibration of
|
* although values higher than 1 may be generated depending on the calibration of
|
||||||
* the input device. */
|
* the input device. */
|
||||||
float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current scaled value of the approximate size for the given pointer index.
|
/* Get the current scaled value of the approximate size for the given pointer index.
|
||||||
* This represents some approximation of the area of the screen being
|
* This represents some approximation of the area of the screen being
|
||||||
@@ -646,27 +646,27 @@ float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_i
|
|||||||
* touch is normalized with the device specific range of values
|
* touch is normalized with the device specific range of values
|
||||||
* and scaled to a value between 0 and 1. The value of size can be used to
|
* and scaled to a value between 0 and 1. The value of size can be used to
|
||||||
* determine fat touch events. */
|
* determine fat touch events. */
|
||||||
float AMotionEvent_getSize(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getSize(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the major axis of an ellipse that describes the touch area
|
/* Get the current length of the major axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index. */
|
* at the point of contact for the given pointer index. */
|
||||||
float AMotionEvent_getTouchMajor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getTouchMajor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the minor axis of an ellipse that describes the touch area
|
/* Get the current length of the minor axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index. */
|
* at the point of contact for the given pointer index. */
|
||||||
float AMotionEvent_getTouchMinor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getTouchMinor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the major axis of an ellipse that describes the size
|
/* Get the current length of the major axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index.
|
* of the approaching tool for the given pointer index.
|
||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getToolMajor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getToolMajor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the minor axis of an ellipse that describes the size
|
/* Get the current length of the minor axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index.
|
* of the approaching tool for the given pointer index.
|
||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current orientation of the touch area and tool area in radians clockwise from
|
/* Get the current orientation of the touch area and tool area in radians clockwise from
|
||||||
* vertical for the given pointer index.
|
* vertical for the given pointer index.
|
||||||
@@ -676,11 +676,11 @@ float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_
|
|||||||
* indicates that the major axis of contact is oriented to the left.
|
* indicates that the major axis of contact is oriented to the left.
|
||||||
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
||||||
* (finger pointing fully right). */
|
* (finger pointing fully right). */
|
||||||
float AMotionEvent_getOrientation(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getOrientation(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the value of the request axis for the given pointer index. */
|
/* Get the value of the request axis for the given pointer index. */
|
||||||
float AMotionEvent_getAxisValue(const AInputEvent* motion_event,
|
float AMotionEvent_getAxisValue(const AInputEvent* motion_event,
|
||||||
int32_t axis, size_t pointer_index);
|
int32_t axis, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the number of historical points in this event. These are movements that
|
/* Get the number of historical points in this event. These are movements that
|
||||||
* have occurred between this event and the previous event. This only applies
|
* have occurred between this event and the previous event. This only applies
|
||||||
@@ -701,7 +701,7 @@ int64_t AMotionEvent_getHistoricalEventTime(const AInputEvent* motion_event,
|
|||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical raw Y coordinate of this event for the given pointer index that
|
/* Get the historical raw Y coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -711,21 +711,21 @@ float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t poi
|
|||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical X coordinate of this event for the given pointer index that
|
/* Get the historical X coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalX(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalX(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical Y coordinate of this event for the given pointer index that
|
/* Get the historical Y coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical pressure of this event for the given pointer index that
|
/* Get the historical pressure of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -733,7 +733,7 @@ float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointe
|
|||||||
* although values higher than 1 may be generated depending on the calibration of
|
* although values higher than 1 may be generated depending on the calibration of
|
||||||
* the input device. */
|
* the input device. */
|
||||||
float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current scaled value of the approximate size for the given pointer index that
|
/* Get the current scaled value of the approximate size for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -743,19 +743,19 @@ float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t
|
|||||||
* and scaled to a value between 0 and 1. The value of size can be used to
|
* and scaled to a value between 0 and 1. The value of size can be used to
|
||||||
* determine fat touch events. */
|
* determine fat touch events. */
|
||||||
float AMotionEvent_getHistoricalSize(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalSize(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the major axis of an ellipse that describes the touch area
|
/* Get the historical length of the major axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index that
|
* at the point of contact for the given pointer index that
|
||||||
* occurred between this event and the previous motion event. */
|
* occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalTouchMajor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalTouchMajor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the minor axis of an ellipse that describes the touch area
|
/* Get the historical length of the minor axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index that
|
* at the point of contact for the given pointer index that
|
||||||
* occurred between this event and the previous motion event. */
|
* occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the major axis of an ellipse that describes the size
|
/* Get the historical length of the major axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index that
|
* of the approaching tool for the given pointer index that
|
||||||
@@ -763,7 +763,7 @@ float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size
|
|||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the minor axis of an ellipse that describes the size
|
/* Get the historical length of the minor axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index that
|
* of the approaching tool for the given pointer index that
|
||||||
@@ -771,7 +771,7 @@ float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_
|
|||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical orientation of the touch area and tool area in radians clockwise from
|
/* Get the historical orientation of the touch area and tool area in radians clockwise from
|
||||||
* vertical for the given pointer index that
|
* vertical for the given pointer index that
|
||||||
@@ -783,12 +783,12 @@ float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_
|
|||||||
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
||||||
* (finger pointing fully right). */
|
* (finger pointing fully right). */
|
||||||
float AMotionEvent_getHistoricalOrientation(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalOrientation(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical value of the request axis for the given pointer index
|
/* Get the historical value of the request axis for the given pointer index
|
||||||
* that occurred between this event and the previous motion event. */
|
* that occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalAxisValue(const AInputEvent* motion_event,
|
float AMotionEvent_getHistoricalAxisValue(const AInputEvent* motion_event,
|
||||||
int32_t axis, size_t pointer_index, size_t history_index);
|
int32_t axis, size_t pointer_index, size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -183,224 +183,224 @@ __BEGIN_DECLS
|
|||||||
/*
|
/*
|
||||||
* ANSI/POSIX
|
* ANSI/POSIX
|
||||||
*/
|
*/
|
||||||
int __fpclassifyd(double) __pure2;
|
int __fpclassifyd(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyf(float) __pure2;
|
int __fpclassifyf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyl(long double) __pure2;
|
int __fpclassifyl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitef(float) __pure2;
|
int __isfinitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinite(double) __pure2;
|
int __isfinite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitel(long double) __pure2;
|
int __isfinitel(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinff(float) __pure2;
|
int __isinff(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinf(double) __pure2;
|
int __isinf(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinfl(long double) __pure2;
|
int __isinfl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnanl(long double) __pure2;
|
int __isnanl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormalf(float) __pure2;
|
int __isnormalf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormal(double) __pure2;
|
int __isnormal(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormall(long double) __pure2;
|
int __isnormall(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbit(double) __pure2;
|
int __signbit(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitf(float) __pure2;
|
int __signbitf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitl(long double) __pure2;
|
int __signbitl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
double acos(double);
|
double acos(double) __NDK_FPABI_MATH__;
|
||||||
double asin(double);
|
double asin(double) __NDK_FPABI_MATH__;
|
||||||
double atan(double);
|
double atan(double) __NDK_FPABI_MATH__;
|
||||||
double atan2(double, double);
|
double atan2(double, double) __NDK_FPABI_MATH__;
|
||||||
double cos(double);
|
double cos(double) __NDK_FPABI_MATH__;
|
||||||
double sin(double);
|
double sin(double) __NDK_FPABI_MATH__;
|
||||||
double tan(double);
|
double tan(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double cosh(double);
|
double cosh(double) __NDK_FPABI_MATH__;
|
||||||
double sinh(double);
|
double sinh(double) __NDK_FPABI_MATH__;
|
||||||
double tanh(double);
|
double tanh(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double exp(double);
|
double exp(double) __NDK_FPABI_MATH__;
|
||||||
double frexp(double, int *); /* fundamentally !__pure2 */
|
double frexp(double, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
double ldexp(double, int);
|
double ldexp(double, int) __NDK_FPABI_MATH__;
|
||||||
double log(double);
|
double log(double) __NDK_FPABI_MATH__;
|
||||||
double log10(double);
|
double log10(double) __NDK_FPABI_MATH__;
|
||||||
double modf(double, double *); /* fundamentally !__pure2 */
|
double modf(double, double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
double pow(double, double);
|
double pow(double, double) __NDK_FPABI_MATH__;
|
||||||
double sqrt(double);
|
double sqrt(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double ceil(double);
|
double ceil(double) __NDK_FPABI_MATH__;
|
||||||
double fabs(double) __pure2;
|
double fabs(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double floor(double);
|
double floor(double) __NDK_FPABI_MATH__;
|
||||||
double fmod(double, double);
|
double fmod(double, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions are not in C90.
|
* These functions are not in C90.
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
double acosh(double);
|
double acosh(double) __NDK_FPABI_MATH__;
|
||||||
double asinh(double);
|
double asinh(double) __NDK_FPABI_MATH__;
|
||||||
double atanh(double);
|
double atanh(double) __NDK_FPABI_MATH__;
|
||||||
double cbrt(double);
|
double cbrt(double) __NDK_FPABI_MATH__;
|
||||||
double erf(double);
|
double erf(double) __NDK_FPABI_MATH__;
|
||||||
double erfc(double);
|
double erfc(double) __NDK_FPABI_MATH__;
|
||||||
double exp2(double);
|
double exp2(double) __NDK_FPABI_MATH__;
|
||||||
double expm1(double);
|
double expm1(double) __NDK_FPABI_MATH__;
|
||||||
double fma(double, double, double);
|
double fma(double, double, double) __NDK_FPABI_MATH__;
|
||||||
double hypot(double, double);
|
double hypot(double, double) __NDK_FPABI_MATH__;
|
||||||
int ilogb(double) __pure2;
|
int ilogb(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* int (isinf)(double) __pure2; */
|
/* int (isinf)(double) __NDK_FPABI_MATH__ __pure2; */
|
||||||
int (isnan)(double) __pure2;
|
int (isnan)(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double lgamma(double);
|
double lgamma(double) __NDK_FPABI_MATH__;
|
||||||
long long llrint(double);
|
long long llrint(double) __NDK_FPABI_MATH__;
|
||||||
long long llround(double);
|
long long llround(double) __NDK_FPABI_MATH__;
|
||||||
double log1p(double);
|
double log1p(double) __NDK_FPABI_MATH__;
|
||||||
double log2(double);
|
double log2(double) __NDK_FPABI_MATH__;
|
||||||
double logb(double);
|
double logb(double) __NDK_FPABI_MATH__;
|
||||||
long lrint(double);
|
long lrint(double) __NDK_FPABI_MATH__;
|
||||||
long lround(double);
|
long lround(double) __NDK_FPABI_MATH__;
|
||||||
double nan(const char *) __pure2;
|
double nan(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
double nextafter(double, double);
|
double nextafter(double, double) __NDK_FPABI_MATH__;
|
||||||
double remainder(double, double);
|
double remainder(double, double) __NDK_FPABI_MATH__;
|
||||||
double remquo(double, double, int *);
|
double remquo(double, double, int *) __NDK_FPABI_MATH__;
|
||||||
double rint(double);
|
double rint(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
double j0(double);
|
double j0(double) __NDK_FPABI_MATH__;
|
||||||
double j1(double);
|
double j1(double) __NDK_FPABI_MATH__;
|
||||||
double jn(int, double);
|
double jn(int, double) __NDK_FPABI_MATH__;
|
||||||
double scalb(double, double);
|
double scalb(double, double) __NDK_FPABI_MATH__;
|
||||||
double y0(double);
|
double y0(double) __NDK_FPABI_MATH__;
|
||||||
double y1(double);
|
double y1(double) __NDK_FPABI_MATH__;
|
||||||
double yn(int, double);
|
double yn(int, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
||||||
double gamma(double);
|
double gamma(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
||||||
double copysign(double, double) __pure2;
|
double copysign(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fdim(double, double);
|
double fdim(double, double) __NDK_FPABI_MATH__;
|
||||||
double fmax(double, double) __pure2;
|
double fmax(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fmin(double, double) __pure2;
|
double fmin(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double nearbyint(double);
|
double nearbyint(double) __NDK_FPABI_MATH__;
|
||||||
double round(double);
|
double round(double) __NDK_FPABI_MATH__;
|
||||||
double scalbln(double, long);
|
double scalbln(double, long) __NDK_FPABI_MATH__;
|
||||||
double scalbn(double, int);
|
double scalbn(double, int) __NDK_FPABI_MATH__;
|
||||||
double tgamma(double);
|
double tgamma(double) __NDK_FPABI_MATH__;
|
||||||
double trunc(double);
|
double trunc(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BSD math library entry points
|
* BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
double drem(double, double);
|
double drem(double, double) __NDK_FPABI_MATH__;
|
||||||
int finite(double) __pure2;
|
int finite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int isnanf(float) __pure2;
|
int isnanf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
||||||
* as the second argument; user must allocate space for signgam.
|
* as the second argument; user must allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
double gamma_r(double, int *);
|
double gamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
double lgamma_r(double, int *);
|
double lgamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IEEE Test Vector
|
* IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
double significand(double);
|
double significand(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/* float versions of ANSI/POSIX functions */
|
/* float versions of ANSI/POSIX functions */
|
||||||
/*#if __ISO_C_VISIBLE >= 1999 */
|
/*#if __ISO_C_VISIBLE >= 1999 */
|
||||||
float acosf(float);
|
float acosf(float) __NDK_FPABI_MATH__;
|
||||||
float asinf(float);
|
float asinf(float) __NDK_FPABI_MATH__;
|
||||||
float atanf(float);
|
float atanf(float) __NDK_FPABI_MATH__;
|
||||||
float atan2f(float, float);
|
float atan2f(float, float) __NDK_FPABI_MATH__;
|
||||||
float cosf(float);
|
float cosf(float) __NDK_FPABI_MATH__;
|
||||||
float sinf(float);
|
float sinf(float) __NDK_FPABI_MATH__;
|
||||||
float tanf(float);
|
float tanf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float coshf(float);
|
float coshf(float) __NDK_FPABI_MATH__;
|
||||||
float sinhf(float);
|
float sinhf(float) __NDK_FPABI_MATH__;
|
||||||
float tanhf(float);
|
float tanhf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float exp2f(float);
|
float exp2f(float) __NDK_FPABI_MATH__;
|
||||||
float expf(float);
|
float expf(float) __NDK_FPABI_MATH__;
|
||||||
float expm1f(float);
|
float expm1f(float) __NDK_FPABI_MATH__;
|
||||||
float frexpf(float, int *); /* fundamentally !__pure2 */
|
float frexpf(float, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
int ilogbf(float) __pure2;
|
int ilogbf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float ldexpf(float, int);
|
float ldexpf(float, int) __NDK_FPABI_MATH__;
|
||||||
float log10f(float);
|
float log10f(float) __NDK_FPABI_MATH__;
|
||||||
float log1pf(float);
|
float log1pf(float) __NDK_FPABI_MATH__;
|
||||||
float log2f(float);
|
float log2f(float) __NDK_FPABI_MATH__;
|
||||||
float logf(float);
|
float logf(float) __NDK_FPABI_MATH__;
|
||||||
float modff(float, float *); /* fundamentally !__pure2 */
|
float modff(float, float *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
float powf(float, float);
|
float powf(float, float) __NDK_FPABI_MATH__;
|
||||||
float sqrtf(float);
|
float sqrtf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float ceilf(float);
|
float ceilf(float) __NDK_FPABI_MATH__;
|
||||||
float fabsf(float) __pure2;
|
float fabsf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float floorf(float);
|
float floorf(float) __NDK_FPABI_MATH__;
|
||||||
float fmodf(float, float);
|
float fmodf(float, float) __NDK_FPABI_MATH__;
|
||||||
float roundf(float);
|
float roundf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float erff(float);
|
float erff(float) __NDK_FPABI_MATH__;
|
||||||
float erfcf(float);
|
float erfcf(float) __NDK_FPABI_MATH__;
|
||||||
float hypotf(float, float);
|
float hypotf(float, float) __NDK_FPABI_MATH__;
|
||||||
float lgammaf(float);
|
float lgammaf(float) __NDK_FPABI_MATH__;
|
||||||
float tgammaf(float);
|
float tgammaf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float acoshf(float);
|
float acoshf(float) __NDK_FPABI_MATH__;
|
||||||
float asinhf(float);
|
float asinhf(float) __NDK_FPABI_MATH__;
|
||||||
float atanhf(float);
|
float atanhf(float) __NDK_FPABI_MATH__;
|
||||||
float cbrtf(float);
|
float cbrtf(float) __NDK_FPABI_MATH__;
|
||||||
float logbf(float);
|
float logbf(float) __NDK_FPABI_MATH__;
|
||||||
float copysignf(float, float) __pure2;
|
float copysignf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
long long llrintf(float);
|
long long llrintf(float) __NDK_FPABI_MATH__;
|
||||||
long long llroundf(float);
|
long long llroundf(float) __NDK_FPABI_MATH__;
|
||||||
long lrintf(float);
|
long lrintf(float) __NDK_FPABI_MATH__;
|
||||||
long lroundf(float);
|
long lroundf(float) __NDK_FPABI_MATH__;
|
||||||
float nanf(const char *) __pure2;
|
float nanf(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
float nearbyintf(float);
|
float nearbyintf(float) __NDK_FPABI_MATH__;
|
||||||
float nextafterf(float, float);
|
float nextafterf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remainderf(float, float);
|
float remainderf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remquof(float, float, int *);
|
float remquof(float, float, int *) __NDK_FPABI_MATH__;
|
||||||
float rintf(float);
|
float rintf(float) __NDK_FPABI_MATH__;
|
||||||
float scalblnf(float, long);
|
float scalblnf(float, long) __NDK_FPABI_MATH__;
|
||||||
float scalbnf(float, int);
|
float scalbnf(float, int) __NDK_FPABI_MATH__;
|
||||||
float truncf(float);
|
float truncf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float fdimf(float, float);
|
float fdimf(float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaf(float, float, float);
|
float fmaf(float, float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaxf(float, float) __pure2;
|
float fmaxf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float fminf(float, float) __pure2;
|
float fminf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float versions of BSD math library entry points
|
* float versions of BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
float dremf(float, float);
|
float dremf(float, float) __NDK_FPABI_MATH__;
|
||||||
int finitef(float) __pure2;
|
int finitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float gammaf(float);
|
float gammaf(float) __NDK_FPABI_MATH__;
|
||||||
float j0f(float);
|
float j0f(float) __NDK_FPABI_MATH__;
|
||||||
float j1f(float);
|
float j1f(float) __NDK_FPABI_MATH__;
|
||||||
float jnf(int, float);
|
float jnf(int, float) __NDK_FPABI_MATH__;
|
||||||
float scalbf(float, float);
|
float scalbf(float, float) __NDK_FPABI_MATH__;
|
||||||
float y0f(float);
|
float y0f(float) __NDK_FPABI_MATH__;
|
||||||
float y1f(float);
|
float y1f(float) __NDK_FPABI_MATH__;
|
||||||
float ynf(int, float);
|
float ynf(int, float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Float versions of reentrant version of gamma & lgamma; passes
|
* Float versions of reentrant version of gamma & lgamma; passes
|
||||||
* signgam back by reference as the second argument; user must
|
* signgam back by reference as the second argument; user must
|
||||||
* allocate space for signgam.
|
* allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
float gammaf_r(float, int *);
|
float gammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
float lgammaf_r(float, int *);
|
float lgammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float version of IEEE Test Vector
|
* float version of IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
float significandf(float);
|
float significandf(float) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -408,95 +408,95 @@ float significandf(float);
|
|||||||
*/
|
*/
|
||||||
/* #if __ISO_C_VISIBLE >= 1999 */
|
/* #if __ISO_C_VISIBLE >= 1999 */
|
||||||
#if 0
|
#if 0
|
||||||
long double acoshl(long double);
|
long double acoshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double acosl(long double);
|
long double acosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinhl(long double);
|
long double asinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinl(long double);
|
long double asinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atan2l(long double, long double);
|
long double atan2l(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double atanhl(long double);
|
long double atanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atanl(long double);
|
long double atanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cbrtl(long double);
|
long double cbrtl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double ceill(long double);
|
long double ceill(long double) __NDK_FPABI_MATH__;
|
||||||
long double copysignl(long double, long double) __pure2;
|
long double copysignl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double coshl(long double);
|
long double coshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cosl(long double);
|
long double cosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfcl(long double);
|
long double erfcl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfl(long double);
|
long double erfl(long double) __NDK_FPABI_MATH__;
|
||||||
long double exp2l(long double);
|
long double exp2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double expl(long double);
|
long double expl(long double) __NDK_FPABI_MATH__;
|
||||||
long double expm1l(long double);
|
long double expm1l(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double fabsl(long double) __pure2;
|
long double fabsl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fdiml(long double, long double);
|
long double fdiml(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double floorl(long double);
|
long double floorl(long double) __NDK_FPABI_MATH__;
|
||||||
long double fmal(long double, long double, long double);
|
long double fmal(long double, long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double fmaxl(long double, long double) __pure2;
|
long double fmaxl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fminl(long double, long double) __pure2;
|
long double fminl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double fmodl(long double, long double);
|
long double fmodl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double frexpl(long double value, int *); /* fundamentally !__pure2 */
|
long double frexpl(long double value, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
#if 0
|
#if 0
|
||||||
long double hypotl(long double, long double);
|
long double hypotl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
int ilogbl(long double) __pure2;
|
int ilogbl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double ldexpl(long double, int);
|
long double ldexpl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double lgammal(long double);
|
long double lgammal(long double) __NDK_FPABI_MATH__;
|
||||||
long long llrintl(long double);
|
long long llrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long long llroundl(long double);
|
long long llroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double log10l(long double);
|
long double log10l(long double) __NDK_FPABI_MATH__;
|
||||||
long double log1pl(long double);
|
long double log1pl(long double) __NDK_FPABI_MATH__;
|
||||||
long double log2l(long double);
|
long double log2l(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double logbl(long double);
|
long double logbl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long lrintl(long double);
|
long lrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long lroundl(long double);
|
long lroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double modfl(long double, long double *); /* fundamentally !__pure2 */
|
long double modfl(long double, long double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
#endif
|
#endif
|
||||||
long double nanl(const char *) __pure2;
|
long double nanl(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double nearbyintl(long double);
|
long double nearbyintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double nextafterl(long double, long double);
|
long double nextafterl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
double nexttoward(double, long double);
|
double nexttoward(double, long double) __NDK_FPABI_MATH__;
|
||||||
float nexttowardf(float, long double);
|
float nexttowardf(float, long double) __NDK_FPABI_MATH__;
|
||||||
long double nexttowardl(long double, long double);
|
long double nexttowardl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double powl(long double, long double);
|
long double powl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remainderl(long double, long double);
|
long double remainderl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remquol(long double, long double, int *);
|
long double remquol(long double, long double, int *) __NDK_FPABI_MATH__;
|
||||||
long double rintl(long double);
|
long double rintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double roundl(long double);
|
long double roundl(long double) __NDK_FPABI_MATH__;
|
||||||
long double scalblnl(long double, long);
|
long double scalblnl(long double, long) __NDK_FPABI_MATH__;
|
||||||
long double scalbnl(long double, int);
|
long double scalbnl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double sinhl(long double);
|
long double sinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sinl(long double);
|
long double sinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sqrtl(long double);
|
long double sqrtl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanhl(long double);
|
long double tanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanl(long double);
|
long double tanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tgammal(long double);
|
long double tgammal(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double truncl(long double);
|
long double truncl(long double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* BIONIC: GLibc compatibility - required by the ARM toolchain */
|
/* BIONIC: GLibc compatibility - required by the ARM toolchain */
|
||||||
#ifdef _GNU_SOURCE
|
#ifdef _GNU_SOURCE
|
||||||
void sincos(double x, double *sin, double *cos);
|
void sincos(double x, double *sin, double *cos) __NDK_FPABI_MATH__;
|
||||||
void sincosf(float x, float *sin, float *cos);
|
void sincosf(float x, float *sin, float *cos) __NDK_FPABI_MATH__;
|
||||||
void sincosl(long double x, long double *sin, long double *cos);
|
void sincosl(long double x, long double *sin, long double *cos) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
||||||
long double log2l(long double);
|
long double log2l(long double) __NDK_FPABI_MATH__;
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* !_MATH_H_ */
|
#endif /* !_MATH_H_ */
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#ifndef JNI_H_
|
#ifndef JNI_H_
|
||||||
#define JNI_H_
|
#define JNI_H_
|
||||||
|
|
||||||
|
#include <sys/cdefs.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -231,12 +232,12 @@ struct JNINativeInterface {
|
|||||||
jlong (*CallLongMethod)(JNIEnv*, jobject, jmethodID, ...);
|
jlong (*CallLongMethod)(JNIEnv*, jobject, jmethodID, ...);
|
||||||
jlong (*CallLongMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
jlong (*CallLongMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
||||||
jlong (*CallLongMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
jlong (*CallLongMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
||||||
jfloat (*CallFloatMethod)(JNIEnv*, jobject, jmethodID, ...);
|
jfloat (*CallFloatMethod)(JNIEnv*, jobject, jmethodID, ...) __NDK_FPABI__;
|
||||||
jfloat (*CallFloatMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
jfloat (*CallFloatMethodV)(JNIEnv*, jobject, jmethodID, va_list) __NDK_FPABI__;
|
||||||
jfloat (*CallFloatMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
jfloat (*CallFloatMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) __NDK_FPABI__;
|
||||||
jdouble (*CallDoubleMethod)(JNIEnv*, jobject, jmethodID, ...);
|
jdouble (*CallDoubleMethod)(JNIEnv*, jobject, jmethodID, ...) __NDK_FPABI__;
|
||||||
jdouble (*CallDoubleMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
jdouble (*CallDoubleMethodV)(JNIEnv*, jobject, jmethodID, va_list) __NDK_FPABI__;
|
||||||
jdouble (*CallDoubleMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
jdouble (*CallDoubleMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) __NDK_FPABI__;
|
||||||
void (*CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...);
|
void (*CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...);
|
||||||
void (*CallVoidMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
void (*CallVoidMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
||||||
void (*CallVoidMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
void (*CallVoidMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
||||||
@@ -284,17 +285,17 @@ struct JNINativeInterface {
|
|||||||
jlong (*CallNonvirtualLongMethodA)(JNIEnv*, jobject, jclass,
|
jlong (*CallNonvirtualLongMethodA)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, jvalue*);
|
jmethodID, jvalue*);
|
||||||
jfloat (*CallNonvirtualFloatMethod)(JNIEnv*, jobject, jclass,
|
jfloat (*CallNonvirtualFloatMethod)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, ...);
|
jmethodID, ...) __NDK_FPABI__;
|
||||||
jfloat (*CallNonvirtualFloatMethodV)(JNIEnv*, jobject, jclass,
|
jfloat (*CallNonvirtualFloatMethodV)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, va_list);
|
jmethodID, va_list) __NDK_FPABI__;
|
||||||
jfloat (*CallNonvirtualFloatMethodA)(JNIEnv*, jobject, jclass,
|
jfloat (*CallNonvirtualFloatMethodA)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, jvalue*);
|
jmethodID, jvalue*) __NDK_FPABI__;
|
||||||
jdouble (*CallNonvirtualDoubleMethod)(JNIEnv*, jobject, jclass,
|
jdouble (*CallNonvirtualDoubleMethod)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, ...);
|
jmethodID, ...) __NDK_FPABI__;
|
||||||
jdouble (*CallNonvirtualDoubleMethodV)(JNIEnv*, jobject, jclass,
|
jdouble (*CallNonvirtualDoubleMethodV)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, va_list);
|
jmethodID, va_list) __NDK_FPABI__;
|
||||||
jdouble (*CallNonvirtualDoubleMethodA)(JNIEnv*, jobject, jclass,
|
jdouble (*CallNonvirtualDoubleMethodA)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, jvalue*);
|
jmethodID, jvalue*) __NDK_FPABI__;
|
||||||
void (*CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass,
|
void (*CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass,
|
||||||
jmethodID, ...);
|
jmethodID, ...);
|
||||||
void (*CallNonvirtualVoidMethodV)(JNIEnv*, jobject, jclass,
|
void (*CallNonvirtualVoidMethodV)(JNIEnv*, jobject, jclass,
|
||||||
@@ -311,8 +312,8 @@ struct JNINativeInterface {
|
|||||||
jshort (*GetShortField)(JNIEnv*, jobject, jfieldID);
|
jshort (*GetShortField)(JNIEnv*, jobject, jfieldID);
|
||||||
jint (*GetIntField)(JNIEnv*, jobject, jfieldID);
|
jint (*GetIntField)(JNIEnv*, jobject, jfieldID);
|
||||||
jlong (*GetLongField)(JNIEnv*, jobject, jfieldID);
|
jlong (*GetLongField)(JNIEnv*, jobject, jfieldID);
|
||||||
jfloat (*GetFloatField)(JNIEnv*, jobject, jfieldID);
|
jfloat (*GetFloatField)(JNIEnv*, jobject, jfieldID) __NDK_FPABI__;
|
||||||
jdouble (*GetDoubleField)(JNIEnv*, jobject, jfieldID);
|
jdouble (*GetDoubleField)(JNIEnv*, jobject, jfieldID) __NDK_FPABI__;
|
||||||
|
|
||||||
void (*SetObjectField)(JNIEnv*, jobject, jfieldID, jobject);
|
void (*SetObjectField)(JNIEnv*, jobject, jfieldID, jobject);
|
||||||
void (*SetBooleanField)(JNIEnv*, jobject, jfieldID, jboolean);
|
void (*SetBooleanField)(JNIEnv*, jobject, jfieldID, jboolean);
|
||||||
@@ -321,8 +322,8 @@ struct JNINativeInterface {
|
|||||||
void (*SetShortField)(JNIEnv*, jobject, jfieldID, jshort);
|
void (*SetShortField)(JNIEnv*, jobject, jfieldID, jshort);
|
||||||
void (*SetIntField)(JNIEnv*, jobject, jfieldID, jint);
|
void (*SetIntField)(JNIEnv*, jobject, jfieldID, jint);
|
||||||
void (*SetLongField)(JNIEnv*, jobject, jfieldID, jlong);
|
void (*SetLongField)(JNIEnv*, jobject, jfieldID, jlong);
|
||||||
void (*SetFloatField)(JNIEnv*, jobject, jfieldID, jfloat);
|
void (*SetFloatField)(JNIEnv*, jobject, jfieldID, jfloat) __NDK_FPABI__;
|
||||||
void (*SetDoubleField)(JNIEnv*, jobject, jfieldID, jdouble);
|
void (*SetDoubleField)(JNIEnv*, jobject, jfieldID, jdouble) __NDK_FPABI__;
|
||||||
|
|
||||||
jmethodID (*GetStaticMethodID)(JNIEnv*, jclass, const char*, const char*);
|
jmethodID (*GetStaticMethodID)(JNIEnv*, jclass, const char*, const char*);
|
||||||
|
|
||||||
@@ -349,12 +350,12 @@ struct JNINativeInterface {
|
|||||||
jlong (*CallStaticLongMethod)(JNIEnv*, jclass, jmethodID, ...);
|
jlong (*CallStaticLongMethod)(JNIEnv*, jclass, jmethodID, ...);
|
||||||
jlong (*CallStaticLongMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
jlong (*CallStaticLongMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
||||||
jlong (*CallStaticLongMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
jlong (*CallStaticLongMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
||||||
jfloat (*CallStaticFloatMethod)(JNIEnv*, jclass, jmethodID, ...);
|
jfloat (*CallStaticFloatMethod)(JNIEnv*, jclass, jmethodID, ...) __NDK_FPABI__;
|
||||||
jfloat (*CallStaticFloatMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
jfloat (*CallStaticFloatMethodV)(JNIEnv*, jclass, jmethodID, va_list) __NDK_FPABI__;
|
||||||
jfloat (*CallStaticFloatMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
jfloat (*CallStaticFloatMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) __NDK_FPABI__;
|
||||||
jdouble (*CallStaticDoubleMethod)(JNIEnv*, jclass, jmethodID, ...);
|
jdouble (*CallStaticDoubleMethod)(JNIEnv*, jclass, jmethodID, ...) __NDK_FPABI__;
|
||||||
jdouble (*CallStaticDoubleMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
jdouble (*CallStaticDoubleMethodV)(JNIEnv*, jclass, jmethodID, va_list) __NDK_FPABI__;
|
||||||
jdouble (*CallStaticDoubleMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
jdouble (*CallStaticDoubleMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) __NDK_FPABI__;
|
||||||
void (*CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...);
|
void (*CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...);
|
||||||
void (*CallStaticVoidMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
void (*CallStaticVoidMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
||||||
void (*CallStaticVoidMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
void (*CallStaticVoidMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
||||||
@@ -369,8 +370,8 @@ struct JNINativeInterface {
|
|||||||
jshort (*GetStaticShortField)(JNIEnv*, jclass, jfieldID);
|
jshort (*GetStaticShortField)(JNIEnv*, jclass, jfieldID);
|
||||||
jint (*GetStaticIntField)(JNIEnv*, jclass, jfieldID);
|
jint (*GetStaticIntField)(JNIEnv*, jclass, jfieldID);
|
||||||
jlong (*GetStaticLongField)(JNIEnv*, jclass, jfieldID);
|
jlong (*GetStaticLongField)(JNIEnv*, jclass, jfieldID);
|
||||||
jfloat (*GetStaticFloatField)(JNIEnv*, jclass, jfieldID);
|
jfloat (*GetStaticFloatField)(JNIEnv*, jclass, jfieldID) __NDK_FPABI__;
|
||||||
jdouble (*GetStaticDoubleField)(JNIEnv*, jclass, jfieldID);
|
jdouble (*GetStaticDoubleField)(JNIEnv*, jclass, jfieldID) __NDK_FPABI__;
|
||||||
|
|
||||||
void (*SetStaticObjectField)(JNIEnv*, jclass, jfieldID, jobject);
|
void (*SetStaticObjectField)(JNIEnv*, jclass, jfieldID, jobject);
|
||||||
void (*SetStaticBooleanField)(JNIEnv*, jclass, jfieldID, jboolean);
|
void (*SetStaticBooleanField)(JNIEnv*, jclass, jfieldID, jboolean);
|
||||||
@@ -379,8 +380,8 @@ struct JNINativeInterface {
|
|||||||
void (*SetStaticShortField)(JNIEnv*, jclass, jfieldID, jshort);
|
void (*SetStaticShortField)(JNIEnv*, jclass, jfieldID, jshort);
|
||||||
void (*SetStaticIntField)(JNIEnv*, jclass, jfieldID, jint);
|
void (*SetStaticIntField)(JNIEnv*, jclass, jfieldID, jint);
|
||||||
void (*SetStaticLongField)(JNIEnv*, jclass, jfieldID, jlong);
|
void (*SetStaticLongField)(JNIEnv*, jclass, jfieldID, jlong);
|
||||||
void (*SetStaticFloatField)(JNIEnv*, jclass, jfieldID, jfloat);
|
void (*SetStaticFloatField)(JNIEnv*, jclass, jfieldID, jfloat) __NDK_FPABI__;
|
||||||
void (*SetStaticDoubleField)(JNIEnv*, jclass, jfieldID, jdouble);
|
void (*SetStaticDoubleField)(JNIEnv*, jclass, jfieldID, jdouble) __NDK_FPABI__;
|
||||||
|
|
||||||
jstring (*NewString)(JNIEnv*, const jchar*, jsize);
|
jstring (*NewString)(JNIEnv*, const jchar*, jsize);
|
||||||
jsize (*GetStringLength)(JNIEnv*, jstring);
|
jsize (*GetStringLength)(JNIEnv*, jstring);
|
||||||
@@ -605,6 +606,7 @@ struct _JNIEnv {
|
|||||||
{ return functions->GetMethodID(this, clazz, name, sig); }
|
{ return functions->GetMethodID(this, clazz, name, sig); }
|
||||||
|
|
||||||
#define CALL_TYPE_METHOD(_jtype, _jname) \
|
#define CALL_TYPE_METHOD(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype Call##_jname##Method(jobject obj, jmethodID methodID, ...) \
|
_jtype Call##_jname##Method(jobject obj, jmethodID methodID, ...) \
|
||||||
{ \
|
{ \
|
||||||
_jtype result; \
|
_jtype result; \
|
||||||
@@ -616,10 +618,12 @@ struct _JNIEnv {
|
|||||||
return result; \
|
return result; \
|
||||||
}
|
}
|
||||||
#define CALL_TYPE_METHODV(_jtype, _jname) \
|
#define CALL_TYPE_METHODV(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype Call##_jname##MethodV(jobject obj, jmethodID methodID, \
|
_jtype Call##_jname##MethodV(jobject obj, jmethodID methodID, \
|
||||||
va_list args) \
|
va_list args) \
|
||||||
{ return functions->Call##_jname##MethodV(this, obj, methodID, args); }
|
{ return functions->Call##_jname##MethodV(this, obj, methodID, args); }
|
||||||
#define CALL_TYPE_METHODA(_jtype, _jname) \
|
#define CALL_TYPE_METHODA(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype Call##_jname##MethodA(jobject obj, jmethodID methodID, \
|
_jtype Call##_jname##MethodA(jobject obj, jmethodID methodID, \
|
||||||
jvalue* args) \
|
jvalue* args) \
|
||||||
{ return functions->Call##_jname##MethodA(this, obj, methodID, args); }
|
{ return functions->Call##_jname##MethodA(this, obj, methodID, args); }
|
||||||
@@ -652,6 +656,7 @@ struct _JNIEnv {
|
|||||||
{ functions->CallVoidMethodA(this, obj, methodID, args); }
|
{ functions->CallVoidMethodA(this, obj, methodID, args); }
|
||||||
|
|
||||||
#define CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
|
#define CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype CallNonvirtual##_jname##Method(jobject obj, jclass clazz, \
|
_jtype CallNonvirtual##_jname##Method(jobject obj, jclass clazz, \
|
||||||
jmethodID methodID, ...) \
|
jmethodID methodID, ...) \
|
||||||
{ \
|
{ \
|
||||||
@@ -664,11 +669,13 @@ struct _JNIEnv {
|
|||||||
return result; \
|
return result; \
|
||||||
}
|
}
|
||||||
#define CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
|
#define CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype CallNonvirtual##_jname##MethodV(jobject obj, jclass clazz, \
|
_jtype CallNonvirtual##_jname##MethodV(jobject obj, jclass clazz, \
|
||||||
jmethodID methodID, va_list args) \
|
jmethodID methodID, va_list args) \
|
||||||
{ return functions->CallNonvirtual##_jname##MethodV(this, obj, clazz, \
|
{ return functions->CallNonvirtual##_jname##MethodV(this, obj, clazz, \
|
||||||
methodID, args); }
|
methodID, args); }
|
||||||
#define CALL_NONVIRT_TYPE_METHODA(_jtype, _jname) \
|
#define CALL_NONVIRT_TYPE_METHODA(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype CallNonvirtual##_jname##MethodA(jobject obj, jclass clazz, \
|
_jtype CallNonvirtual##_jname##MethodA(jobject obj, jclass clazz, \
|
||||||
jmethodID methodID, jvalue* args) \
|
jmethodID methodID, jvalue* args) \
|
||||||
{ return functions->CallNonvirtual##_jname##MethodA(this, obj, clazz, \
|
{ return functions->CallNonvirtual##_jname##MethodA(this, obj, clazz, \
|
||||||
@@ -721,8 +728,10 @@ struct _JNIEnv {
|
|||||||
{ return functions->GetIntField(this, obj, fieldID); }
|
{ return functions->GetIntField(this, obj, fieldID); }
|
||||||
jlong GetLongField(jobject obj, jfieldID fieldID)
|
jlong GetLongField(jobject obj, jfieldID fieldID)
|
||||||
{ return functions->GetLongField(this, obj, fieldID); }
|
{ return functions->GetLongField(this, obj, fieldID); }
|
||||||
|
__NDK_FPABI__
|
||||||
jfloat GetFloatField(jobject obj, jfieldID fieldID)
|
jfloat GetFloatField(jobject obj, jfieldID fieldID)
|
||||||
{ return functions->GetFloatField(this, obj, fieldID); }
|
{ return functions->GetFloatField(this, obj, fieldID); }
|
||||||
|
__NDK_FPABI__
|
||||||
jdouble GetDoubleField(jobject obj, jfieldID fieldID)
|
jdouble GetDoubleField(jobject obj, jfieldID fieldID)
|
||||||
{ return functions->GetDoubleField(this, obj, fieldID); }
|
{ return functions->GetDoubleField(this, obj, fieldID); }
|
||||||
|
|
||||||
@@ -740,8 +749,10 @@ struct _JNIEnv {
|
|||||||
{ functions->SetIntField(this, obj, fieldID, value); }
|
{ functions->SetIntField(this, obj, fieldID, value); }
|
||||||
void SetLongField(jobject obj, jfieldID fieldID, jlong value)
|
void SetLongField(jobject obj, jfieldID fieldID, jlong value)
|
||||||
{ functions->SetLongField(this, obj, fieldID, value); }
|
{ functions->SetLongField(this, obj, fieldID, value); }
|
||||||
|
__NDK_FPABI__
|
||||||
void SetFloatField(jobject obj, jfieldID fieldID, jfloat value)
|
void SetFloatField(jobject obj, jfieldID fieldID, jfloat value)
|
||||||
{ functions->SetFloatField(this, obj, fieldID, value); }
|
{ functions->SetFloatField(this, obj, fieldID, value); }
|
||||||
|
__NDK_FPABI__
|
||||||
void SetDoubleField(jobject obj, jfieldID fieldID, jdouble value)
|
void SetDoubleField(jobject obj, jfieldID fieldID, jdouble value)
|
||||||
{ functions->SetDoubleField(this, obj, fieldID, value); }
|
{ functions->SetDoubleField(this, obj, fieldID, value); }
|
||||||
|
|
||||||
@@ -749,6 +760,7 @@ struct _JNIEnv {
|
|||||||
{ return functions->GetStaticMethodID(this, clazz, name, sig); }
|
{ return functions->GetStaticMethodID(this, clazz, name, sig); }
|
||||||
|
|
||||||
#define CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
|
#define CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype CallStatic##_jname##Method(jclass clazz, jmethodID methodID, \
|
_jtype CallStatic##_jname##Method(jclass clazz, jmethodID methodID, \
|
||||||
...) \
|
...) \
|
||||||
{ \
|
{ \
|
||||||
@@ -761,11 +773,13 @@ struct _JNIEnv {
|
|||||||
return result; \
|
return result; \
|
||||||
}
|
}
|
||||||
#define CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
|
#define CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype CallStatic##_jname##MethodV(jclass clazz, jmethodID methodID, \
|
_jtype CallStatic##_jname##MethodV(jclass clazz, jmethodID methodID, \
|
||||||
va_list args) \
|
va_list args) \
|
||||||
{ return functions->CallStatic##_jname##MethodV(this, clazz, methodID, \
|
{ return functions->CallStatic##_jname##MethodV(this, clazz, methodID, \
|
||||||
args); }
|
args); }
|
||||||
#define CALL_STATIC_TYPE_METHODA(_jtype, _jname) \
|
#define CALL_STATIC_TYPE_METHODA(_jtype, _jname) \
|
||||||
|
__NDK_FPABI__ \
|
||||||
_jtype CallStatic##_jname##MethodA(jclass clazz, jmethodID methodID, \
|
_jtype CallStatic##_jname##MethodA(jclass clazz, jmethodID methodID, \
|
||||||
jvalue* args) \
|
jvalue* args) \
|
||||||
{ return functions->CallStatic##_jname##MethodA(this, clazz, methodID, \
|
{ return functions->CallStatic##_jname##MethodA(this, clazz, methodID, \
|
||||||
@@ -815,8 +829,10 @@ struct _JNIEnv {
|
|||||||
{ return functions->GetStaticIntField(this, clazz, fieldID); }
|
{ return functions->GetStaticIntField(this, clazz, fieldID); }
|
||||||
jlong GetStaticLongField(jclass clazz, jfieldID fieldID)
|
jlong GetStaticLongField(jclass clazz, jfieldID fieldID)
|
||||||
{ return functions->GetStaticLongField(this, clazz, fieldID); }
|
{ return functions->GetStaticLongField(this, clazz, fieldID); }
|
||||||
|
__NDK_FPABI__
|
||||||
jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID)
|
jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID)
|
||||||
{ return functions->GetStaticFloatField(this, clazz, fieldID); }
|
{ return functions->GetStaticFloatField(this, clazz, fieldID); }
|
||||||
|
__NDK_FPABI__
|
||||||
jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID)
|
jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID)
|
||||||
{ return functions->GetStaticDoubleField(this, clazz, fieldID); }
|
{ return functions->GetStaticDoubleField(this, clazz, fieldID); }
|
||||||
|
|
||||||
@@ -834,8 +850,10 @@ struct _JNIEnv {
|
|||||||
{ functions->SetStaticIntField(this, clazz, fieldID, value); }
|
{ functions->SetStaticIntField(this, clazz, fieldID, value); }
|
||||||
void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value)
|
void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value)
|
||||||
{ functions->SetStaticLongField(this, clazz, fieldID, value); }
|
{ functions->SetStaticLongField(this, clazz, fieldID, value); }
|
||||||
|
__NDK_FPABI__
|
||||||
void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value)
|
void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value)
|
||||||
{ functions->SetStaticFloatField(this, clazz, fieldID, value); }
|
{ functions->SetStaticFloatField(this, clazz, fieldID, value); }
|
||||||
|
__NDK_FPABI__
|
||||||
void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value)
|
void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value)
|
||||||
{ functions->SetStaticDoubleField(this, clazz, fieldID, value); }
|
{ functions->SetStaticDoubleField(this, clazz, fieldID, value); }
|
||||||
|
|
||||||
|
|||||||
@@ -183,219 +183,219 @@ __BEGIN_DECLS
|
|||||||
/*
|
/*
|
||||||
* ANSI/POSIX
|
* ANSI/POSIX
|
||||||
*/
|
*/
|
||||||
int __fpclassifyd(double) __pure2;
|
int __fpclassifyd(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyf(float) __pure2;
|
int __fpclassifyf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyl(long double) __pure2;
|
int __fpclassifyl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitef(float) __pure2;
|
int __isfinitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinite(double) __pure2;
|
int __isfinite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitel(long double) __pure2;
|
int __isfinitel(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinff(float) __pure2;
|
int __isinff(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinf(double) __pure2;
|
int __isinf(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinfl(long double) __pure2;
|
int __isinfl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnanl(long double) __pure2;
|
int __isnanl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormalf(float) __pure2;
|
int __isnormalf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormal(double) __pure2;
|
int __isnormal(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormall(long double) __pure2;
|
int __isnormall(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbit(double) __pure2;
|
int __signbit(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitf(float) __pure2;
|
int __signbitf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitl(long double) __pure2;
|
int __signbitl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
double acos(double);
|
double acos(double) __NDK_FPABI_MATH__;
|
||||||
double asin(double);
|
double asin(double) __NDK_FPABI_MATH__;
|
||||||
double atan(double);
|
double atan(double) __NDK_FPABI_MATH__;
|
||||||
double atan2(double, double);
|
double atan2(double, double) __NDK_FPABI_MATH__;
|
||||||
double cos(double);
|
double cos(double) __NDK_FPABI_MATH__;
|
||||||
double sin(double);
|
double sin(double) __NDK_FPABI_MATH__;
|
||||||
double tan(double);
|
double tan(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double cosh(double);
|
double cosh(double) __NDK_FPABI_MATH__;
|
||||||
double sinh(double);
|
double sinh(double) __NDK_FPABI_MATH__;
|
||||||
double tanh(double);
|
double tanh(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double exp(double);
|
double exp(double) __NDK_FPABI_MATH__;
|
||||||
double frexp(double, int *); /* fundamentally !__pure2 */
|
double frexp(double, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
double ldexp(double, int);
|
double ldexp(double, int) __NDK_FPABI_MATH__;
|
||||||
double log(double);
|
double log(double) __NDK_FPABI_MATH__;
|
||||||
double log10(double);
|
double log10(double) __NDK_FPABI_MATH__;
|
||||||
double modf(double, double *); /* fundamentally !__pure2 */
|
double modf(double, double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
double pow(double, double);
|
double pow(double, double) __NDK_FPABI_MATH__;
|
||||||
double sqrt(double);
|
double sqrt(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double ceil(double);
|
double ceil(double) __NDK_FPABI_MATH__;
|
||||||
double fabs(double) __pure2;
|
double fabs(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double floor(double);
|
double floor(double) __NDK_FPABI_MATH__;
|
||||||
double fmod(double, double);
|
double fmod(double, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions are not in C90.
|
* These functions are not in C90.
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
double acosh(double);
|
double acosh(double) __NDK_FPABI_MATH__;
|
||||||
double asinh(double);
|
double asinh(double) __NDK_FPABI_MATH__;
|
||||||
double atanh(double);
|
double atanh(double) __NDK_FPABI_MATH__;
|
||||||
double cbrt(double);
|
double cbrt(double) __NDK_FPABI_MATH__;
|
||||||
double erf(double);
|
double erf(double) __NDK_FPABI_MATH__;
|
||||||
double erfc(double);
|
double erfc(double) __NDK_FPABI_MATH__;
|
||||||
double exp2(double);
|
double exp2(double) __NDK_FPABI_MATH__;
|
||||||
double expm1(double);
|
double expm1(double) __NDK_FPABI_MATH__;
|
||||||
double fma(double, double, double);
|
double fma(double, double, double) __NDK_FPABI_MATH__;
|
||||||
double hypot(double, double);
|
double hypot(double, double) __NDK_FPABI_MATH__;
|
||||||
int ilogb(double) __pure2;
|
int ilogb(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* int (isinf)(double) __pure2; */
|
/* int (isinf)(double) __NDK_FPABI_MATH__ __pure2; */
|
||||||
int (isnan)(double) __pure2;
|
int (isnan)(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double lgamma(double);
|
double lgamma(double) __NDK_FPABI_MATH__;
|
||||||
long long llrint(double);
|
long long llrint(double) __NDK_FPABI_MATH__;
|
||||||
long long llround(double);
|
long long llround(double) __NDK_FPABI_MATH__;
|
||||||
double log1p(double);
|
double log1p(double) __NDK_FPABI_MATH__;
|
||||||
double logb(double);
|
double logb(double) __NDK_FPABI_MATH__;
|
||||||
long lrint(double);
|
long lrint(double) __NDK_FPABI_MATH__;
|
||||||
long lround(double);
|
long lround(double) __NDK_FPABI_MATH__;
|
||||||
double nextafter(double, double);
|
double nextafter(double, double) __NDK_FPABI_MATH__;
|
||||||
double remainder(double, double);
|
double remainder(double, double) __NDK_FPABI_MATH__;
|
||||||
double remquo(double, double, int *);
|
double remquo(double, double, int *) __NDK_FPABI_MATH__;
|
||||||
double rint(double);
|
double rint(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
double j0(double);
|
double j0(double) __NDK_FPABI_MATH__;
|
||||||
double j1(double);
|
double j1(double) __NDK_FPABI_MATH__;
|
||||||
double jn(int, double);
|
double jn(int, double) __NDK_FPABI_MATH__;
|
||||||
double scalb(double, double);
|
double scalb(double, double) __NDK_FPABI_MATH__;
|
||||||
double y0(double);
|
double y0(double) __NDK_FPABI_MATH__;
|
||||||
double y1(double);
|
double y1(double) __NDK_FPABI_MATH__;
|
||||||
double yn(int, double);
|
double yn(int, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
||||||
double gamma(double);
|
double gamma(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
||||||
double copysign(double, double) __pure2;
|
double copysign(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fdim(double, double);
|
double fdim(double, double) __NDK_FPABI_MATH__;
|
||||||
double fmax(double, double) __pure2;
|
double fmax(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fmin(double, double) __pure2;
|
double fmin(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double nearbyint(double);
|
double nearbyint(double) __NDK_FPABI_MATH__;
|
||||||
double round(double);
|
double round(double) __NDK_FPABI_MATH__;
|
||||||
double scalbln(double, long);
|
double scalbln(double, long) __NDK_FPABI_MATH__;
|
||||||
double scalbn(double, int);
|
double scalbn(double, int) __NDK_FPABI_MATH__;
|
||||||
double tgamma(double);
|
double tgamma(double) __NDK_FPABI_MATH__;
|
||||||
double trunc(double);
|
double trunc(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BSD math library entry points
|
* BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
double drem(double, double);
|
double drem(double, double) __NDK_FPABI_MATH__;
|
||||||
int finite(double) __pure2;
|
int finite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int isnanf(float) __pure2;
|
int isnanf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
||||||
* as the second argument; user must allocate space for signgam.
|
* as the second argument; user must allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
double gamma_r(double, int *);
|
double gamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
double lgamma_r(double, int *);
|
double lgamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IEEE Test Vector
|
* IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
double significand(double);
|
double significand(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/* float versions of ANSI/POSIX functions */
|
/* float versions of ANSI/POSIX functions */
|
||||||
/*#if __ISO_C_VISIBLE >= 1999 */
|
/*#if __ISO_C_VISIBLE >= 1999 */
|
||||||
float acosf(float);
|
float acosf(float) __NDK_FPABI_MATH__;
|
||||||
float asinf(float);
|
float asinf(float) __NDK_FPABI_MATH__;
|
||||||
float atanf(float);
|
float atanf(float) __NDK_FPABI_MATH__;
|
||||||
float atan2f(float, float);
|
float atan2f(float, float) __NDK_FPABI_MATH__;
|
||||||
float cosf(float);
|
float cosf(float) __NDK_FPABI_MATH__;
|
||||||
float sinf(float);
|
float sinf(float) __NDK_FPABI_MATH__;
|
||||||
float tanf(float);
|
float tanf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float coshf(float);
|
float coshf(float) __NDK_FPABI_MATH__;
|
||||||
float sinhf(float);
|
float sinhf(float) __NDK_FPABI_MATH__;
|
||||||
float tanhf(float);
|
float tanhf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float exp2f(float);
|
float exp2f(float) __NDK_FPABI_MATH__;
|
||||||
float expf(float);
|
float expf(float) __NDK_FPABI_MATH__;
|
||||||
float expm1f(float);
|
float expm1f(float) __NDK_FPABI_MATH__;
|
||||||
float frexpf(float, int *); /* fundamentally !__pure2 */
|
float frexpf(float, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
int ilogbf(float) __pure2;
|
int ilogbf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float ldexpf(float, int);
|
float ldexpf(float, int) __NDK_FPABI_MATH__;
|
||||||
float log10f(float);
|
float log10f(float) __NDK_FPABI_MATH__;
|
||||||
float log1pf(float);
|
float log1pf(float) __NDK_FPABI_MATH__;
|
||||||
float logf(float);
|
float logf(float) __NDK_FPABI_MATH__;
|
||||||
float modff(float, float *); /* fundamentally !__pure2 */
|
float modff(float, float *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
float powf(float, float);
|
float powf(float, float) __NDK_FPABI_MATH__;
|
||||||
float sqrtf(float);
|
float sqrtf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float ceilf(float);
|
float ceilf(float) __NDK_FPABI_MATH__;
|
||||||
float fabsf(float) __pure2;
|
float fabsf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float floorf(float);
|
float floorf(float) __NDK_FPABI_MATH__;
|
||||||
float fmodf(float, float);
|
float fmodf(float, float) __NDK_FPABI_MATH__;
|
||||||
float roundf(float);
|
float roundf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float erff(float);
|
float erff(float) __NDK_FPABI_MATH__;
|
||||||
float erfcf(float);
|
float erfcf(float) __NDK_FPABI_MATH__;
|
||||||
float hypotf(float, float);
|
float hypotf(float, float) __NDK_FPABI_MATH__;
|
||||||
float lgammaf(float);
|
float lgammaf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float acoshf(float);
|
float acoshf(float) __NDK_FPABI_MATH__;
|
||||||
float asinhf(float);
|
float asinhf(float) __NDK_FPABI_MATH__;
|
||||||
float atanhf(float);
|
float atanhf(float) __NDK_FPABI_MATH__;
|
||||||
float cbrtf(float);
|
float cbrtf(float) __NDK_FPABI_MATH__;
|
||||||
float logbf(float);
|
float logbf(float) __NDK_FPABI_MATH__;
|
||||||
float copysignf(float, float) __pure2;
|
float copysignf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
long long llrintf(float);
|
long long llrintf(float) __NDK_FPABI_MATH__;
|
||||||
long long llroundf(float);
|
long long llroundf(float) __NDK_FPABI_MATH__;
|
||||||
long lrintf(float);
|
long lrintf(float) __NDK_FPABI_MATH__;
|
||||||
long lroundf(float);
|
long lroundf(float) __NDK_FPABI_MATH__;
|
||||||
float nearbyintf(float);
|
float nearbyintf(float) __NDK_FPABI_MATH__;
|
||||||
float nextafterf(float, float);
|
float nextafterf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remainderf(float, float);
|
float remainderf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remquof(float, float, int *);
|
float remquof(float, float, int *) __NDK_FPABI_MATH__;
|
||||||
float rintf(float);
|
float rintf(float) __NDK_FPABI_MATH__;
|
||||||
float scalblnf(float, long);
|
float scalblnf(float, long) __NDK_FPABI_MATH__;
|
||||||
float scalbnf(float, int);
|
float scalbnf(float, int) __NDK_FPABI_MATH__;
|
||||||
float truncf(float);
|
float truncf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float fdimf(float, float);
|
float fdimf(float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaf(float, float, float);
|
float fmaf(float, float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaxf(float, float) __pure2;
|
float fmaxf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float fminf(float, float) __pure2;
|
float fminf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float versions of BSD math library entry points
|
* float versions of BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
float dremf(float, float);
|
float dremf(float, float) __NDK_FPABI_MATH__;
|
||||||
int finitef(float) __pure2;
|
int finitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float gammaf(float);
|
float gammaf(float) __NDK_FPABI_MATH__;
|
||||||
float j0f(float);
|
float j0f(float) __NDK_FPABI_MATH__;
|
||||||
float j1f(float);
|
float j1f(float) __NDK_FPABI_MATH__;
|
||||||
float jnf(int, float);
|
float jnf(int, float) __NDK_FPABI_MATH__;
|
||||||
float scalbf(float, float);
|
float scalbf(float, float) __NDK_FPABI_MATH__;
|
||||||
float y0f(float);
|
float y0f(float) __NDK_FPABI_MATH__;
|
||||||
float y1f(float);
|
float y1f(float) __NDK_FPABI_MATH__;
|
||||||
float ynf(int, float);
|
float ynf(int, float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Float versions of reentrant version of gamma & lgamma; passes
|
* Float versions of reentrant version of gamma & lgamma; passes
|
||||||
* signgam back by reference as the second argument; user must
|
* signgam back by reference as the second argument; user must
|
||||||
* allocate space for signgam.
|
* allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
float gammaf_r(float, int *);
|
float gammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
float lgammaf_r(float, int *);
|
float lgammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float version of IEEE Test Vector
|
* float version of IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
float significandf(float);
|
float significandf(float) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -403,82 +403,82 @@ float significandf(float);
|
|||||||
*/
|
*/
|
||||||
/* #if __ISO_C_VISIBLE >= 1999 */
|
/* #if __ISO_C_VISIBLE >= 1999 */
|
||||||
#if 0
|
#if 0
|
||||||
long double acoshl(long double);
|
long double acoshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double acosl(long double);
|
long double acosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinhl(long double);
|
long double asinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinl(long double);
|
long double asinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atan2l(long double, long double);
|
long double atan2l(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double atanhl(long double);
|
long double atanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atanl(long double);
|
long double atanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cbrtl(long double);
|
long double cbrtl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double ceill(long double);
|
long double ceill(long double) __NDK_FPABI_MATH__;
|
||||||
long double copysignl(long double, long double) __pure2;
|
long double copysignl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double coshl(long double);
|
long double coshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cosl(long double);
|
long double cosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfcl(long double);
|
long double erfcl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfl(long double);
|
long double erfl(long double) __NDK_FPABI_MATH__;
|
||||||
long double exp2l(long double);
|
long double exp2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double expl(long double);
|
long double expl(long double) __NDK_FPABI_MATH__;
|
||||||
long double expm1l(long double);
|
long double expm1l(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double fabsl(long double) __pure2;
|
long double fabsl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fdiml(long double, long double);
|
long double fdiml(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double floorl(long double);
|
long double floorl(long double) __NDK_FPABI_MATH__;
|
||||||
long double fmal(long double, long double, long double);
|
long double fmal(long double, long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double fmaxl(long double, long double) __pure2;
|
long double fmaxl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fminl(long double, long double) __pure2;
|
long double fminl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double fmodl(long double, long double);
|
long double fmodl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double frexpl(long double value, int *); /* fundamentally !__pure2 */
|
long double frexpl(long double value, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
#if 0
|
#if 0
|
||||||
long double hypotl(long double, long double);
|
long double hypotl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
int ilogbl(long double) __pure2;
|
int ilogbl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double ldexpl(long double, int);
|
long double ldexpl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double lgammal(long double);
|
long double lgammal(long double) __NDK_FPABI_MATH__;
|
||||||
long long llrintl(long double);
|
long long llrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long long llroundl(long double);
|
long long llroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double log10l(long double);
|
long double log10l(long double) __NDK_FPABI_MATH__;
|
||||||
long double log1pl(long double);
|
long double log1pl(long double) __NDK_FPABI_MATH__;
|
||||||
long double log2l(long double);
|
long double log2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double logbl(long double);
|
long double logbl(long double) __NDK_FPABI_MATH__;
|
||||||
long double logl(long double);
|
long double logl(long double) __NDK_FPABI_MATH__;
|
||||||
long lrintl(long double);
|
long lrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long lroundl(long double);
|
long lroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double modfl(long double, long double *); /* fundamentally !__pure2 */
|
long double modfl(long double, long double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
long double nanl(const char *) __pure2;
|
long double nanl(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double nearbyintl(long double);
|
long double nearbyintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double nextafterl(long double, long double);
|
long double nextafterl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
double nexttoward(double, long double);
|
double nexttoward(double, long double) __NDK_FPABI_MATH__;
|
||||||
float nexttowardf(float, long double);
|
float nexttowardf(float, long double) __NDK_FPABI_MATH__;
|
||||||
long double nexttowardl(long double, long double);
|
long double nexttowardl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double powl(long double, long double);
|
long double powl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remainderl(long double, long double);
|
long double remainderl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remquol(long double, long double, int *);
|
long double remquol(long double, long double, int *) __NDK_FPABI_MATH__;
|
||||||
long double rintl(long double);
|
long double rintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double roundl(long double);
|
long double roundl(long double) __NDK_FPABI_MATH__;
|
||||||
long double scalblnl(long double, long);
|
long double scalblnl(long double, long) __NDK_FPABI_MATH__;
|
||||||
long double scalbnl(long double, int);
|
long double scalbnl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double sinhl(long double);
|
long double sinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sinl(long double);
|
long double sinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sqrtl(long double);
|
long double sqrtl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanhl(long double);
|
long double tanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanl(long double);
|
long double tanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tgammal(long double);
|
long double tgammal(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double truncl(long double);
|
long double truncl(long double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|||||||
@@ -63,8 +63,9 @@ extern long strtol(const char *, char **, int);
|
|||||||
extern long long strtoll(const char *, char **, int);
|
extern long long strtoll(const char *, char **, int);
|
||||||
extern unsigned long strtoul(const char *, char **, int);
|
extern unsigned long strtoul(const char *, char **, int);
|
||||||
extern unsigned long long strtoull(const char *, char **, int);
|
extern unsigned long long strtoull(const char *, char **, int);
|
||||||
extern double strtod(const char *nptr, char **endptr);
|
extern double strtod(const char *nptr, char **endptr) __NDK_FPABI__;
|
||||||
|
|
||||||
|
__NDK_FPABI__
|
||||||
static __inline__ float strtof(const char *nptr, char **endptr)
|
static __inline__ float strtof(const char *nptr, char **endptr)
|
||||||
{
|
{
|
||||||
return (float)strtod(nptr, endptr);
|
return (float)strtod(nptr, endptr);
|
||||||
@@ -74,6 +75,7 @@ extern int atoi(const char *);
|
|||||||
extern long atol(const char *);
|
extern long atol(const char *);
|
||||||
extern long long atoll(const char *);
|
extern long long atoll(const char *);
|
||||||
|
|
||||||
|
__NDK_FPABI__
|
||||||
static __inline__ double atof(const char *nptr)
|
static __inline__ double atof(const char *nptr)
|
||||||
{
|
{
|
||||||
return (strtod(nptr, NULL));
|
return (strtod(nptr, NULL));
|
||||||
@@ -105,8 +107,8 @@ extern long mrand48(void);
|
|||||||
extern long nrand48(unsigned short *);
|
extern long nrand48(unsigned short *);
|
||||||
extern long lrand48(void);
|
extern long lrand48(void);
|
||||||
extern unsigned short *seed48(unsigned short*);
|
extern unsigned short *seed48(unsigned short*);
|
||||||
extern double erand48(unsigned short xsubi[3]);
|
extern double erand48(unsigned short xsubi[3]) __NDK_FPABI__;
|
||||||
extern double drand48(void);
|
extern double drand48(void) __NDK_FPABI__;
|
||||||
extern void srand48(long);
|
extern void srand48(long);
|
||||||
extern unsigned int arc4random(void);
|
extern unsigned int arc4random(void);
|
||||||
extern void arc4random_stir(void);
|
extern void arc4random_stir(void);
|
||||||
|
|||||||
@@ -530,4 +530,31 @@
|
|||||||
#define __BIONIC__ 1
|
#define __BIONIC__ 1
|
||||||
#include <android/api-level.h>
|
#include <android/api-level.h>
|
||||||
|
|
||||||
|
/* __NDK_FPABI__ or __NDK_FPABI_MATH__ are applied to APIs taking or returning float or
|
||||||
|
[long] double, to ensure even at the presence of -mhard-float (which implies
|
||||||
|
-mfloat-abi=hard), calling to 32-bit Android native APIs still follow -mfloat-abi=softfp.
|
||||||
|
|
||||||
|
__NDK_FPABI_MATH__ is applied to APIs in math.h. It normally equals to __NDK_FPABI__,
|
||||||
|
but allows use of customized libm.a compiled with -mhard-float by -D_NDK_MATH_NO_SOFTFP=1
|
||||||
|
|
||||||
|
NOTE: Disable for clang for now unless _NDK_MATH_NO_SOFTFP=1, because clang before 3.4 doesn't
|
||||||
|
allow change of calling convension for builtin and produces error message reads:
|
||||||
|
|
||||||
|
a.i:564:6: error: function declared 'aapcs' here was previously declared without calling convention
|
||||||
|
int sin(double d) __attribute__((pcs("aapcs")));
|
||||||
|
^
|
||||||
|
a.i:564:6: note: previous declaration is here
|
||||||
|
*/
|
||||||
|
#if defined(__ANDROID__) && !__LP64__ && defined( __arm__)
|
||||||
|
#define __NDK_FPABI__ __attribute__((pcs("aapcs")))
|
||||||
|
#else
|
||||||
|
#define __NDK_FPABI__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (!defined(_NDK_MATH_NO_SOFTFP) || _NDK_MATH_NO_SOFTFP != 1) && !defined(__clang__)
|
||||||
|
#define __NDK_FPABI_MATH__ __NDK_FPABI__
|
||||||
|
#else
|
||||||
|
#define __NDK_FPABI_MATH__ /* nothing */
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !_SYS_CDEFS_H_ */
|
#endif /* !_SYS_CDEFS_H_ */
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ extern char* asctime(const struct tm* a);
|
|||||||
extern char* asctime_r(const struct tm* a, char* buf);
|
extern char* asctime_r(const struct tm* a, char* buf);
|
||||||
|
|
||||||
/* Return the difference between TIME1 and TIME0. */
|
/* Return the difference between TIME1 and TIME0. */
|
||||||
extern double difftime (time_t __time1, time_t __time0);
|
extern double difftime (time_t __time1, time_t __time0) __NDK_FPABI__;
|
||||||
extern time_t mktime (struct tm *a);
|
extern time_t mktime (struct tm *a);
|
||||||
|
|
||||||
extern struct tm* localtime(const time_t *t);
|
extern struct tm* localtime(const time_t *t);
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
|
|||||||
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
||||||
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
||||||
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
||||||
extern double wcstod(const wchar_t *, wchar_t **);
|
extern double wcstod(const wchar_t *, wchar_t **) __NDK_FPABI__;
|
||||||
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
||||||
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
||||||
extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int);
|
extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int);
|
||||||
|
|||||||
@@ -92,7 +92,8 @@
|
|||||||
#elif defined (__SYMBIAN32__)
|
#elif defined (__SYMBIAN32__)
|
||||||
# define KHRONOS_APICALL IMPORT_C
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
#elif defined(__ANDROID__)
|
#elif defined(__ANDROID__)
|
||||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
# include <sys/cdefs.h>
|
||||||
|
# define KHRONOS_APICALL __attribute__((visibility("default"))) __NDK_FPABI__
|
||||||
#else
|
#else
|
||||||
# define KHRONOS_APICALL
|
# define KHRONOS_APICALL
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -64,8 +64,9 @@ extern long strtol(const char *, char **, int);
|
|||||||
extern long long strtoll(const char *, char **, int);
|
extern long long strtoll(const char *, char **, int);
|
||||||
extern unsigned long strtoul(const char *, char **, int);
|
extern unsigned long strtoul(const char *, char **, int);
|
||||||
extern unsigned long long strtoull(const char *, char **, int);
|
extern unsigned long long strtoull(const char *, char **, int);
|
||||||
extern double strtod(const char *nptr, char **endptr);
|
extern double strtod(const char *nptr, char **endptr) __NDK_FPABI__;
|
||||||
|
|
||||||
|
__NDK_FPABI__
|
||||||
static __inline__ float strtof(const char *nptr, char **endptr)
|
static __inline__ float strtof(const char *nptr, char **endptr)
|
||||||
{
|
{
|
||||||
return (float)strtod(nptr, endptr);
|
return (float)strtod(nptr, endptr);
|
||||||
@@ -75,6 +76,7 @@ extern int atoi(const char *);
|
|||||||
extern long atol(const char *);
|
extern long atol(const char *);
|
||||||
extern long long atoll(const char *);
|
extern long long atoll(const char *);
|
||||||
|
|
||||||
|
__NDK_FPABI__
|
||||||
static __inline__ double atof(const char *nptr)
|
static __inline__ double atof(const char *nptr)
|
||||||
{
|
{
|
||||||
return (strtod(nptr, NULL));
|
return (strtod(nptr, NULL));
|
||||||
@@ -106,8 +108,8 @@ extern long mrand48(void);
|
|||||||
extern long nrand48(unsigned short *);
|
extern long nrand48(unsigned short *);
|
||||||
extern long lrand48(void);
|
extern long lrand48(void);
|
||||||
extern unsigned short *seed48(unsigned short*);
|
extern unsigned short *seed48(unsigned short*);
|
||||||
extern double erand48(unsigned short xsubi[3]);
|
extern double erand48(unsigned short xsubi[3]) __NDK_FPABI__;
|
||||||
extern double drand48(void);
|
extern double drand48(void) __NDK_FPABI__;
|
||||||
extern void srand48(long);
|
extern void srand48(long);
|
||||||
extern unsigned int arc4random(void);
|
extern unsigned int arc4random(void);
|
||||||
extern void arc4random_stir(void);
|
extern void arc4random_stir(void);
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ extern char* asctime(const struct tm* a);
|
|||||||
extern char* asctime_r(const struct tm* a, char* buf);
|
extern char* asctime_r(const struct tm* a, char* buf);
|
||||||
|
|
||||||
/* Return the difference between TIME1 and TIME0. */
|
/* Return the difference between TIME1 and TIME0. */
|
||||||
extern double difftime (time_t __time1, time_t __time0);
|
extern double difftime (time_t __time1, time_t __time0) __NDK_FPABI__;
|
||||||
extern time_t mktime (struct tm *a);
|
extern time_t mktime (struct tm *a);
|
||||||
|
|
||||||
extern struct tm* localtime(const time_t *t);
|
extern struct tm* localtime(const time_t *t);
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
|
|||||||
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
||||||
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
||||||
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
||||||
extern double wcstod(const wchar_t *, wchar_t **);
|
extern double wcstod(const wchar_t *, wchar_t **) __NDK_FPABI__;
|
||||||
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
||||||
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
||||||
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
||||||
|
|||||||
@@ -433,23 +433,23 @@ int64_t AMotionEvent_getEventTime(const AInputEvent* motion_event);
|
|||||||
* For touch events on the screen, this is the delta that was added to the raw
|
* For touch events on the screen, this is the delta that was added to the raw
|
||||||
* screen coordinates to adjust for the absolute position of the containing windows
|
* screen coordinates to adjust for the absolute position of the containing windows
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getXOffset(const AInputEvent* motion_event);
|
float AMotionEvent_getXOffset(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the Y coordinates being reported.
|
/* Get the precision of the Y coordinates being reported.
|
||||||
* For touch events on the screen, this is the delta that was added to the raw
|
* For touch events on the screen, this is the delta that was added to the raw
|
||||||
* screen coordinates to adjust for the absolute position of the containing windows
|
* screen coordinates to adjust for the absolute position of the containing windows
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getYOffset(const AInputEvent* motion_event);
|
float AMotionEvent_getYOffset(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the X coordinates being reported.
|
/* Get the precision of the X coordinates being reported.
|
||||||
* You can multiply this number with an X coordinate sample to find the
|
* You can multiply this number with an X coordinate sample to find the
|
||||||
* actual hardware value of the X coordinate. */
|
* actual hardware value of the X coordinate. */
|
||||||
float AMotionEvent_getXPrecision(const AInputEvent* motion_event);
|
float AMotionEvent_getXPrecision(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the precision of the Y coordinates being reported.
|
/* Get the precision of the Y coordinates being reported.
|
||||||
* You can multiply this number with a Y coordinate sample to find the
|
* You can multiply this number with a Y coordinate sample to find the
|
||||||
* actual hardware value of the Y coordinate. */
|
* actual hardware value of the Y coordinate. */
|
||||||
float AMotionEvent_getYPrecision(const AInputEvent* motion_event);
|
float AMotionEvent_getYPrecision(const AInputEvent* motion_event) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the number of pointers of data contained in this event.
|
/* Get the number of pointers of data contained in this event.
|
||||||
* Always >= 1. */
|
* Always >= 1. */
|
||||||
@@ -465,29 +465,29 @@ int32_t AMotionEvent_getPointerId(const AInputEvent* motion_event, size_t pointe
|
|||||||
* For touch events on the screen, this is the original location of the event
|
* For touch events on the screen, this is the original location of the event
|
||||||
* on the screen, before it had been adjusted for the containing window
|
* on the screen, before it had been adjusted for the containing window
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getRawX(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the original raw X coordinate of this event.
|
/* Get the original raw X coordinate of this event.
|
||||||
* For touch events on the screen, this is the original location of the event
|
* For touch events on the screen, this is the original location of the event
|
||||||
* on the screen, before it had been adjusted for the containing window
|
* on the screen, before it had been adjusted for the containing window
|
||||||
* and views. */
|
* and views. */
|
||||||
float AMotionEvent_getRawY(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getRawY(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current X coordinate of this event for the given pointer index.
|
/* Get the current X coordinate of this event for the given pointer index.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getX(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getX(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current Y coordinate of this event for the given pointer index.
|
/* Get the current Y coordinate of this event for the given pointer index.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getY(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getY(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current pressure of this event for the given pointer index.
|
/* Get the current pressure of this event for the given pointer index.
|
||||||
* The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure),
|
* The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure),
|
||||||
* although values higher than 1 may be generated depending on the calibration of
|
* although values higher than 1 may be generated depending on the calibration of
|
||||||
* the input device. */
|
* the input device. */
|
||||||
float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current scaled value of the approximate size for the given pointer index.
|
/* Get the current scaled value of the approximate size for the given pointer index.
|
||||||
* This represents some approximation of the area of the screen being
|
* This represents some approximation of the area of the screen being
|
||||||
@@ -495,27 +495,27 @@ float AMotionEvent_getPressure(const AInputEvent* motion_event, size_t pointer_i
|
|||||||
* touch is normalized with the device specific range of values
|
* touch is normalized with the device specific range of values
|
||||||
* and scaled to a value between 0 and 1. The value of size can be used to
|
* and scaled to a value between 0 and 1. The value of size can be used to
|
||||||
* determine fat touch events. */
|
* determine fat touch events. */
|
||||||
float AMotionEvent_getSize(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getSize(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the major axis of an ellipse that describes the touch area
|
/* Get the current length of the major axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index. */
|
* at the point of contact for the given pointer index. */
|
||||||
float AMotionEvent_getTouchMajor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getTouchMajor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the minor axis of an ellipse that describes the touch area
|
/* Get the current length of the minor axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index. */
|
* at the point of contact for the given pointer index. */
|
||||||
float AMotionEvent_getTouchMinor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getTouchMinor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the major axis of an ellipse that describes the size
|
/* Get the current length of the major axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index.
|
* of the approaching tool for the given pointer index.
|
||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getToolMajor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getToolMajor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current length of the minor axis of an ellipse that describes the size
|
/* Get the current length of the minor axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index.
|
* of the approaching tool for the given pointer index.
|
||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current orientation of the touch area and tool area in radians clockwise from
|
/* Get the current orientation of the touch area and tool area in radians clockwise from
|
||||||
* vertical for the given pointer index.
|
* vertical for the given pointer index.
|
||||||
@@ -525,7 +525,7 @@ float AMotionEvent_getToolMinor(const AInputEvent* motion_event, size_t pointer_
|
|||||||
* indicates that the major axis of contact is oriented to the left.
|
* indicates that the major axis of contact is oriented to the left.
|
||||||
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
||||||
* (finger pointing fully right). */
|
* (finger pointing fully right). */
|
||||||
float AMotionEvent_getOrientation(const AInputEvent* motion_event, size_t pointer_index);
|
float AMotionEvent_getOrientation(const AInputEvent* motion_event, size_t pointer_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the number of historical points in this event. These are movements that
|
/* Get the number of historical points in this event. These are movements that
|
||||||
* have occurred between this event and the previous event. This only applies
|
* have occurred between this event and the previous event. This only applies
|
||||||
@@ -546,7 +546,7 @@ int64_t AMotionEvent_getHistoricalEventTime(const AInputEvent* motion_event,
|
|||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical raw Y coordinate of this event for the given pointer index that
|
/* Get the historical raw Y coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -556,21 +556,21 @@ float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event, size_t poi
|
|||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical X coordinate of this event for the given pointer index that
|
/* Get the historical X coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalX(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalX(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical Y coordinate of this event for the given pointer index that
|
/* Get the historical Y coordinate of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
* Whole numbers are pixels; the value may have a fraction for input devices
|
* Whole numbers are pixels; the value may have a fraction for input devices
|
||||||
* that are sub-pixel precise. */
|
* that are sub-pixel precise. */
|
||||||
float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical pressure of this event for the given pointer index that
|
/* Get the historical pressure of this event for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -578,7 +578,7 @@ float AMotionEvent_getHistoricalY(const AInputEvent* motion_event, size_t pointe
|
|||||||
* although values higher than 1 may be generated depending on the calibration of
|
* although values higher than 1 may be generated depending on the calibration of
|
||||||
* the input device. */
|
* the input device. */
|
||||||
float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the current scaled value of the approximate size for the given pointer index that
|
/* Get the current scaled value of the approximate size for the given pointer index that
|
||||||
* occurred between this event and the previous motion event.
|
* occurred between this event and the previous motion event.
|
||||||
@@ -588,19 +588,19 @@ float AMotionEvent_getHistoricalPressure(const AInputEvent* motion_event, size_t
|
|||||||
* and scaled to a value between 0 and 1. The value of size can be used to
|
* and scaled to a value between 0 and 1. The value of size can be used to
|
||||||
* determine fat touch events. */
|
* determine fat touch events. */
|
||||||
float AMotionEvent_getHistoricalSize(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalSize(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the major axis of an ellipse that describes the touch area
|
/* Get the historical length of the major axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index that
|
* at the point of contact for the given pointer index that
|
||||||
* occurred between this event and the previous motion event. */
|
* occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalTouchMajor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalTouchMajor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the minor axis of an ellipse that describes the touch area
|
/* Get the historical length of the minor axis of an ellipse that describes the touch area
|
||||||
* at the point of contact for the given pointer index that
|
* at the point of contact for the given pointer index that
|
||||||
* occurred between this event and the previous motion event. */
|
* occurred between this event and the previous motion event. */
|
||||||
float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the major axis of an ellipse that describes the size
|
/* Get the historical length of the major axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index that
|
* of the approaching tool for the given pointer index that
|
||||||
@@ -608,7 +608,7 @@ float AMotionEvent_getHistoricalTouchMinor(const AInputEvent* motion_event, size
|
|||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical length of the minor axis of an ellipse that describes the size
|
/* Get the historical length of the minor axis of an ellipse that describes the size
|
||||||
* of the approaching tool for the given pointer index that
|
* of the approaching tool for the given pointer index that
|
||||||
@@ -616,7 +616,7 @@ float AMotionEvent_getHistoricalToolMajor(const AInputEvent* motion_event, size_
|
|||||||
* The tool area represents the estimated size of the finger or pen that is
|
* The tool area represents the estimated size of the finger or pen that is
|
||||||
* touching the device independent of its actual touch area at the point of contact. */
|
* touching the device independent of its actual touch area at the point of contact. */
|
||||||
float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
/* Get the historical orientation of the touch area and tool area in radians clockwise from
|
/* Get the historical orientation of the touch area and tool area in radians clockwise from
|
||||||
* vertical for the given pointer index that
|
* vertical for the given pointer index that
|
||||||
@@ -628,7 +628,7 @@ float AMotionEvent_getHistoricalToolMinor(const AInputEvent* motion_event, size_
|
|||||||
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
* The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians
|
||||||
* (finger pointing fully right). */
|
* (finger pointing fully right). */
|
||||||
float AMotionEvent_getHistoricalOrientation(const AInputEvent* motion_event, size_t pointer_index,
|
float AMotionEvent_getHistoricalOrientation(const AInputEvent* motion_event, size_t pointer_index,
|
||||||
size_t history_index);
|
size_t history_index) __NDK_FPABI__;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ int ASensor_getType(ASensor const* sensor);
|
|||||||
/*
|
/*
|
||||||
* Returns this sensors's resolution
|
* Returns this sensors's resolution
|
||||||
*/
|
*/
|
||||||
float ASensor_getResolution(ASensor const* sensor);
|
float ASensor_getResolution(ASensor const* sensor) __NDK_FPABI__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Returns the minimum delay allowed between events in microseconds.
|
* Returns the minimum delay allowed between events in microseconds.
|
||||||
|
|||||||
@@ -183,219 +183,219 @@ __BEGIN_DECLS
|
|||||||
/*
|
/*
|
||||||
* ANSI/POSIX
|
* ANSI/POSIX
|
||||||
*/
|
*/
|
||||||
int __fpclassifyd(double) __pure2;
|
int __fpclassifyd(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyf(float) __pure2;
|
int __fpclassifyf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __fpclassifyl(long double) __pure2;
|
int __fpclassifyl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitef(float) __pure2;
|
int __isfinitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinite(double) __pure2;
|
int __isfinite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isfinitel(long double) __pure2;
|
int __isfinitel(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinff(float) __pure2;
|
int __isinff(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinf(double) __pure2;
|
int __isinf(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isinfl(long double) __pure2;
|
int __isinfl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnanl(long double) __pure2;
|
int __isnanl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormalf(float) __pure2;
|
int __isnormalf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormal(double) __pure2;
|
int __isnormal(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __isnormall(long double) __pure2;
|
int __isnormall(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbit(double) __pure2;
|
int __signbit(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitf(float) __pure2;
|
int __signbitf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
int __signbitl(long double) __pure2;
|
int __signbitl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
double acos(double);
|
double acos(double) __NDK_FPABI_MATH__;
|
||||||
double asin(double);
|
double asin(double) __NDK_FPABI_MATH__;
|
||||||
double atan(double);
|
double atan(double) __NDK_FPABI_MATH__;
|
||||||
double atan2(double, double);
|
double atan2(double, double) __NDK_FPABI_MATH__;
|
||||||
double cos(double);
|
double cos(double) __NDK_FPABI_MATH__;
|
||||||
double sin(double);
|
double sin(double) __NDK_FPABI_MATH__;
|
||||||
double tan(double);
|
double tan(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double cosh(double);
|
double cosh(double) __NDK_FPABI_MATH__;
|
||||||
double sinh(double);
|
double sinh(double) __NDK_FPABI_MATH__;
|
||||||
double tanh(double);
|
double tanh(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double exp(double);
|
double exp(double) __NDK_FPABI_MATH__;
|
||||||
double frexp(double, int *); /* fundamentally !__pure2 */
|
double frexp(double, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
double ldexp(double, int);
|
double ldexp(double, int) __NDK_FPABI_MATH__;
|
||||||
double log(double);
|
double log(double) __NDK_FPABI_MATH__;
|
||||||
double log10(double);
|
double log10(double) __NDK_FPABI_MATH__;
|
||||||
double modf(double, double *); /* fundamentally !__pure2 */
|
double modf(double, double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
double pow(double, double);
|
double pow(double, double) __NDK_FPABI_MATH__;
|
||||||
double sqrt(double);
|
double sqrt(double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
double ceil(double);
|
double ceil(double) __NDK_FPABI_MATH__;
|
||||||
double fabs(double) __pure2;
|
double fabs(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double floor(double);
|
double floor(double) __NDK_FPABI_MATH__;
|
||||||
double fmod(double, double);
|
double fmod(double, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions are not in C90.
|
* These functions are not in C90.
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
double acosh(double);
|
double acosh(double) __NDK_FPABI_MATH__;
|
||||||
double asinh(double);
|
double asinh(double) __NDK_FPABI_MATH__;
|
||||||
double atanh(double);
|
double atanh(double) __NDK_FPABI_MATH__;
|
||||||
double cbrt(double);
|
double cbrt(double) __NDK_FPABI_MATH__;
|
||||||
double erf(double);
|
double erf(double) __NDK_FPABI_MATH__;
|
||||||
double erfc(double);
|
double erfc(double) __NDK_FPABI_MATH__;
|
||||||
double exp2(double);
|
double exp2(double) __NDK_FPABI_MATH__;
|
||||||
double expm1(double);
|
double expm1(double) __NDK_FPABI_MATH__;
|
||||||
double fma(double, double, double);
|
double fma(double, double, double) __NDK_FPABI_MATH__;
|
||||||
double hypot(double, double);
|
double hypot(double, double) __NDK_FPABI_MATH__;
|
||||||
int ilogb(double) __pure2;
|
int ilogb(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* int (isinf)(double) __pure2; */
|
/* int (isinf)(double) __NDK_FPABI_MATH__ __pure2; */
|
||||||
int (isnan)(double) __pure2;
|
int (isnan)(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double lgamma(double);
|
double lgamma(double) __NDK_FPABI_MATH__;
|
||||||
long long llrint(double);
|
long long llrint(double) __NDK_FPABI_MATH__;
|
||||||
long long llround(double);
|
long long llround(double) __NDK_FPABI_MATH__;
|
||||||
double log1p(double);
|
double log1p(double) __NDK_FPABI_MATH__;
|
||||||
double logb(double);
|
double logb(double) __NDK_FPABI_MATH__;
|
||||||
long lrint(double);
|
long lrint(double) __NDK_FPABI_MATH__;
|
||||||
long lround(double);
|
long lround(double) __NDK_FPABI_MATH__;
|
||||||
double nextafter(double, double);
|
double nextafter(double, double) __NDK_FPABI_MATH__;
|
||||||
double remainder(double, double);
|
double remainder(double, double) __NDK_FPABI_MATH__;
|
||||||
double remquo(double, double, int *);
|
double remquo(double, double, int *) __NDK_FPABI_MATH__;
|
||||||
double rint(double);
|
double rint(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #if __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
double j0(double);
|
double j0(double) __NDK_FPABI_MATH__;
|
||||||
double j1(double);
|
double j1(double) __NDK_FPABI_MATH__;
|
||||||
double jn(int, double);
|
double jn(int, double) __NDK_FPABI_MATH__;
|
||||||
double scalb(double, double);
|
double scalb(double, double) __NDK_FPABI_MATH__;
|
||||||
double y0(double);
|
double y0(double) __NDK_FPABI_MATH__;
|
||||||
double y1(double);
|
double y1(double) __NDK_FPABI_MATH__;
|
||||||
double yn(int, double);
|
double yn(int, double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */
|
||||||
double gamma(double);
|
double gamma(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */
|
||||||
|
|
||||||
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */
|
||||||
double copysign(double, double) __pure2;
|
double copysign(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fdim(double, double);
|
double fdim(double, double) __NDK_FPABI_MATH__;
|
||||||
double fmax(double, double) __pure2;
|
double fmax(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double fmin(double, double) __pure2;
|
double fmin(double, double) __NDK_FPABI_MATH__ __pure2;
|
||||||
double nearbyint(double);
|
double nearbyint(double) __NDK_FPABI_MATH__;
|
||||||
double round(double);
|
double round(double) __NDK_FPABI_MATH__;
|
||||||
double scalbln(double, long);
|
double scalbln(double, long) __NDK_FPABI_MATH__;
|
||||||
double scalbn(double, int);
|
double scalbn(double, int) __NDK_FPABI_MATH__;
|
||||||
double tgamma(double);
|
double tgamma(double) __NDK_FPABI_MATH__;
|
||||||
double trunc(double);
|
double trunc(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BSD math library entry points
|
* BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
double drem(double, double);
|
double drem(double, double) __NDK_FPABI_MATH__;
|
||||||
int finite(double) __pure2;
|
int finite(double) __NDK_FPABI_MATH__ __pure2;
|
||||||
int isnanf(float) __pure2;
|
int isnanf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
* Reentrant version of gamma & lgamma; passes signgam back by reference
|
||||||
* as the second argument; user must allocate space for signgam.
|
* as the second argument; user must allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
double gamma_r(double, int *);
|
double gamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
double lgamma_r(double, int *);
|
double lgamma_r(double, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IEEE Test Vector
|
* IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
double significand(double);
|
double significand(double) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/* float versions of ANSI/POSIX functions */
|
/* float versions of ANSI/POSIX functions */
|
||||||
/*#if __ISO_C_VISIBLE >= 1999 */
|
/*#if __ISO_C_VISIBLE >= 1999 */
|
||||||
float acosf(float);
|
float acosf(float) __NDK_FPABI_MATH__;
|
||||||
float asinf(float);
|
float asinf(float) __NDK_FPABI_MATH__;
|
||||||
float atanf(float);
|
float atanf(float) __NDK_FPABI_MATH__;
|
||||||
float atan2f(float, float);
|
float atan2f(float, float) __NDK_FPABI_MATH__;
|
||||||
float cosf(float);
|
float cosf(float) __NDK_FPABI_MATH__;
|
||||||
float sinf(float);
|
float sinf(float) __NDK_FPABI_MATH__;
|
||||||
float tanf(float);
|
float tanf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float coshf(float);
|
float coshf(float) __NDK_FPABI_MATH__;
|
||||||
float sinhf(float);
|
float sinhf(float) __NDK_FPABI_MATH__;
|
||||||
float tanhf(float);
|
float tanhf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float exp2f(float);
|
float exp2f(float) __NDK_FPABI_MATH__;
|
||||||
float expf(float);
|
float expf(float) __NDK_FPABI_MATH__;
|
||||||
float expm1f(float);
|
float expm1f(float) __NDK_FPABI_MATH__;
|
||||||
float frexpf(float, int *); /* fundamentally !__pure2 */
|
float frexpf(float, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
int ilogbf(float) __pure2;
|
int ilogbf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float ldexpf(float, int);
|
float ldexpf(float, int) __NDK_FPABI_MATH__;
|
||||||
float log10f(float);
|
float log10f(float) __NDK_FPABI_MATH__;
|
||||||
float log1pf(float);
|
float log1pf(float) __NDK_FPABI_MATH__;
|
||||||
float logf(float);
|
float logf(float) __NDK_FPABI_MATH__;
|
||||||
float modff(float, float *); /* fundamentally !__pure2 */
|
float modff(float, float *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
|
|
||||||
float powf(float, float);
|
float powf(float, float) __NDK_FPABI_MATH__;
|
||||||
float sqrtf(float);
|
float sqrtf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float ceilf(float);
|
float ceilf(float) __NDK_FPABI_MATH__;
|
||||||
float fabsf(float) __pure2;
|
float fabsf(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float floorf(float);
|
float floorf(float) __NDK_FPABI_MATH__;
|
||||||
float fmodf(float, float);
|
float fmodf(float, float) __NDK_FPABI_MATH__;
|
||||||
float roundf(float);
|
float roundf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float erff(float);
|
float erff(float) __NDK_FPABI_MATH__;
|
||||||
float erfcf(float);
|
float erfcf(float) __NDK_FPABI_MATH__;
|
||||||
float hypotf(float, float);
|
float hypotf(float, float) __NDK_FPABI_MATH__;
|
||||||
float lgammaf(float);
|
float lgammaf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float acoshf(float);
|
float acoshf(float) __NDK_FPABI_MATH__;
|
||||||
float asinhf(float);
|
float asinhf(float) __NDK_FPABI_MATH__;
|
||||||
float atanhf(float);
|
float atanhf(float) __NDK_FPABI_MATH__;
|
||||||
float cbrtf(float);
|
float cbrtf(float) __NDK_FPABI_MATH__;
|
||||||
float logbf(float);
|
float logbf(float) __NDK_FPABI_MATH__;
|
||||||
float copysignf(float, float) __pure2;
|
float copysignf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
long long llrintf(float);
|
long long llrintf(float) __NDK_FPABI_MATH__;
|
||||||
long long llroundf(float);
|
long long llroundf(float) __NDK_FPABI_MATH__;
|
||||||
long lrintf(float);
|
long lrintf(float) __NDK_FPABI_MATH__;
|
||||||
long lroundf(float);
|
long lroundf(float) __NDK_FPABI_MATH__;
|
||||||
float nearbyintf(float);
|
float nearbyintf(float) __NDK_FPABI_MATH__;
|
||||||
float nextafterf(float, float);
|
float nextafterf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remainderf(float, float);
|
float remainderf(float, float) __NDK_FPABI_MATH__;
|
||||||
float remquof(float, float, int *);
|
float remquof(float, float, int *) __NDK_FPABI_MATH__;
|
||||||
float rintf(float);
|
float rintf(float) __NDK_FPABI_MATH__;
|
||||||
float scalblnf(float, long);
|
float scalblnf(float, long) __NDK_FPABI_MATH__;
|
||||||
float scalbnf(float, int);
|
float scalbnf(float, int) __NDK_FPABI_MATH__;
|
||||||
float truncf(float);
|
float truncf(float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
float fdimf(float, float);
|
float fdimf(float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaf(float, float, float);
|
float fmaf(float, float, float) __NDK_FPABI_MATH__;
|
||||||
float fmaxf(float, float) __pure2;
|
float fmaxf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float fminf(float, float) __pure2;
|
float fminf(float, float) __NDK_FPABI_MATH__ __pure2;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float versions of BSD math library entry points
|
* float versions of BSD math library entry points
|
||||||
*/
|
*/
|
||||||
/* #if __BSD_VISIBLE */
|
/* #if __BSD_VISIBLE */
|
||||||
float dremf(float, float);
|
float dremf(float, float) __NDK_FPABI_MATH__;
|
||||||
int finitef(float) __pure2;
|
int finitef(float) __NDK_FPABI_MATH__ __pure2;
|
||||||
float gammaf(float);
|
float gammaf(float) __NDK_FPABI_MATH__;
|
||||||
float j0f(float);
|
float j0f(float) __NDK_FPABI_MATH__;
|
||||||
float j1f(float);
|
float j1f(float) __NDK_FPABI_MATH__;
|
||||||
float jnf(int, float);
|
float jnf(int, float) __NDK_FPABI_MATH__;
|
||||||
float scalbf(float, float);
|
float scalbf(float, float) __NDK_FPABI_MATH__;
|
||||||
float y0f(float);
|
float y0f(float) __NDK_FPABI_MATH__;
|
||||||
float y1f(float);
|
float y1f(float) __NDK_FPABI_MATH__;
|
||||||
float ynf(int, float);
|
float ynf(int, float) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Float versions of reentrant version of gamma & lgamma; passes
|
* Float versions of reentrant version of gamma & lgamma; passes
|
||||||
* signgam back by reference as the second argument; user must
|
* signgam back by reference as the second argument; user must
|
||||||
* allocate space for signgam.
|
* allocate space for signgam.
|
||||||
*/
|
*/
|
||||||
float gammaf_r(float, int *);
|
float gammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
float lgammaf_r(float, int *);
|
float lgammaf_r(float, int *) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float version of IEEE Test Vector
|
* float version of IEEE Test Vector
|
||||||
*/
|
*/
|
||||||
float significandf(float);
|
float significandf(float) __NDK_FPABI_MATH__;
|
||||||
/* #endif */ /* __BSD_VISIBLE */
|
/* #endif */ /* __BSD_VISIBLE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -403,88 +403,88 @@ float significandf(float);
|
|||||||
*/
|
*/
|
||||||
/* #if __ISO_C_VISIBLE >= 1999 */
|
/* #if __ISO_C_VISIBLE >= 1999 */
|
||||||
#if 0
|
#if 0
|
||||||
long double acoshl(long double);
|
long double acoshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double acosl(long double);
|
long double acosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinhl(long double);
|
long double asinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double asinl(long double);
|
long double asinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atan2l(long double, long double);
|
long double atan2l(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double atanhl(long double);
|
long double atanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double atanl(long double);
|
long double atanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cbrtl(long double);
|
long double cbrtl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double ceill(long double);
|
long double ceill(long double) __NDK_FPABI_MATH__;
|
||||||
long double copysignl(long double, long double) __pure2;
|
long double copysignl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double coshl(long double);
|
long double coshl(long double) __NDK_FPABI_MATH__;
|
||||||
long double cosl(long double);
|
long double cosl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfcl(long double);
|
long double erfcl(long double) __NDK_FPABI_MATH__;
|
||||||
long double erfl(long double);
|
long double erfl(long double) __NDK_FPABI_MATH__;
|
||||||
long double exp2l(long double);
|
long double exp2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double expl(long double);
|
long double expl(long double) __NDK_FPABI_MATH__;
|
||||||
long double expm1l(long double);
|
long double expm1l(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double fabsl(long double) __pure2;
|
long double fabsl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fdiml(long double, long double);
|
long double fdiml(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double floorl(long double);
|
long double floorl(long double) __NDK_FPABI_MATH__;
|
||||||
long double fmal(long double, long double, long double);
|
long double fmal(long double, long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double fmaxl(long double, long double) __pure2;
|
long double fmaxl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double fminl(long double, long double) __pure2;
|
long double fminl(long double, long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
#if 0
|
#if 0
|
||||||
long double fmodl(long double, long double);
|
long double fmodl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double frexpl(long double value, int *); /* fundamentally !__pure2 */
|
long double frexpl(long double value, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
#if 0
|
#if 0
|
||||||
long double hypotl(long double, long double);
|
long double hypotl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
int ilogbl(long double) __pure2;
|
int ilogbl(long double) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double ldexpl(long double, int);
|
long double ldexpl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double lgammal(long double);
|
long double lgammal(long double) __NDK_FPABI_MATH__;
|
||||||
long long llrintl(long double);
|
long long llrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long long llroundl(long double);
|
long long llroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double log10l(long double);
|
long double log10l(long double) __NDK_FPABI_MATH__;
|
||||||
long double log1pl(long double);
|
long double log1pl(long double) __NDK_FPABI_MATH__;
|
||||||
long double log2l(long double);
|
long double log2l(long double) __NDK_FPABI_MATH__;
|
||||||
long double logbl(long double);
|
long double logbl(long double) __NDK_FPABI_MATH__;
|
||||||
long double logl(long double);
|
long double logl(long double) __NDK_FPABI_MATH__;
|
||||||
long lrintl(long double);
|
long lrintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long lroundl(long double);
|
long lroundl(long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double modfl(long double, long double *); /* fundamentally !__pure2 */
|
long double modfl(long double, long double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */
|
||||||
long double nanl(const char *) __pure2;
|
long double nanl(const char *) __NDK_FPABI_MATH__ __pure2;
|
||||||
long double nearbyintl(long double);
|
long double nearbyintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double nextafterl(long double, long double);
|
long double nextafterl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
double nexttoward(double, long double);
|
double nexttoward(double, long double) __NDK_FPABI_MATH__;
|
||||||
float nexttowardf(float, long double);
|
float nexttowardf(float, long double) __NDK_FPABI_MATH__;
|
||||||
long double nexttowardl(long double, long double);
|
long double nexttowardl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double powl(long double, long double);
|
long double powl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remainderl(long double, long double);
|
long double remainderl(long double, long double) __NDK_FPABI_MATH__;
|
||||||
long double remquol(long double, long double, int *);
|
long double remquol(long double, long double, int *) __NDK_FPABI_MATH__;
|
||||||
long double rintl(long double);
|
long double rintl(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double roundl(long double);
|
long double roundl(long double) __NDK_FPABI_MATH__;
|
||||||
long double scalblnl(long double, long);
|
long double scalblnl(long double, long) __NDK_FPABI_MATH__;
|
||||||
long double scalbnl(long double, int);
|
long double scalbnl(long double, int) __NDK_FPABI_MATH__;
|
||||||
#if 0
|
#if 0
|
||||||
long double sinhl(long double);
|
long double sinhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sinl(long double);
|
long double sinl(long double) __NDK_FPABI_MATH__;
|
||||||
long double sqrtl(long double);
|
long double sqrtl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanhl(long double);
|
long double tanhl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tanl(long double);
|
long double tanl(long double) __NDK_FPABI_MATH__;
|
||||||
long double tgammal(long double);
|
long double tgammal(long double) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
long double truncl(long double);
|
long double truncl(long double) __NDK_FPABI_MATH__;
|
||||||
|
|
||||||
/* BIONIC: GLibc compatibility - required by the ARM toolchain */
|
/* BIONIC: GLibc compatibility - required by the ARM toolchain */
|
||||||
#ifdef _GNU_SOURCE
|
#ifdef _GNU_SOURCE
|
||||||
void sincos(double x, double *sin, double *cos);
|
void sincos(double x, double *sin, double *cos) __NDK_FPABI_MATH__;
|
||||||
void sincosf(float x, float *sin, float *cos);
|
void sincosf(float x, float *sin, float *cos) __NDK_FPABI_MATH__;
|
||||||
void sincosl(long double x, long double *sin, long double *cos);
|
void sincosl(long double x, long double *sin, long double *cos) __NDK_FPABI_MATH__;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
/* #endif */ /* __ISO_C_VISIBLE >= 1999 */
|
||||||
|
|||||||
@@ -64,8 +64,9 @@ extern long strtol(const char *, char **, int);
|
|||||||
extern long long strtoll(const char *, char **, int);
|
extern long long strtoll(const char *, char **, int);
|
||||||
extern unsigned long strtoul(const char *, char **, int);
|
extern unsigned long strtoul(const char *, char **, int);
|
||||||
extern unsigned long long strtoull(const char *, char **, int);
|
extern unsigned long long strtoull(const char *, char **, int);
|
||||||
extern double strtod(const char *nptr, char **endptr);
|
extern double strtod(const char *nptr, char **endptr) __NDK_FPABI__;
|
||||||
|
|
||||||
|
__NDK_FPABI__
|
||||||
static __inline__ float strtof(const char *nptr, char **endptr)
|
static __inline__ float strtof(const char *nptr, char **endptr)
|
||||||
{
|
{
|
||||||
return (float)strtod(nptr, endptr);
|
return (float)strtod(nptr, endptr);
|
||||||
@@ -75,6 +76,7 @@ extern int atoi(const char *);
|
|||||||
extern long atol(const char *);
|
extern long atol(const char *);
|
||||||
extern long long atoll(const char *);
|
extern long long atoll(const char *);
|
||||||
|
|
||||||
|
__NDK_FPABI__
|
||||||
static __inline__ double atof(const char *nptr)
|
static __inline__ double atof(const char *nptr)
|
||||||
{
|
{
|
||||||
return (strtod(nptr, NULL));
|
return (strtod(nptr, NULL));
|
||||||
@@ -106,8 +108,8 @@ extern long mrand48(void);
|
|||||||
extern long nrand48(unsigned short *);
|
extern long nrand48(unsigned short *);
|
||||||
extern long lrand48(void);
|
extern long lrand48(void);
|
||||||
extern unsigned short *seed48(unsigned short*);
|
extern unsigned short *seed48(unsigned short*);
|
||||||
extern double erand48(unsigned short xsubi[3]);
|
extern double erand48(unsigned short xsubi[3]) __NDK_FPABI__;
|
||||||
extern double drand48(void);
|
extern double drand48(void) __NDK_FPABI__;
|
||||||
extern void srand48(long);
|
extern void srand48(long);
|
||||||
extern unsigned int arc4random(void);
|
extern unsigned int arc4random(void);
|
||||||
extern void arc4random_stir(void);
|
extern void arc4random_stir(void);
|
||||||
|
|||||||
@@ -499,4 +499,31 @@
|
|||||||
#define __BIONIC__ 1
|
#define __BIONIC__ 1
|
||||||
#include <android/api-level.h>
|
#include <android/api-level.h>
|
||||||
|
|
||||||
|
/* __NDK_FPABI__ or __NDK_FPABI_MATH__ are applied to APIs taking or returning float or
|
||||||
|
[long] double, to ensure even at the presence of -mhard-float (which implies
|
||||||
|
-mfloat-abi=hard), calling to 32-bit Android native APIs still follow -mfloat-abi=softfp.
|
||||||
|
|
||||||
|
__NDK_FPABI_MATH__ is applied to APIs in math.h. It normally equals to __NDK_FPABI__,
|
||||||
|
but allows use of customized libm.a compiled with -mhard-float by -D_NDK_MATH_NO_SOFTFP=1
|
||||||
|
|
||||||
|
NOTE: Disable for clang for now unless _NDK_MATH_NO_SOFTFP=1, because clang before 3.4 doesn't
|
||||||
|
allow change of calling convension for builtin and produces error message reads:
|
||||||
|
|
||||||
|
a.i:564:6: error: function declared 'aapcs' here was previously declared without calling convention
|
||||||
|
int sin(double d) __attribute__((pcs("aapcs")));
|
||||||
|
^
|
||||||
|
a.i:564:6: note: previous declaration is here
|
||||||
|
*/
|
||||||
|
#if defined(__ANDROID__) && !__LP64__ && defined( __arm__)
|
||||||
|
#define __NDK_FPABI__ __attribute__((pcs("aapcs")))
|
||||||
|
#else
|
||||||
|
#define __NDK_FPABI__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (!defined(_NDK_MATH_NO_SOFTFP) || _NDK_MATH_NO_SOFTFP != 1) && !defined(__clang__)
|
||||||
|
#define __NDK_FPABI_MATH__ __NDK_FPABI__
|
||||||
|
#else
|
||||||
|
#define __NDK_FPABI_MATH__ /* nothing */
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !_SYS_CDEFS_H_ */
|
#endif /* !_SYS_CDEFS_H_ */
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
|
|||||||
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
||||||
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
||||||
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
||||||
extern double wcstod(const wchar_t *, wchar_t **);
|
extern double wcstod(const wchar_t *, wchar_t **) __NDK_FPABI__;
|
||||||
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
||||||
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
||||||
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
||||||
|
|||||||
Reference in New Issue
Block a user