this repo has no description
1/*
2 * remainder.c
3 * xmmLibm
4 *
5 * Created by Ian Ollmann on 8/29/05.
6 * Copyright 2005 Apple Computer. All rights reserved.
7 *
8 * These functions are based on the algorithms from MathLib V3,
9 * Job Okada.
10 */
11
12#include "xmmLibm_prefix.h"
13#include "math.h"
14#include "fenv.h"
15
16#define REM_NAN "9"
17
18static const double infinityD = __builtin_inf();
19static const double minNormD = 0x1.0p-1022;
20static const double hugeHalvedD = 0x1.0p1023;
21static const double largeD = 0x1.0p1022;
22static const double oneD = 1.0;
23static const xSInt64 denormBiasD = { 1022LL, 0LL };
24
25static const float infinityF = __builtin_inff();
26static const float minNormF = 0x1.0p-126f;
27static const xSInt32 denormBiasF = { 126, 0,0,0 };
28static const float oneF = 1.0f;
29static const float hugeHalvedF = 0x1.0p127f;
30
31long double __remquol( long double x, long double y, int *quo );
32
33#if defined( BUILDING_FOR_CARBONCORE_LEGACY )
34
35double remquo( double x, double y, int *quo )
36{
37 return __remquol( x, y, quo );
38}
39
40#else
41
42double remainder( double x, double y )
43{
44 int quo;
45 return __remquol( x, y, &quo );
46}
47
48float remquof( float x, float y, int *quo )
49{
50 return __remquol( x, y, quo );
51}
52
53float remainderf( float x, float y )
54{
55 int quo;
56 return __remquol( x, y, &quo );
57}
58
59#endif /* CARBONCORE_LEGACY */