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