datadog-ruby_core_source 3.3.7 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +5 -0
  3. data/datadog-ruby_core_source.gemspec +1 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/id.h +2 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/gc.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/sanitizers.h +24 -36
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/ast.h +10 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/version.h +2 -2
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/ractor_core.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/rubyparser.h +3 -1
  15. data/lib/datadog/ruby_core_source/version.rb +1 -1
  16. metadata +106 -209
  17. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id.h +0 -347
  18. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/basic_operators.h +0 -64
  19. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bits.h +0 -568
  20. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  21. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/fixnum.h +0 -184
  22. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/gc.h +0 -322
  23. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/imemo.h +0 -261
  24. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/io.h +0 -143
  25. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +0 -6
  26. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/sanitizers.h +0 -326
  27. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/string.h +0 -186
  28. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/thread.h +0 -85
  29. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/vm.h +0 -137
  30. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +0 -255
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/ast.h +0 -7524
  32. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/defines.h +0 -242
  33. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/diagnostic.h +0 -450
  34. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  35. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/version.h +0 -29
  36. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism_compile.h +0 -99
  37. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ractor_core.h +0 -382
  38. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rubyparser.h +0 -1350
  39. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_pthread.h +0 -168
  40. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_core.h +0 -2222
  41. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/build_assert/build_assert.h +0 -40
  42. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/check_type/check_type.h +0 -63
  43. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/container_of/container_of.h +0 -142
  44. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/list/list.h +0 -791
  45. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/str/str.h +0 -17
  46. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/id_table.h +0 -39
  47. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/array.h +0 -152
  48. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/bignum.h +0 -244
  49. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/class.h +0 -283
  50. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cmdlineopt.h +0 -65
  51. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compar.h +0 -29
  52. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compile.h +0 -34
  53. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compilers.h +0 -107
  54. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/complex.h +0 -29
  55. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cont.h +0 -35
  56. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/dir.h +0 -16
  57. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enc.h +0 -19
  58. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enum.h +0 -18
  59. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enumerator.h +0 -21
  60. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/error.h +0 -218
  61. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/eval.h +0 -33
  62. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/file.h +0 -38
  63. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/hash.h +0 -192
  64. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/inits.h +0 -47
  65. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/load.h +0 -18
  66. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/loadpath.h +0 -16
  67. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/math.h +0 -23
  68. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/missing.h +0 -19
  69. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/numeric.h +0 -274
  70. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/object.h +0 -63
  71. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/parse.h +0 -129
  72. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/proc.h +0 -30
  73. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/process.h +0 -124
  74. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/random.h +0 -17
  75. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/range.h +0 -40
  76. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/rational.h +0 -71
  77. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/re.h +0 -28
  78. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/ruby_parser.h +0 -102
  79. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/serial.h +0 -23
  80. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/signal.h +0 -24
  81. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/st.h +0 -11
  82. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/static_assert.h +0 -16
  83. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/struct.h +0 -127
  84. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/symbol.h +0 -45
  85. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/time.h +0 -34
  86. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/transcode.h +0 -23
  87. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/util.h +0 -27
  88. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/variable.h +0 -72
  89. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/warnings.h +0 -16
  90. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal.h +0 -108
  91. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/iseq.h +0 -340
  92. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/node.h +0 -111
  93. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_st.h +0 -162
  94. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_value.h +0 -106
  95. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/encoding.h +0 -283
  96. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/extension.h +0 -19
  97. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/node.h +0 -129
  98. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/options.h +0 -396
  99. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/pack.h +0 -163
  100. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/parser.h +0 -933
  101. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/prettyprint.h +0 -34
  102. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +0 -43
  103. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/static_literals.h +0 -121
  104. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_buffer.h +0 -218
  105. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_char.h +0 -204
  106. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_constant_pool.h +0 -218
  107. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_integer.h +0 -126
  108. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_list.h +0 -97
  109. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_memchr.h +0 -29
  110. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_newline_list.h +0 -113
  111. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_string.h +0 -190
  112. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strncasecmp.h +0 -32
  113. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strpbrk.h +0 -46
  114. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_assert.h +0 -14
  115. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_atomic.h +0 -23
  116. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/shape.h +0 -234
  117. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/thread_none.h +0 -21
  118. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_debug.h +0 -124
  119. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_opts.h +0 -67
  120. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  121. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  122. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  123. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  124. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  125. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id_table.h +0 -0
  126. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  127. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/basic_operators.h +0 -0
  128. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  129. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/bits.h +0 -0
  130. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  131. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  132. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  133. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  134. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  135. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  136. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  137. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  138. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  139. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/encoding.h +0 -0
  140. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  141. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  142. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  143. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/file.h +0 -0
  144. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/fixnum.h +0 -0
  145. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  146. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/imemo.h +0 -0
  147. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  148. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/io.h +0 -0
  149. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/load.h +0 -0
  150. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  151. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/math.h +0 -0
  152. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  153. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  154. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/object.h +0 -0
  155. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/process.h +0 -0
  156. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/ractor.h +0 -0
  157. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/random.h +0 -0
  158. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/range.h +0 -0
  159. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  160. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/re.h +0 -0
  161. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  162. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  163. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  164. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/st.h +0 -0
  165. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  166. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/string.h +0 -0
  167. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  168. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  169. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/thread.h +0 -0
  170. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/time.h +0 -0
  171. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  172. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/util.h +0 -0
  173. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  174. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/vm.h +0 -0
  175. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  176. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal.h +0 -0
  177. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/iseq.h +0 -0
  178. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/method.h +0 -0
  179. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/node.h +0 -0
  180. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_st.h +0 -0
  181. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_value.h +0 -0
  182. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/defines.h +0 -0
  183. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/diagnostic.h +0 -0
  184. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  185. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  186. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  187. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  188. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  189. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  190. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/prism.h +0 -0
  191. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  192. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  193. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  194. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  195. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  196. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  197. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  198. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  199. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  200. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  201. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  202. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  203. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism_compile.h +0 -0
  204. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  205. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  206. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  207. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_none.h +0 -0
  208. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/thread_pthread.h +0 -0
  209. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/vm_core.h +0 -0
  210. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  211. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_opts.h +0 -0
@@ -1,17 +0,0 @@
1
- /* CC0 (Public domain) - see ccan/licenses/CC0 file for details */
2
- #ifndef CCAN_STR_H
3
- #define CCAN_STR_H
4
- /**
5
- * ccan_stringify - Turn expression into a string literal
6
- * @expr: any C expression
7
- *
8
- * Example:
9
- * #define PRINT_COND_IF_FALSE(cond) \
10
- * ((cond) || printf("%s is false!", ccan_stringify(cond)))
11
- */
12
- #define stringify(expr) ccan_stringify_1(expr)
13
- #define ccan_stringify(expr) ccan_stringify_1(expr)
14
- /* Double-indirection required to stringify expansions */
15
- #define ccan_stringify_1(expr) #expr
16
-
17
- #endif /* CCAN_STR_H */
@@ -1,39 +0,0 @@
1
- #ifndef RUBY_ID_TABLE_H
2
- #define RUBY_ID_TABLE_H 1
3
- #include "ruby/internal/config.h"
4
- #include <stddef.h>
5
- #include "ruby/ruby.h"
6
-
7
- struct rb_id_table;
8
-
9
- /* compatible with ST_* */
10
- enum rb_id_table_iterator_result {
11
- ID_TABLE_CONTINUE = ST_CONTINUE,
12
- ID_TABLE_STOP = ST_STOP,
13
- ID_TABLE_DELETE = ST_DELETE,
14
- ID_TABLE_REPLACE = ST_REPLACE,
15
- ID_TABLE_ITERATOR_RESULT_END
16
- };
17
-
18
- struct rb_id_table *rb_id_table_create(size_t size);
19
- void rb_id_table_free(struct rb_id_table *tbl);
20
- void rb_id_table_clear(struct rb_id_table *tbl);
21
-
22
- size_t rb_id_table_memsize(const struct rb_id_table *tbl);
23
-
24
- int rb_id_table_insert(struct rb_id_table *tbl, ID id, VALUE val);
25
- int rb_id_table_lookup(struct rb_id_table *tbl, ID id, VALUE *valp);
26
- int rb_id_table_delete(struct rb_id_table *tbl, ID id);
27
-
28
- typedef enum rb_id_table_iterator_result rb_id_table_update_value_callback_func_t(VALUE *val, void *data, int existing);
29
- typedef enum rb_id_table_iterator_result rb_id_table_foreach_func_t(ID id, VALUE val, void *data);
30
- typedef enum rb_id_table_iterator_result rb_id_table_foreach_values_func_t(VALUE val, void *data);
31
- void rb_id_table_foreach(struct rb_id_table *tbl, rb_id_table_foreach_func_t *func, void *data);
32
- void rb_id_table_foreach_values(struct rb_id_table *tbl, rb_id_table_foreach_values_func_t *func, void *data);
33
- void rb_id_table_foreach_values_with_replace(struct rb_id_table *tbl, rb_id_table_foreach_values_func_t *func, rb_id_table_update_value_callback_func_t *replace, void *data);
34
-
35
- RUBY_SYMBOL_EXPORT_BEGIN
36
- size_t rb_id_table_size(const struct rb_id_table *tbl);
37
- RUBY_SYMBOL_EXPORT_END
38
-
39
- #endif /* RUBY_ID_TABLE_H */
@@ -1,152 +0,0 @@
1
- #ifndef INTERNAL_ARRAY_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_ARRAY_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- * @brief Internal header for Array.
10
- */
11
- #include "ruby/internal/config.h"
12
- #include <stddef.h> /* for size_t */
13
- #include "internal/static_assert.h" /* for STATIC_ASSERT */
14
- #include "ruby/internal/stdbool.h" /* for bool */
15
- #include "ruby/ruby.h" /* for RARRAY_LEN */
16
-
17
- #ifndef ARRAY_DEBUG
18
- # define ARRAY_DEBUG (0+RUBY_DEBUG)
19
- #endif
20
-
21
- #define RARRAY_SHARED_FLAG ELTS_SHARED
22
- #define RARRAY_SHARED_ROOT_FLAG FL_USER12
23
- #define RARRAY_PTR_IN_USE_FLAG FL_USER14
24
-
25
- /* array.c */
26
- VALUE rb_ary_hash_values(long len, const VALUE *elements);
27
- VALUE rb_ary_last(int, const VALUE *, VALUE);
28
- void rb_ary_set_len(VALUE, long);
29
- void rb_ary_delete_same(VALUE, VALUE);
30
- VALUE rb_ary_hidden_new_fill(long capa);
31
- VALUE rb_ary_at(VALUE, VALUE);
32
- size_t rb_ary_memsize(VALUE);
33
- VALUE rb_to_array_type(VALUE obj);
34
- VALUE rb_to_array(VALUE obj);
35
- void rb_ary_cancel_sharing(VALUE ary);
36
- size_t rb_ary_size_as_embedded(VALUE ary);
37
- void rb_ary_make_embedded(VALUE ary);
38
- bool rb_ary_embeddable_p(VALUE ary);
39
- VALUE rb_ary_diff(VALUE ary1, VALUE ary2);
40
- RUBY_EXTERN VALUE rb_cArray_empty_frozen;
41
-
42
- static inline VALUE rb_ary_entry_internal(VALUE ary, long offset);
43
- static inline bool ARY_PTR_USING_P(VALUE ary);
44
-
45
- VALUE rb_ary_tmp_new_from_values(VALUE, long, const VALUE *);
46
- VALUE rb_check_to_array(VALUE ary);
47
- VALUE rb_ary_behead(VALUE, long);
48
- VALUE rb_ary_aref1(VALUE ary, VALUE i);
49
-
50
- struct rb_execution_context_struct;
51
- VALUE rb_ec_ary_new_from_values(struct rb_execution_context_struct *ec, long n, const VALUE *elts);
52
-
53
- // YJIT needs this function to never allocate and never raise
54
- static inline VALUE
55
- rb_ary_entry_internal(VALUE ary, long offset)
56
- {
57
- long len = RARRAY_LEN(ary);
58
- const VALUE *ptr = RARRAY_CONST_PTR(ary);
59
- if (len == 0) return Qnil;
60
- if (offset < 0) {
61
- offset += len;
62
- if (offset < 0) return Qnil;
63
- }
64
- else if (len <= offset) {
65
- return Qnil;
66
- }
67
- return ptr[offset];
68
- }
69
-
70
- static inline bool
71
- ARY_PTR_USING_P(VALUE ary)
72
- {
73
- return FL_TEST_RAW(ary, RARRAY_PTR_IN_USE_FLAG);
74
- }
75
-
76
- RBIMPL_ATTR_MAYBE_UNUSED()
77
- static inline int
78
- ary_should_not_be_shared_and_embedded(VALUE ary)
79
- {
80
- return !FL_ALL_RAW(ary, RARRAY_SHARED_FLAG|RARRAY_EMBED_FLAG);
81
- }
82
-
83
- static inline bool
84
- ARY_SHARED_P(VALUE ary)
85
- {
86
- assert(RB_TYPE_P(ary, T_ARRAY));
87
- assert(ary_should_not_be_shared_and_embedded(ary));
88
- return FL_TEST_RAW(ary, RARRAY_SHARED_FLAG);
89
- }
90
-
91
- static inline bool
92
- ARY_EMBED_P(VALUE ary)
93
- {
94
- assert(RB_TYPE_P(ary, T_ARRAY));
95
- assert(ary_should_not_be_shared_and_embedded(ary));
96
- return FL_TEST_RAW(ary, RARRAY_EMBED_FLAG);
97
- }
98
-
99
- static inline VALUE
100
- ARY_SHARED_ROOT(VALUE ary)
101
- {
102
- assert(ARY_SHARED_P(ary));
103
- return RARRAY(ary)->as.heap.aux.shared_root;
104
- }
105
-
106
- static inline bool
107
- ARY_SHARED_ROOT_P(VALUE ary)
108
- {
109
- assert(RB_TYPE_P(ary, T_ARRAY));
110
- return FL_TEST_RAW(ary, RARRAY_SHARED_ROOT_FLAG);
111
- }
112
-
113
- static inline long
114
- ARY_SHARED_ROOT_REFCNT(VALUE ary)
115
- {
116
- assert(ARY_SHARED_ROOT_P(ary));
117
- return RARRAY(ary)->as.heap.aux.capa;
118
- }
119
-
120
- #undef rb_ary_new_from_args
121
- #if RBIMPL_HAS_WARNING("-Wgnu-zero-variadic-macro-arguments")
122
- # /* Skip it; clang -pedantic doesn't like the following */
123
- #elif defined(__GNUC__) && defined(HAVE_VA_ARGS_MACRO)
124
- #define rb_ary_new_from_args(n, ...) \
125
- __extension__ ({ \
126
- const VALUE args_to_new_ary[] = {__VA_ARGS__}; \
127
- if (__builtin_constant_p(n)) { \
128
- STATIC_ASSERT(rb_ary_new_from_args, numberof(args_to_new_ary) == (n)); \
129
- } \
130
- rb_ary_new_from_values(numberof(args_to_new_ary), args_to_new_ary); \
131
- })
132
- #endif
133
-
134
- #undef RARRAY_AREF
135
- RBIMPL_ATTR_PURE_UNLESS_DEBUG()
136
- RBIMPL_ATTR_ARTIFICIAL()
137
- static inline VALUE
138
- RARRAY_AREF(VALUE ary, long i)
139
- {
140
- VALUE val;
141
- RBIMPL_ASSERT_TYPE(ary, RUBY_T_ARRAY);
142
-
143
- RBIMPL_WARNING_PUSH();
144
- #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ == 13
145
- RBIMPL_WARNING_IGNORED(-Warray-bounds);
146
- #endif
147
- val = RARRAY_CONST_PTR(ary)[i];
148
- RBIMPL_WARNING_POP();
149
- return val;
150
- }
151
-
152
- #endif /* INTERNAL_ARRAY_H */
@@ -1,244 +0,0 @@
1
- #ifndef INTERNAL_BIGNUM_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_BIGNUM_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- * @brief Internal header for Bignums.
10
- */
11
- #include "ruby/internal/config.h" /* for HAVE_LIBGMP */
12
- #include <stddef.h> /* for size_t */
13
-
14
- #ifdef HAVE_SYS_TYPES_H
15
- # include <sys/types.h> /* for ssize_t (note: on Windows ssize_t is */
16
- #endif /* `#define`d in ruby/config.h) */
17
-
18
- #include "ruby/internal/stdbool.h" /* for bool */
19
- #include "ruby/ruby.h" /* for struct RBasic */
20
-
21
- #ifndef BDIGIT
22
- # if SIZEOF_INT*2 <= SIZEOF_LONG_LONG
23
- # define BDIGIT unsigned int
24
- # define SIZEOF_BDIGIT SIZEOF_INT
25
- # define BDIGIT_DBL unsigned LONG_LONG
26
- # define BDIGIT_DBL_SIGNED LONG_LONG
27
- # define PRI_BDIGIT_PREFIX ""
28
- # define PRI_BDIGIT_DBL_PREFIX PRI_LL_PREFIX
29
- # elif SIZEOF_INT*2 <= SIZEOF_LONG
30
- # define BDIGIT unsigned int
31
- # define SIZEOF_BDIGIT SIZEOF_INT
32
- # define BDIGIT_DBL unsigned long
33
- # define BDIGIT_DBL_SIGNED long
34
- # define PRI_BDIGIT_PREFIX ""
35
- # define PRI_BDIGIT_DBL_PREFIX "l"
36
- # elif SIZEOF_SHORT*2 <= SIZEOF_LONG
37
- # define BDIGIT unsigned short
38
- # define SIZEOF_BDIGIT SIZEOF_SHORT
39
- # define BDIGIT_DBL unsigned long
40
- # define BDIGIT_DBL_SIGNED long
41
- # define PRI_BDIGIT_PREFIX "h"
42
- # define PRI_BDIGIT_DBL_PREFIX "l"
43
- # else
44
- # define BDIGIT unsigned short
45
- # define SIZEOF_BDIGIT (SIZEOF_LONG/2)
46
- # define SIZEOF_ACTUAL_BDIGIT SIZEOF_LONG
47
- # define BDIGIT_DBL unsigned long
48
- # define BDIGIT_DBL_SIGNED long
49
- # define PRI_BDIGIT_PREFIX "h"
50
- # define PRI_BDIGIT_DBL_PREFIX "l"
51
- # endif
52
- #endif
53
-
54
- #ifndef SIZEOF_ACTUAL_BDIGIT
55
- # define SIZEOF_ACTUAL_BDIGIT SIZEOF_BDIGIT
56
- #endif
57
-
58
- #ifdef PRI_BDIGIT_PREFIX
59
- # define PRIdBDIGIT PRI_BDIGIT_PREFIX"d"
60
- # define PRIiBDIGIT PRI_BDIGIT_PREFIX"i"
61
- # define PRIoBDIGIT PRI_BDIGIT_PREFIX"o"
62
- # define PRIuBDIGIT PRI_BDIGIT_PREFIX"u"
63
- # define PRIxBDIGIT PRI_BDIGIT_PREFIX"x"
64
- # define PRIXBDIGIT PRI_BDIGIT_PREFIX"X"
65
- #endif
66
-
67
- #ifdef PRI_BDIGIT_DBL_PREFIX
68
- # define PRIdBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"d"
69
- # define PRIiBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"i"
70
- # define PRIoBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"o"
71
- # define PRIuBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"u"
72
- # define PRIxBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"x"
73
- # define PRIXBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"X"
74
- #endif
75
-
76
- #define RBIGNUM(obj) ((struct RBignum *)(obj))
77
- #define BIGNUM_SIGN_BIT FL_USER1
78
- #define BIGNUM_EMBED_FLAG ((VALUE)FL_USER2)
79
- #define BIGNUM_EMBED_LEN_NUMBITS 3
80
- #define BIGNUM_EMBED_LEN_MASK \
81
- (~(~(VALUE)0U << BIGNUM_EMBED_LEN_NUMBITS) << BIGNUM_EMBED_LEN_SHIFT)
82
- #define BIGNUM_EMBED_LEN_SHIFT \
83
- (FL_USHIFT+3) /* bit offset of BIGNUM_EMBED_LEN_MASK */
84
- #ifndef BIGNUM_EMBED_LEN_MAX
85
- # if (SIZEOF_VALUE*RBIMPL_RVALUE_EMBED_LEN_MAX/SIZEOF_ACTUAL_BDIGIT) < (1 << BIGNUM_EMBED_LEN_NUMBITS)-1
86
- # define BIGNUM_EMBED_LEN_MAX (SIZEOF_VALUE*RBIMPL_RVALUE_EMBED_LEN_MAX/SIZEOF_ACTUAL_BDIGIT)
87
- # else
88
- # define BIGNUM_EMBED_LEN_MAX ((1 << BIGNUM_EMBED_LEN_NUMBITS)-1)
89
- # endif
90
- #endif
91
-
92
- enum rb_int_parse_flags {
93
- RB_INT_PARSE_SIGN = 0x01,
94
- RB_INT_PARSE_UNDERSCORE = 0x02,
95
- RB_INT_PARSE_PREFIX = 0x04,
96
- RB_INT_PARSE_ALL = 0x07,
97
- RB_INT_PARSE_DEFAULT = 0x07,
98
- };
99
-
100
- struct RBignum {
101
- struct RBasic basic;
102
- union {
103
- struct {
104
- size_t len;
105
- BDIGIT *digits;
106
- } heap;
107
- BDIGIT ary[BIGNUM_EMBED_LEN_MAX];
108
- } as;
109
- };
110
-
111
- /* bignum.c */
112
- extern const char ruby_digitmap[];
113
- double rb_big_fdiv_double(VALUE x, VALUE y);
114
- VALUE rb_big_uminus(VALUE x);
115
- VALUE rb_big_hash(VALUE);
116
- VALUE rb_big_odd_p(VALUE);
117
- VALUE rb_big_even_p(VALUE);
118
- size_t rb_big_size(VALUE);
119
- VALUE rb_integer_float_cmp(VALUE x, VALUE y);
120
- VALUE rb_integer_float_eq(VALUE x, VALUE y);
121
- VALUE rb_str_convert_to_inum(VALUE str, int base, int badcheck, int raise_exception);
122
- VALUE rb_big_comp(VALUE x);
123
- VALUE rb_big_aref(VALUE x, VALUE y);
124
- VALUE rb_big_abs(VALUE x);
125
- VALUE rb_big_size_m(VALUE big);
126
- VALUE rb_big_bit_length(VALUE big);
127
- VALUE rb_big_remainder(VALUE x, VALUE y);
128
- VALUE rb_big_gt(VALUE x, VALUE y);
129
- VALUE rb_big_ge(VALUE x, VALUE y);
130
- VALUE rb_big_lt(VALUE x, VALUE y);
131
- VALUE rb_big_le(VALUE x, VALUE y);
132
- VALUE rb_int_powm(int const argc, VALUE * const argv, VALUE const num);
133
- VALUE rb_big_isqrt(VALUE n);
134
- static inline bool BIGNUM_SIGN(VALUE b);
135
- static inline bool BIGNUM_POSITIVE_P(VALUE b);
136
- static inline bool BIGNUM_NEGATIVE_P(VALUE b);
137
- static inline void BIGNUM_SET_SIGN(VALUE b, bool sign);
138
- static inline void BIGNUM_NEGATE(VALUE b);
139
- static inline size_t BIGNUM_LEN(VALUE b);
140
- static inline BDIGIT *BIGNUM_DIGITS(VALUE b);
141
- static inline int BIGNUM_LENINT(VALUE b);
142
- static inline bool BIGNUM_EMBED_P(VALUE b);
143
-
144
- RUBY_SYMBOL_EXPORT_BEGIN
145
- /* bignum.c (export) */
146
- VALUE rb_big_mul_normal(VALUE x, VALUE y);
147
- VALUE rb_big_mul_balance(VALUE x, VALUE y);
148
- VALUE rb_big_mul_karatsuba(VALUE x, VALUE y);
149
- VALUE rb_big_mul_toom3(VALUE x, VALUE y);
150
- VALUE rb_big_sq_fast(VALUE x);
151
- VALUE rb_big_divrem_normal(VALUE x, VALUE y);
152
- VALUE rb_big2str_poweroftwo(VALUE x, int base);
153
- VALUE rb_big2str_generic(VALUE x, int base);
154
- VALUE rb_str2big_poweroftwo(VALUE arg, int base, int badcheck);
155
- VALUE rb_str2big_normal(VALUE arg, int base, int badcheck);
156
- VALUE rb_str2big_karatsuba(VALUE arg, int base, int badcheck);
157
- #if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H)
158
- VALUE rb_big_mul_gmp(VALUE x, VALUE y);
159
- VALUE rb_big_divrem_gmp(VALUE x, VALUE y);
160
- VALUE rb_big2str_gmp(VALUE x, int base);
161
- VALUE rb_str2big_gmp(VALUE arg, int base, int badcheck);
162
- #endif
163
- VALUE rb_int_parse_cstr(const char *str, ssize_t len, char **endp, size_t *ndigits, int base, int flags);
164
- RUBY_SYMBOL_EXPORT_END
165
-
166
- #if defined(HAVE_INT128_T)
167
- VALUE rb_int128t2big(int128_t n);
168
- #endif
169
-
170
- /* sign: positive:1, negative:0 */
171
- static inline bool
172
- BIGNUM_SIGN(VALUE b)
173
- {
174
- return FL_TEST_RAW(b, BIGNUM_SIGN_BIT);
175
- }
176
-
177
- static inline bool
178
- BIGNUM_POSITIVE_P(VALUE b)
179
- {
180
- return BIGNUM_SIGN(b);
181
- }
182
-
183
- static inline bool
184
- BIGNUM_NEGATIVE_P(VALUE b)
185
- {
186
- return ! BIGNUM_POSITIVE_P(b);
187
- }
188
-
189
- static inline void
190
- BIGNUM_SET_SIGN(VALUE b, bool sign)
191
- {
192
- if (sign) {
193
- FL_SET_RAW(b, BIGNUM_SIGN_BIT);
194
- }
195
- else {
196
- FL_UNSET_RAW(b, BIGNUM_SIGN_BIT);
197
- }
198
- }
199
-
200
- static inline void
201
- BIGNUM_NEGATE(VALUE b)
202
- {
203
- FL_REVERSE_RAW(b, BIGNUM_SIGN_BIT);
204
- }
205
-
206
- static inline size_t
207
- BIGNUM_LEN(VALUE b)
208
- {
209
- if (! BIGNUM_EMBED_P(b)) {
210
- return RBIGNUM(b)->as.heap.len;
211
- }
212
- else {
213
- size_t ret = RBASIC(b)->flags;
214
- ret &= BIGNUM_EMBED_LEN_MASK;
215
- ret >>= BIGNUM_EMBED_LEN_SHIFT;
216
- return ret;
217
- }
218
- }
219
-
220
- static inline int
221
- BIGNUM_LENINT(VALUE b)
222
- {
223
- return rb_long2int(BIGNUM_LEN(b));
224
- }
225
-
226
- /* LSB:BIGNUM_DIGITS(b)[0], MSB:BIGNUM_DIGITS(b)[BIGNUM_LEN(b)-1] */
227
- static inline BDIGIT *
228
- BIGNUM_DIGITS(VALUE b)
229
- {
230
- if (BIGNUM_EMBED_P(b)) {
231
- return RBIGNUM(b)->as.ary;
232
- }
233
- else {
234
- return RBIGNUM(b)->as.heap.digits;
235
- }
236
- }
237
-
238
- static inline bool
239
- BIGNUM_EMBED_P(VALUE b)
240
- {
241
- return FL_TEST_RAW(b, BIGNUM_EMBED_FLAG);
242
- }
243
-
244
- #endif /* INTERNAL_BIGNUM_H */