diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2023-08-17 16:44:51 +0200 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2023-10-06 10:03:01 +0200 |
commit | 11dd57cc15fd4f42b797357017a1119a49449f97 (patch) | |
tree | 0dcf6a5d774096be94f5e361f6ad6e229f66822f | |
parent | m68k: math-emu: Make multi_arith.h self-contained (diff) | |
download | linux-11dd57cc15fd4f42b797357017a1119a49449f97.tar.xz linux-11dd57cc15fd4f42b797357017a1119a49449f97.zip |
m68k: math-emu: Replace external declarations by header inclusion
Replace the (incorrect) external declarations by an inclusion of the
appropriate header file.
Semantically, the "src" parameters of the various fp_*() functions are
constant. However, they cannot actually be const as most of these
functions perform a normalization step first. As the fp_one constant
passed to fp_add() is already normalized, it is safe to cast away its
constness when making the function call.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/163bc2f64b5a3dd7b96a12aaca6733b408ddc880.1692283195.git.geert@linux-m68k.org
-rw-r--r-- | arch/m68k/math-emu/fp_log.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/m68k/math-emu/fp_log.c b/arch/m68k/math-emu/fp_log.c index a8eac8c81757..2426634c4ba7 100644 --- a/arch/m68k/math-emu/fp_log.c +++ b/arch/m68k/math-emu/fp_log.c @@ -15,6 +15,7 @@ */ +#include "fp_arith.h" #include "fp_emu.h" static const struct fp_ext fp_one = @@ -22,9 +23,6 @@ static const struct fp_ext fp_one = .exp = 0x3fff, }; -extern struct fp_ext *fp_fadd(struct fp_ext *dest, const struct fp_ext *src); -extern struct fp_ext *fp_fdiv(struct fp_ext *dest, const struct fp_ext *src); - struct fp_ext * fp_fsqrt(struct fp_ext *dest, struct fp_ext *src) { @@ -70,7 +68,8 @@ fp_fsqrt(struct fp_ext *dest, struct fp_ext *src) * sqrt(x) = 1 + 1/2*(x-1) * = 1/2*(1+x) */ - fp_fadd(dest, &fp_one); + /* It is safe to cast away the constness, as fp_one is normalized */ + fp_fadd(dest, (struct fp_ext *)&fp_one); dest->exp--; /* * 1/2 */ /* |