xref: /openbmc/linux/arch/m68k/math-emu/fp_arith.h (revision 6253c22e)
16253c22eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds 
41da177e4SLinus Torvalds    fp_arith.h: floating-point math routines for the Linux-m68k
51da177e4SLinus Torvalds    floating point emulator.
61da177e4SLinus Torvalds 
71da177e4SLinus Torvalds    Copyright (c) 1998 David Huggins-Daines.
81da177e4SLinus Torvalds 
91da177e4SLinus Torvalds    Somewhat based on the AlphaLinux floating point emulator, by David
101da177e4SLinus Torvalds    Mosberger-Tang.
111da177e4SLinus Torvalds 
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds  */
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds #ifndef FP_ARITH_H
161da177e4SLinus Torvalds #define FP_ARITH_H
171da177e4SLinus Torvalds 
181da177e4SLinus Torvalds /* easy ones */
191da177e4SLinus Torvalds struct fp_ext *
201da177e4SLinus Torvalds fp_fabs(struct fp_ext *dest, struct fp_ext *src);
211da177e4SLinus Torvalds struct fp_ext *
221da177e4SLinus Torvalds fp_fneg(struct fp_ext *dest, struct fp_ext *src);
231da177e4SLinus Torvalds 
241da177e4SLinus Torvalds /* straightforward arithmetic */
251da177e4SLinus Torvalds struct fp_ext *
261da177e4SLinus Torvalds fp_fadd(struct fp_ext *dest, struct fp_ext *src);
271da177e4SLinus Torvalds struct fp_ext *
281da177e4SLinus Torvalds fp_fsub(struct fp_ext *dest, struct fp_ext *src);
291da177e4SLinus Torvalds struct fp_ext *
301da177e4SLinus Torvalds fp_fcmp(struct fp_ext *dest, struct fp_ext *src);
311da177e4SLinus Torvalds struct fp_ext *
321da177e4SLinus Torvalds fp_ftst(struct fp_ext *dest, struct fp_ext *src);
331da177e4SLinus Torvalds struct fp_ext *
341da177e4SLinus Torvalds fp_fmul(struct fp_ext *dest, struct fp_ext *src);
351da177e4SLinus Torvalds struct fp_ext *
361da177e4SLinus Torvalds fp_fdiv(struct fp_ext *dest, struct fp_ext *src);
371da177e4SLinus Torvalds 
381da177e4SLinus Torvalds /* ones that do rounding and integer conversions */
391da177e4SLinus Torvalds struct fp_ext *
401da177e4SLinus Torvalds fp_fmod(struct fp_ext *dest, struct fp_ext *src);
411da177e4SLinus Torvalds struct fp_ext *
421da177e4SLinus Torvalds fp_frem(struct fp_ext *dest, struct fp_ext *src);
431da177e4SLinus Torvalds struct fp_ext *
441da177e4SLinus Torvalds fp_fint(struct fp_ext *dest, struct fp_ext *src);
451da177e4SLinus Torvalds struct fp_ext *
461da177e4SLinus Torvalds fp_fintrz(struct fp_ext *dest, struct fp_ext *src);
471da177e4SLinus Torvalds struct fp_ext *
481da177e4SLinus Torvalds fp_fscale(struct fp_ext *dest, struct fp_ext *src);
491da177e4SLinus Torvalds 
501da177e4SLinus Torvalds #endif	/* FP_ARITH__H */
51