1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 00:01:33 -08:00
emacs/src/module-env-27.h
Philipp Stephani e290a7d173 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.
2019-04-24 12:53:54 +02:00

18 lines
717 B
C

/* Processes pending input events and returns whether the module
function should quit. */
enum emacs_process_input_result (*process_input) (emacs_env *env)
EMACS_ATTRIBUTE_NONNULL (1);
struct timespec (*extract_time) (emacs_env *env, emacs_value value)
EMACS_ATTRIBUTE_NONNULL (1);
emacs_value (*make_time) (emacs_env *env, struct timespec time)
EMACS_ATTRIBUTE_NONNULL (1);
void (*extract_big_integer) (emacs_env *env, emacs_value value,
struct emacs_mpz *result)
EMACS_ATTRIBUTE_NONNULL (1, 3);
emacs_value (*make_big_integer) (emacs_env *env,
const struct emacs_mpz *value)
EMACS_ATTRIBUTE_NONNULL (1, 2);