diff options
| author | Mattias Andrée <maandree@kth.se> | 2016-05-06 19:00:44 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2016-05-06 19:00:44 +0200 |
| commit | 4e659044778dfd05a5f5d2b41611e7737a0eb825 (patch) | |
| tree | dc0cb41116b3ff8024bb2c48e26b43bc8c3a4a14 | |
| parent | Make zmul and zsqr (calls low-level functions) inline (diff) | |
| download | libzahl-4e659044778dfd05a5f5d2b41611e7737a0eb825.tar.gz libzahl-4e659044778dfd05a5f5d2b41611e7737a0eb825.tar.bz2 libzahl-4e659044778dfd05a5f5d2b41611e7737a0eb825.tar.xz | |
Make zdiv and zmod (calls zdivmod) inline
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | src/zdiv.c | 9 | ||||
| -rw-r--r-- | src/zmod.c | 9 | ||||
| -rw-r--r-- | zahl.h | 4 | ||||
| -rw-r--r-- | zahl/inlines.h | 14 | ||||
| -rw-r--r-- | zahl/internals.h | 4 |
6 files changed, 22 insertions, 22 deletions
@@ -11,14 +11,12 @@ FUN =\ zadd\ zand\ zbset\ - zdiv\ zdivmod\ zerror\ zfree\ zgcd\ zload\ zlsh\ - zmod\ zmodmul\ zmodpow\ zmodpowu\ @@ -50,10 +48,12 @@ INLINE_FUN =\ zcmpi\ zcmpmag\ zcmpu\ + zdiv\ zeven\ zeven_nonzero\ zinit\ zlsb\ + zmod\ zneg\ zodd\ zodd_nonzero\ diff --git a/src/zdiv.c b/src/zdiv.c deleted file mode 100644 index 5566bb1..0000000 --- a/src/zdiv.c +++ /dev/null @@ -1,9 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include "internals.h" - - -void -zdiv(z_t a, z_t b, z_t c) -{ - zdivmod(a, libzahl_tmp_div, b, c); -} diff --git a/src/zmod.c b/src/zmod.c deleted file mode 100644 index 5807e00..0000000 --- a/src/zmod.c +++ /dev/null @@ -1,9 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include "internals.h" - - -void -zmod(z_t a, z_t b, z_t c) -{ - zdivmod(libzahl_tmp_mod, a, b, c); -} @@ -93,9 +93,9 @@ void zadd(z_t, z_t, z_t); /* a := b + c */ void zsub(z_t, z_t, z_t); /* a := b - c */ ZAHL_INLINE void zmul(z_t, z_t, z_t); /* a := b * c */ void zmodmul(z_t, z_t, z_t, z_t); /* a := (b * c) % d */ -void zdiv(z_t, z_t, z_t); /* a := b / c */ +ZAHL_INLINE void zdiv(z_t, z_t, z_t); /* a := b / c */ void zdivmod(z_t, z_t, z_t, z_t); /* a := c / d, b = c % d */ -void zmod(z_t, z_t, z_t); /* a := b % c */ +ZAHL_INLINE void zmod(z_t, z_t, z_t); /* a := b % c */ ZAHL_INLINE void zsqr(z_t, z_t); /* a := b² */ void zmodsqr(z_t, z_t, z_t); /* a := b² % c */ void zpow(z_t, z_t, z_t); /* a := b ↑ c */ diff --git a/zahl/inlines.h b/zahl/inlines.h index 8f6b490..9884812 100644 --- a/zahl/inlines.h +++ b/zahl/inlines.h @@ -291,3 +291,17 @@ zsqr(z_t a, z_t b) ZAHL_SET_SIGNUM(a, 1); } } + + +ZAHL_INLINE void +zdiv(z_t a, z_t b, z_t c) +{ + zdivmod(a, libzahl_tmp_div, b, c); +} + + +ZAHL_INLINE void +zmod(z_t a, z_t b, z_t c) +{ + zdivmod(libzahl_tmp_mod, a, b, c); +} diff --git a/zahl/internals.h b/zahl/internals.h index e0aa248..672dfcd 100644 --- a/zahl/internals.h +++ b/zahl/internals.h @@ -107,6 +107,10 @@ struct zahl { }; +extern struct zahl libzahl_tmp_div[1]; +extern struct zahl libzahl_tmp_mod[1]; + + void libzahl_realloc(struct zahl *, size_t); ZAHL_INLINE void |
