1/* 2 3 fp_trig.c: floating-point math routines for the Linux-m68k 4 floating point emulator. 5 6 Copyright (c) 1998-1999 David Huggins-Daines / Roman Zippel. 7 8 I hereby give permission, free of charge, to copy, modify, and 9 redistribute this software, in source or binary form, provided that 10 the above copyright notice and the following disclaimer are included 11 in all such copies. 12 13 THIS SOFTWARE IS PROVIDED "AS IS", WITH ABSOLUTELY NO WARRANTY, REAL 14 OR IMPLIED. 15 16*/ 17 18#include "fp_emu.h" 19 20struct fp_ext * 21fp_fsqrt(struct fp_ext *dest, struct fp_ext *src) 22{ 23 uprint("fsqrt\n"); 24 25 fp_monadic_check(dest, src); 26 27 if (IS_ZERO(dest)) 28 return dest; 29 30 if (dest->sign) { 31 fp_set_nan(dest); 32 return dest; 33 } 34 if (IS_INF(dest)) 35 return dest; 36 37 return dest; 38} 39 40struct fp_ext * 41fp_fetoxm1(struct fp_ext *dest, struct fp_ext *src) 42{ 43 uprint("fetoxm1\n"); 44 45 fp_monadic_check(dest, src); 46 47 if (IS_ZERO(dest)) 48 return dest; 49 50 return dest; 51} 52 53struct fp_ext * 54fp_fetox(struct fp_ext *dest, struct fp_ext *src) 55{ 56 uprint("fetox\n"); 57 58 fp_monadic_check(dest, src); 59 60 return dest; 61} 62 63struct fp_ext * 64fp_ftwotox(struct fp_ext *dest, struct fp_ext *src) 65{ 66 uprint("ftwotox\n"); 67 68 fp_monadic_check(dest, src); 69 70 return dest; 71} 72 73struct fp_ext * 74fp_ftentox(struct fp_ext *dest, struct fp_ext *src) 75{ 76 uprint("ftentox\n"); 77 78 fp_monadic_check(dest, src); 79 80 return dest; 81} 82 83struct fp_ext * 84fp_flogn(struct fp_ext *dest, struct fp_ext *src) 85{ 86 uprint("flogn\n"); 87 88 fp_monadic_check(dest, src); 89 90 return dest; 91} 92 93struct fp_ext * 94fp_flognp1(struct fp_ext *dest, struct fp_ext *src) 95{ 96 uprint("flognp1\n"); 97 98 fp_monadic_check(dest, src); 99 100 return dest; 101} 102 103struct fp_ext * 104fp_flog10(struct fp_ext *dest, struct fp_ext *src) 105{ 106 uprint("flog10\n"); 107 108 fp_monadic_check(dest, src); 109 110 return dest; 111} 112 113struct fp_ext * 114fp_flog2(struct fp_ext *dest, struct fp_ext *src) 115{ 116 uprint("flog2\n"); 117 118 fp_monadic_check(dest, src); 119 120 return dest; 121} 122 123struct fp_ext * 124fp_fgetexp(struct fp_ext *dest, struct fp_ext *src) 125{ 126 uprint("fgetexp\n"); 127 128 fp_monadic_check(dest, src); 129 130 return dest; 131} 132 133struct fp_ext * 134fp_fgetman(struct fp_ext *dest, struct fp_ext *src) 135{ 136 uprint("fgetman\n"); 137 138 fp_monadic_check(dest, src); 139 140 return dest; 141} 142 143