[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master b6d8d34: * doc/lispref/internals.texi (Module Value
From: |
Philipp Stephani |
Subject: |
[Emacs-diffs] master b6d8d34: * doc/lispref/internals.texi (Module Values): Add a GMP example |
Date: |
Wed, 24 Apr 2019 07:55:28 -0400 (EDT) |
branch: master
commit b6d8d34aede02a6af7a614f32b86292ee4ba1757
Author: Philipp Stephani <address@hidden>
Commit: Philipp Stephani <address@hidden>
* doc/lispref/internals.texi (Module Values): Add a GMP example
---
doc/lispref/internals.texi | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 3e6488a..5ae71af 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -1543,6 +1543,31 @@ integral object. After you have finished using
or similar.
@end deftypefn
+The following example uses GMP to calculate the next probable prime
+after a given integer:
+
address@hidden
+#include <assert.h>
+#include <gmp.h>
+
+#define EMACS_MODULE_GMP
+#include <emacs-module.h>
+
+static emacs_value
+next_prime (emacs_env *env, ptrdiff_t nargs, emacs_value *args,
+ void *data)
address@hidden
+ assert (nargs == 1);
+ emacs_mpz p;
+ mpz_init (p.value);
+ env->extract_big_integer (env, args[0], &p);
+ mpz_nextprime (p.value, p.value);
+ emacs_value result = env->make_big_integer (env, &p);
+ mpz_clear (p.value);
+ return result;
address@hidden
address@hidden example
+
The @acronym{API} does not provide functions to manipulate Lisp data
structures, for example, create lists with @code{cons} and @code{list}
(@pxref{Building Lists}), extract list members with @code{car} and
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master b6d8d34: * doc/lispref/internals.texi (Module Values): Add a GMP example,
Philipp Stephani <=