blob: 602661d5a8ebb1a59b274505472caf6d0eab52d0 [file] [log] [blame]
Laurent Vivier591596b2018-02-24 21:18:00 +01001/*
2 * Ported from a work by Andreas Grabher for Previous, NeXT Computer Emulator,
3 * derived from NetBSD M68040 FPSP functions,
4 * derived from release 2a of the SoftFloat IEC/IEEE Floating-point Arithmetic
5 * Package. Those parts of the code (and some later contributions) are
6 * provided under that license, as detailed below.
7 * It has subsequently been modified by contributors to the QEMU Project,
8 * so some portions are provided under:
9 * the SoftFloat-2a license
10 * the BSD license
11 * GPL-v2-or-later
12 *
13 * Any future contributions to this file will be taken to be licensed under
14 * the Softfloat-2a license unless specifically indicated otherwise.
15 */
16
17/* Portions of this work are licensed under the terms of the GNU GPL,
18 * version 2 or later. See the COPYING file in the top-level directory.
19 */
20
21#ifndef TARGET_M68K_SOFTFLOAT_H
22#define TARGET_M68K_SOFTFLOAT_H
23#include "fpu/softfloat.h"
24
25floatx80 floatx80_mod(floatx80 a, floatx80 b, float_status *status);
Laurent Vivier0d379c12018-02-24 21:18:02 +010026floatx80 floatx80_getman(floatx80 a, float_status *status);
27floatx80 floatx80_getexp(floatx80 a, float_status *status);
28floatx80 floatx80_scale(floatx80 a, floatx80 b, float_status *status);
Laurent Vivier9a069772018-03-05 21:39:03 +010029floatx80 floatx80_move(floatx80 a, float_status *status);
Laurent Vivier4b5c65b2018-03-05 21:39:04 +010030floatx80 floatx80_lognp1(floatx80 a, float_status *status);
Laurent Vivier50067bd2018-03-05 21:39:05 +010031floatx80 floatx80_logn(floatx80 a, float_status *status);
Laurent Vivier248efb62018-03-05 21:39:06 +010032floatx80 floatx80_log10(floatx80 a, float_status *status);
Laurent Vivier67b453e2018-03-05 21:39:07 +010033floatx80 floatx80_log2(floatx80 a, float_status *status);
Laurent Vivier40ad0872018-03-05 21:39:08 +010034floatx80 floatx80_etox(floatx80 a, float_status *status);
Laurent Vivier068f1612018-03-05 21:39:09 +010035floatx80 floatx80_twotox(floatx80 a, float_status *status);
Laurent Vivier6c25be62018-03-05 21:39:10 +010036floatx80 floatx80_tentox(floatx80 a, float_status *status);
Laurent Vivier27340182018-03-12 21:27:18 +010037floatx80 floatx80_tan(floatx80 a, float_status *status);
Laurent Vivier5add1ac2018-03-12 21:27:19 +010038floatx80 floatx80_sin(floatx80 a, float_status *status);
Laurent Vivier68d0ed32018-03-12 21:27:20 +010039floatx80 floatx80_cos(floatx80 a, float_status *status);
Laurent Vivier8c992ab2018-03-12 21:27:22 +010040floatx80 floatx80_atan(floatx80 a, float_status *status);
Laurent Vivierbc20b342018-03-12 21:27:23 +010041floatx80 floatx80_asin(floatx80 a, float_status *status);
Laurent Vivierc84813b2018-03-12 21:27:24 +010042floatx80 floatx80_acos(floatx80 a, float_status *status);
Laurent Viviere3655af2018-03-12 21:27:25 +010043floatx80 floatx80_atanh(floatx80 a, float_status *status);
Laurent Vivier9937b022018-03-12 21:27:26 +010044floatx80 floatx80_etoxm1(floatx80 a, float_status *status);
45floatx80 floatx80_tanh(floatx80 a, float_status *status);
Laurent Viviereee6b892018-03-12 21:27:27 +010046floatx80 floatx80_sinh(floatx80 a, float_status *status);
Laurent Vivier02f91242018-03-12 21:27:28 +010047floatx80 floatx80_cosh(floatx80 a, float_status *status);
Laurent Vivier591596b2018-02-24 21:18:00 +010048#endif