Browse Source

make math functions non inline because they are not used in this compile unit anyway

1.0.2
Georg Hopp 11 years ago
parent
commit
25979161c4
  1. 26
      include/tr/math.h
  2. 26
      src/math.c

26
include/tr/math.h

@ -29,30 +29,8 @@
#include "tr/commons.h"
inline
long
TR_euklidGcd(register long val1, register long val2)
{
register long mod;
if(val2 > val1) SWAP_XOR(val1, val2);
mod = val1 % val2;
while (mod != 0) {
val1 = val2;
val2 = mod;
mod = val1 % val2;
}
return val2;
}
inline
long
TR_lcm(register long val1, register long val2)
{
return val1 * val2 / TR_euklidGcd(val1, val2);
}
long TR_euklidGcd(register long, register long);
long TR_lcm(register long, register long);
#endif // __TR_MATH_H__

26
src/math.c

@ -26,5 +26,27 @@
#include "tr/math.h"
extern inline long TR_euklidGcd(register long, register long);
extern inline long TR_lcm(register long, register long);
long
TR_euklidGcd(register long val1, register long val2)
{
register long mod;
if(val2 > val1) SWAP_XOR(val1, val2);
mod = val1 % val2;
while (mod != 0) {
val1 = val2;
val2 = mod;
mod = val1 % val2;
}
return val2;
}
long
TR_lcm(register long val1, register long val2)
{
return val1 * val2 / TR_euklidGcd(val1, val2);
}
// vim: set ts=4 sw=4:
Loading…
Cancel
Save