[前][次][番号順一覧][スレッド一覧]

ruby-changes:67751

From: =E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3 <ko1@a...>
Date: Fri, 10 Sep 2021 20:01:25 +0900 (JST)
Subject: [ruby-changes:67751] 9c4aa94a19 (master): include/ruby/internal/core/rbignum.h: add doxgen

https://git.ruby-lang.org/ruby.git/commit/?id=9c4aa94a19

From 9c4aa94a199fbbf0dacb1b5e3530b1d8ccc65105 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
 <shyouhei@r...>
Date: Tue, 2 Feb 2021 17:29:23 +0900
Subject: include/ruby/internal/core/rbignum.h: add doxgen

Must not be a bad idea to improve documents. [ci skip]
---
 include/ruby/internal/core/rbignum.h | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/include/ruby/internal/core/rbignum.h b/include/ruby/internal/core/rbignum.h
index 1b9126d..1d31743 100644
--- a/include/ruby/internal/core/rbignum.h
+++ b/include/ruby/internal/core/rbignum.h
@@ -18,14 +18,15 @@ https://github.com/ruby/ruby/blob/trunk/include/ruby/internal/core/rbignum.h#L18
  *             Do not  expect for  instance `__VA_ARGS__` is  always available.
  *             We assume C99  for ruby itself but we don't  assume languages of
  *             extension libraries.  They could be written in C++98.
- * @brief      Routines to manipulate struct ::RBignum.
+ * @brief      Routines to manipulate struct RBignum.
+ * @note       The struct RBignum itself is opaque.
  */
 #include "ruby/internal/dllexport.h"
 #include "ruby/internal/value.h"
 #include "ruby/internal/value_type.h"
 #include "ruby/internal/stdbool.h"
 
-#define RBIGNUM_SIGN rb_big_sign
+#define RBIGNUM_SIGN rb_big_sign /**< @alias{rb_big_sign} */
 
 /** @cond INTERNAL_MACRO */
 #define RBIGNUM_POSITIVE_P RBIGNUM_POSITIVE_P
@@ -33,9 +34,29 @@ https://github.com/ruby/ruby/blob/trunk/include/ruby/internal/core/rbignum.h#L34
 /** @endcond */
 
 RBIMPL_SYMBOL_EXPORT_BEGIN()
+/**
+ * The "sign" of a bignum.
+ *
+ * @param[in]  num  An object of RBignum.
+ * @retval     1    It is greater than or equal to zero.
+ * @retval     0    It is less than zero.
+ *
+ * @internal
+ *
+ * Implementation wise, unlike fixnums (which  are 2's complement), bignums are
+ * signed  magnitude  system.   Theoretically  it could  be  possible  to  have
+ * negative zero  instances.  But  in reality  there is no  way to  create such
+ * thing.  Nobody ever needed that kind of insanity.
+ */
 int rb_big_sign(VALUE num);
 RBIMPL_SYMBOL_EXPORT_END()
 
+/**
+ * Checks if the bignum is positive.
+ * @param[in]  b      An object of RBignum.
+ * @retval     false  `b` is less than zero.
+ * @retval     true   Otherwise.
+ */
 static inline bool
 RBIGNUM_POSITIVE_P(VALUE b)
 {
@@ -43,6 +64,12 @@ RBIGNUM_POSITIVE_P(VALUE b) https://github.com/ruby/ruby/blob/trunk/include/ruby/internal/core/rbignum.h#L64
     return RBIGNUM_SIGN(b);
 }
 
+/**
+ * Checks if the bignum is negative.
+ * @param[in]  b      An object of RBignum.
+ * @retval     true   `b` is less than zero.
+ * @retval     false  Otherwise.
+ */
 static inline bool
 RBIGNUM_NEGATIVE_P(VALUE b)
 {
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]