summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2021-01-21 15:43:07 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2021-09-10 20:00:06 +0900
commitabd15ac775d41e6485f728fe0fad4cddf138d3ec (patch)
treed6ef9c5dfe6a94587b137be2821ca8f2425fae31
parente9c423ac6c90f760e65e3b528bc7c26996ccab02 (diff)
downloadruby-abd15ac775d41e6485f728fe0fad4cddf138d3ec.tar.gz
include/ruby/internal/arithmetic/long_long.h: add doxygen
Must not be a bad idea to improve documents. [ci skip]
-rw-r--r--include/ruby/internal/arithmetic/long_long.h83
1 files changed, 71 insertions, 12 deletions
diff --git a/include/ruby/internal/arithmetic/long_long.h b/include/ruby/internal/arithmetic/long_long.h
index ffe9e89573..65dec8729d 100644
--- a/include/ruby/internal/arithmetic/long_long.h
+++ b/include/ruby/internal/arithmetic/long_long.h
@@ -25,22 +25,59 @@
#include "ruby/internal/special_consts.h"
#include "ruby/backward/2/long_long.h"
-#define RB_LL2NUM rb_ll2num_inline
-#define RB_ULL2NUM rb_ull2num_inline
-#define LL2NUM RB_LL2NUM
-#define ULL2NUM RB_ULL2NUM
-#define RB_NUM2LL rb_num2ll_inline
-#define RB_NUM2ULL rb_num2ull_inline
-#define NUM2LL RB_NUM2LL
-#define NUM2ULL RB_NUM2ULL
+#define RB_LL2NUM rb_ll2num_inline /**< @alias{rb_ll2num_inline} */
+#define RB_ULL2NUM rb_ull2num_inline /**< @alias{rb_ull2num_inline} */
+#define LL2NUM RB_LL2NUM /**< @old{RB_LL2NUM} */
+#define ULL2NUM RB_ULL2NUM /**< @old{RB_ULL2NUM} */
+#define RB_NUM2LL rb_num2ll_inline /**< @alias{rb_num2ll_inline} */
+#define RB_NUM2ULL rb_num2ull_inline /**< @alias{rb_num2ull_inline} */
+#define NUM2LL RB_NUM2LL /**< @old{RB_NUM2LL} */
+#define NUM2ULL RB_NUM2ULL /**< @old{RB_NUM2ULL} */
RBIMPL_SYMBOL_EXPORT_BEGIN()
-VALUE rb_ll2inum(LONG_LONG);
-VALUE rb_ull2inum(unsigned LONG_LONG);
-LONG_LONG rb_num2ll(VALUE);
-unsigned LONG_LONG rb_num2ull(VALUE);
+/**
+ * Converts a C's `long long` into an instance of ::rb_cInteger.
+ *
+ * @param[in] num Arbitrary `long long` value.
+ * @return An instance of ::rb_cInteger.
+ */
+VALUE rb_ll2inum(LONG_LONG num);
+
+/**
+ * Converts a C's `unsigned long long` into an instance of ::rb_cInteger.
+ *
+ * @param[in] num Arbitrary `unsigned long long` value.
+ * @return An instance of ::rb_cInteger.
+ */
+VALUE rb_ull2inum(unsigned LONG_LONG num);
+
+/**
+ * Converts an instance of ::rb_cNumeric into C's `long long`.
+ *
+ * @param[in] num Something numeric.
+ * @exception rb_eTypeError `num` is not a numeric.
+ * @exception rb_eRangeError `num` is out of range of `long long`.
+ * @return The passed value converted into C's `long long`.
+ */
+LONG_LONG rb_num2ll(VALUE num);
+
+/**
+ * Converts an instance of ::rb_cNumeric into C's `unsigned long long`.
+ *
+ * @param[in] num Something numeric.
+ * @exception rb_eTypeError `num` is not a numeric.
+ * @exception rb_eRangeError `num` is out of range of `unsigned long long`.
+ * @return The passed value converted into C's `unsigned long long`.
+ */
+unsigned LONG_LONG rb_num2ull(VALUE num);
RBIMPL_SYMBOL_EXPORT_END()
+/**
+ * Converts a C's `long long` into an instance of ::rb_cInteger.
+ *
+ * @param[in] n Arbitrary `long long` value.
+ * @return An instance of ::rb_cInteger
+ */
static inline VALUE
rb_ll2num_inline(LONG_LONG n)
{
@@ -48,6 +85,12 @@ rb_ll2num_inline(LONG_LONG n)
return rb_ll2inum(n);
}
+/**
+ * Converts a C's `unsigned long long` into an instance of ::rb_cInteger.
+ *
+ * @param[in] n Arbitrary `unsigned long long` value.
+ * @return An instance of ::rb_cInteger
+ */
static inline VALUE
rb_ull2num_inline(unsigned LONG_LONG n)
{
@@ -55,6 +98,14 @@ rb_ull2num_inline(unsigned LONG_LONG n)
return rb_ull2inum(n);
}
+/**
+ * Converts an instance of ::rb_cNumeric into C's `long long`.
+ *
+ * @param[in] x Something numeric.
+ * @exception rb_eTypeError `x` is not a numeric.
+ * @exception rb_eRangeError `x` is out of range of `long long`.
+ * @return The passed value converted into C's `long long`.
+ */
static inline LONG_LONG
rb_num2ll_inline(VALUE x)
{
@@ -64,6 +115,14 @@ rb_num2ll_inline(VALUE x)
return rb_num2ll(x);
}
+/**
+ * Converts an instance of ::rb_cNumeric into C's `unsigned long long`.
+ *
+ * @param[in] x Something numeric.
+ * @exception rb_eTypeError `x` is not a numeric.
+ * @exception rb_eRangeError `x` is out of range of `unsigned long long`.
+ * @return The passed value converted into C's `unsigned long long`.
+ */
static inline unsigned LONG_LONG
rb_num2ull_inline(VALUE x)
{