datadog-ruby_core_source 3.3.7 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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 */