Commit 25979161c4db23c2afa402508bda27d0fbe7052e
1 parent
3f28478d
make math functions non inline because they are not used in this compile unit anyway
Showing
2 changed files
with
26 additions
and
26 deletions
| ... | ... | @@ -29,30 +29,8 @@ |
| 29 | 29 | |
| 30 | 30 | #include "tr/commons.h" |
| 31 | 31 | |
| 32 | -inline | |
| 33 | -long | |
| 34 | -TR_euklidGcd(register long val1, register long val2) | |
| 35 | -{ | |
| 36 | - register long mod; | |
| 37 | - | |
| 38 | - if(val2 > val1) SWAP_XOR(val1, val2); | |
| 39 | - | |
| 40 | - mod = val1 % val2; | |
| 41 | - while (mod != 0) { | |
| 42 | - val1 = val2; | |
| 43 | - val2 = mod; | |
| 44 | - mod = val1 % val2; | |
| 45 | - } | |
| 46 | - | |
| 47 | - return val2; | |
| 48 | -} | |
| 49 | - | |
| 50 | -inline | |
| 51 | -long | |
| 52 | -TR_lcm(register long val1, register long val2) | |
| 53 | -{ | |
| 54 | - return val1 * val2 / TR_euklidGcd(val1, val2); | |
| 55 | -} | |
| 32 | +long TR_euklidGcd(register long, register long); | |
| 33 | +long TR_lcm(register long, register long); | |
| 56 | 34 | |
| 57 | 35 | #endif // __TR_MATH_H__ |
| 58 | 36 | ... | ... |
| ... | ... | @@ -26,5 +26,27 @@ |
| 26 | 26 | |
| 27 | 27 | #include "tr/math.h" |
| 28 | 28 | |
| 29 | -extern inline long TR_euklidGcd(register long, register long); | |
| 30 | -extern inline long TR_lcm(register long, register long); | |
| 29 | +long | |
| 30 | +TR_euklidGcd(register long val1, register long val2) | |
| 31 | +{ | |
| 32 | + register long mod; | |
| 33 | + | |
| 34 | + if(val2 > val1) SWAP_XOR(val1, val2); | |
| 35 | + | |
| 36 | + mod = val1 % val2; | |
| 37 | + while (mod != 0) { | |
| 38 | + val1 = val2; | |
| 39 | + val2 = mod; | |
| 40 | + mod = val1 % val2; | |
| 41 | + } | |
| 42 | + | |
| 43 | + return val2; | |
| 44 | +} | |
| 45 | + | |
| 46 | +long | |
| 47 | +TR_lcm(register long val1, register long val2) | |
| 48 | +{ | |
| 49 | + return val1 * val2 / TR_euklidGcd(val1, val2); | |
| 50 | +} | |
| 51 | + | |
| 52 | +// vim: set ts=4 sw=4: | ... | ... |
Please
register
or
login
to post a comment