ReactOS 0.4.16-dev-2104-gb84fa49
sincos.c
Go to the documentation of this file.
1/*
2 * sincos implementation
3 *
4 * Copyright 2021 Jacek Caban for CodeWeavers
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#if 0
22#pragma makedep implib
23#endif
24
25#include <math.h>
26
27/* GCC may optimize a pair of sin(), cos() calls to a single sincos() call,
28 * which is not exported by any msvcrt version. */
29
30void sincos(double x, double *s, double *c)
31{
32 *s = sin(x);
33 *c = cos(x);
34}
35
36void sincosf(float x, float *s, float *c)
37{
38 *s = sinf(x);
39 *c = cosf(x);
40}
_ACRTIMP double __cdecl sin(double)
Definition: sin.c:21
_ACRTIMP float __cdecl cosf(float)
Definition: cosf.c:13
_ACRTIMP float __cdecl sinf(float)
Definition: sinf.c:13
_ACRTIMP double __cdecl cos(double)
Definition: cos.c:21
void sincos(double x, double *s, double *c)
Definition: sincos.c:30
void sincosf(float x, float *s, float *c)
Definition: sincos.c:36
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLdouble s
Definition: gl.h:2039
const GLubyte * c
Definition: glext.h:8905