aboutsummaryrefslogtreecommitdiffstats
path: root/src/module-env-27.h
diff options
context:
space:
mode:
authorPhilipp Stephani2019-04-18 22:38:29 +0200
committerPhilipp Stephani2019-04-24 12:53:54 +0200
commite290a7d1730c99010272bbff7f497c3041cef46d (patch)
treed17ccf1313e8b408c6e8cbef64e71a4f1311da4e /src/module-env-27.h
parentbffceab6339fb4042588b893ef754c6264379e75 (diff)
downloademacs-e290a7d1730c99010272bbff7f497c3041cef46d.tar.gz
emacs-e290a7d1730c99010272bbff7f497c3041cef46d.zip
Add module functions to convert from and to big integers.
* src/module-env-27.h: Add new module functions to convert big integers. * src/emacs-module.h.in (emacs_mpz): Define if GMP is available. * src/emacs-module.c (module_extract_big_integer) (module_make_big_integer): New functions. (initialize_environment): Use them. * test/data/emacs-module/mod-test.c (Fmod_test_double): New test function. (emacs_module_init): Define it. * test/src/emacs-module-tests.el (mod-test-double): New unit test. * doc/lispref/internals.texi (Module Values): Document new functions.
Diffstat (limited to 'src/module-env-27.h')
-rw-r--r--src/module-env-27.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/module-env-27.h b/src/module-env-27.h
index e63843f8d63..00de3009007 100644
--- a/src/module-env-27.h
+++ b/src/module-env-27.h
@@ -8,3 +8,11 @@
8 8
9 emacs_value (*make_time) (emacs_env *env, struct timespec time) 9 emacs_value (*make_time) (emacs_env *env, struct timespec time)
10 EMACS_ATTRIBUTE_NONNULL (1); 10 EMACS_ATTRIBUTE_NONNULL (1);
11
12 void (*extract_big_integer) (emacs_env *env, emacs_value value,
13 struct emacs_mpz *result)
14 EMACS_ATTRIBUTE_NONNULL (1, 3);
15
16 emacs_value (*make_big_integer) (emacs_env *env,
17 const struct emacs_mpz *value)
18 EMACS_ATTRIBUTE_NONNULL (1, 2);