xref: /openbmc/linux/arch/m68k/math-emu/fp_arith.h (revision 1da177e4)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds 
31da177e4SLinus Torvalds    fp_arith.h: floating-point math routines for the Linux-m68k
41da177e4SLinus Torvalds    floating point emulator.
51da177e4SLinus Torvalds 
61da177e4SLinus Torvalds    Copyright (c) 1998 David Huggins-Daines.
71da177e4SLinus Torvalds 
81da177e4SLinus Torvalds    Somewhat based on the AlphaLinux floating point emulator, by David
91da177e4SLinus Torvalds    Mosberger-Tang.
101da177e4SLinus Torvalds 
111da177e4SLinus Torvalds    You may copy, modify, and redistribute this file under the terms of
121da177e4SLinus Torvalds    the GNU General Public License, version 2, or any later version, at
131da177e4SLinus Torvalds    your convenience.
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds  */
161da177e4SLinus Torvalds 
171da177e4SLinus Torvalds #ifndef FP_ARITH_H
181da177e4SLinus Torvalds #define FP_ARITH_H
191da177e4SLinus Torvalds 
201da177e4SLinus Torvalds /* easy ones */
211da177e4SLinus Torvalds struct fp_ext *
221da177e4SLinus Torvalds fp_fabs(struct fp_ext *dest, struct fp_ext *src);
231da177e4SLinus Torvalds struct fp_ext *
241da177e4SLinus Torvalds fp_fneg(struct fp_ext *dest, struct fp_ext *src);
251da177e4SLinus Torvalds 
261da177e4SLinus Torvalds /* straightforward arithmetic */
271da177e4SLinus Torvalds struct fp_ext *
281da177e4SLinus Torvalds fp_fadd(struct fp_ext *dest, struct fp_ext *src);
291da177e4SLinus Torvalds struct fp_ext *
301da177e4SLinus Torvalds fp_fsub(struct fp_ext *dest, struct fp_ext *src);
311da177e4SLinus Torvalds struct fp_ext *
321da177e4SLinus Torvalds fp_fcmp(struct fp_ext *dest, struct fp_ext *src);
331da177e4SLinus Torvalds struct fp_ext *
341da177e4SLinus Torvalds fp_ftst(struct fp_ext *dest, struct fp_ext *src);
351da177e4SLinus Torvalds struct fp_ext *
361da177e4SLinus Torvalds fp_fmul(struct fp_ext *dest, struct fp_ext *src);
371da177e4SLinus Torvalds struct fp_ext *
381da177e4SLinus Torvalds fp_fdiv(struct fp_ext *dest, struct fp_ext *src);
391da177e4SLinus Torvalds 
401da177e4SLinus Torvalds /* ones that do rounding and integer conversions */
411da177e4SLinus Torvalds struct fp_ext *
421da177e4SLinus Torvalds fp_fmod(struct fp_ext *dest, struct fp_ext *src);
431da177e4SLinus Torvalds struct fp_ext *
441da177e4SLinus Torvalds fp_frem(struct fp_ext *dest, struct fp_ext *src);
451da177e4SLinus Torvalds struct fp_ext *
461da177e4SLinus Torvalds fp_fint(struct fp_ext *dest, struct fp_ext *src);
471da177e4SLinus Torvalds struct fp_ext *
481da177e4SLinus Torvalds fp_fintrz(struct fp_ext *dest, struct fp_ext *src);
491da177e4SLinus Torvalds struct fp_ext *
501da177e4SLinus Torvalds fp_fscale(struct fp_ext *dest, struct fp_ext *src);
511da177e4SLinus Torvalds 
521da177e4SLinus Torvalds #endif	/* FP_ARITH__H */
53