emacs-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]