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,30 +29,8 @@ | ||
| 29 | 29 | ||
| 30 | #include "tr/commons.h" | 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 | #endif // __TR_MATH_H__ | 35 | #endif // __TR_MATH_H__ |
| 58 | 36 |
| @@ -26,5 +26,27 @@ | @@ -26,5 +26,27 @@ | ||
| 26 | 26 | ||
| 27 | #include "tr/math.h" | 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