m68k: math-emu: Replace external declarations by header inclusion
authorGeert Uytterhoeven <geert@linux-m68k.org>
Thu, 17 Aug 2023 14:44:51 +0000 (16:44 +0200)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 6 Oct 2023 08:03:01 +0000 (10:03 +0200)
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
arch/m68k/math-emu/fp_log.c

index a8eac8c81757d22e7cf23566adc8bcefe99a5e75..2426634c4ba7437705d997c91e05e046117bdb74 100644 (file)
@@ -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 */
 
        /*