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