1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun fp_arith.h: floating-point math routines for the Linux-m68k 5*4882a593Smuzhiyun floating point emulator. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun Copyright (c) 1998 David Huggins-Daines. 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun Somewhat based on the AlphaLinux floating point emulator, by David 10*4882a593Smuzhiyun Mosberger-Tang. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun */ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #ifndef FP_ARITH_H 16*4882a593Smuzhiyun #define FP_ARITH_H 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* easy ones */ 19*4882a593Smuzhiyun struct fp_ext * 20*4882a593Smuzhiyun fp_fabs(struct fp_ext *dest, struct fp_ext *src); 21*4882a593Smuzhiyun struct fp_ext * 22*4882a593Smuzhiyun fp_fneg(struct fp_ext *dest, struct fp_ext *src); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* straightforward arithmetic */ 25*4882a593Smuzhiyun struct fp_ext * 26*4882a593Smuzhiyun fp_fadd(struct fp_ext *dest, struct fp_ext *src); 27*4882a593Smuzhiyun struct fp_ext * 28*4882a593Smuzhiyun fp_fsub(struct fp_ext *dest, struct fp_ext *src); 29*4882a593Smuzhiyun struct fp_ext * 30*4882a593Smuzhiyun fp_fcmp(struct fp_ext *dest, struct fp_ext *src); 31*4882a593Smuzhiyun struct fp_ext * 32*4882a593Smuzhiyun fp_ftst(struct fp_ext *dest, struct fp_ext *src); 33*4882a593Smuzhiyun struct fp_ext * 34*4882a593Smuzhiyun fp_fmul(struct fp_ext *dest, struct fp_ext *src); 35*4882a593Smuzhiyun struct fp_ext * 36*4882a593Smuzhiyun fp_fdiv(struct fp_ext *dest, struct fp_ext *src); 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* ones that do rounding and integer conversions */ 39*4882a593Smuzhiyun struct fp_ext * 40*4882a593Smuzhiyun fp_fmod(struct fp_ext *dest, struct fp_ext *src); 41*4882a593Smuzhiyun struct fp_ext * 42*4882a593Smuzhiyun fp_frem(struct fp_ext *dest, struct fp_ext *src); 43*4882a593Smuzhiyun struct fp_ext * 44*4882a593Smuzhiyun fp_fint(struct fp_ext *dest, struct fp_ext *src); 45*4882a593Smuzhiyun struct fp_ext * 46*4882a593Smuzhiyun fp_fintrz(struct fp_ext *dest, struct fp_ext *src); 47*4882a593Smuzhiyun struct fp_ext * 48*4882a593Smuzhiyun fp_fscale(struct fp_ext *dest, struct fp_ext *src); 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #endif /* FP_ARITH__H */ 51