cloudsmith-api 2.0.24 → 2.0.26

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 (1385) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +12 -10
  3. data/README.md +33 -6
  4. data/build.json +1 -1
  5. data/docs/AlpinePackageUpload.md +1 -0
  6. data/docs/AlpineUpstream.md +36 -0
  7. data/docs/AlpineUpstreamRequest.md +22 -0
  8. data/docs/AlpineUpstreamRequestPatch.md +22 -0
  9. data/docs/BulkActionApi.md +70 -0
  10. data/docs/CargoPackageUpload.md +1 -0
  11. data/docs/CargoUpstream.md +4 -4
  12. data/docs/CocoapodsPackageUpload.md +1 -0
  13. data/docs/ComposerPackageUpload.md +1 -0
  14. data/docs/ComposerUpstream.md +4 -4
  15. data/docs/ConanPackageUpload.md +1 -0
  16. data/docs/CondaPackageUpload.md +1 -0
  17. data/docs/CondaUpstream.md +4 -4
  18. data/docs/CranPackageUpload.md +1 -0
  19. data/docs/CranUpstream.md +4 -4
  20. data/docs/DartPackageUpload.md +1 -0
  21. data/docs/DartUpstream.md +4 -4
  22. data/docs/DebPackageUpload.md +1 -0
  23. data/docs/DebUpstream.md +4 -4
  24. data/docs/DockerPackageUpload.md +1 -0
  25. data/docs/DockerUpstream.md +2 -2
  26. data/docs/EntitlementsApi.md +68 -0
  27. data/docs/FormatSupportUpstream.md +1 -0
  28. data/docs/GenericPackageUpload.md +1 -0
  29. data/docs/GenericUpstream.md +4 -4
  30. data/docs/GoPackageUpload.md +1 -0
  31. data/docs/GoUpstream.md +4 -4
  32. data/docs/HelmPackageUpload.md +1 -0
  33. data/docs/HelmUpstream.md +4 -4
  34. data/docs/HexPackageUpload.md +1 -0
  35. data/docs/HexUpstream.md +4 -4
  36. data/docs/HuggingfacePackageUpload.md +1 -0
  37. data/docs/HuggingfaceUpstream.md +4 -4
  38. data/docs/LuarocksPackageUpload.md +1 -0
  39. data/docs/MavenPackageUpload.md +1 -0
  40. data/docs/MavenUpstream.md +4 -4
  41. data/docs/McpPackageUpload.md +91 -0
  42. data/docs/McpPackageUploadRequest.md +11 -0
  43. data/docs/NpmPackageUpload.md +1 -0
  44. data/docs/NpmUpstream.md +5 -4
  45. data/docs/NpmUpstreamRequest.md +1 -0
  46. data/docs/NpmUpstreamRequestPatch.md +1 -0
  47. data/docs/NugetPackageUpload.md +1 -0
  48. data/docs/NugetUpstream.md +4 -4
  49. data/docs/OrganizationTeamMembers.md +1 -1
  50. data/docs/OrganizationTeamServiceMember.md +10 -0
  51. data/docs/P2PackageUpload.md +1 -0
  52. data/docs/Package.md +1 -0
  53. data/docs/PackageBulkAction.md +11 -0
  54. data/docs/PackageBulkActionResponse.md +10 -0
  55. data/docs/PackageCopy.md +1 -0
  56. data/docs/PackageMove.md +1 -0
  57. data/docs/PackageQuarantine.md +1 -0
  58. data/docs/PackageRecycleBin.md +10 -0
  59. data/docs/PackageResync.md +1 -0
  60. data/docs/PackageTag.md +1 -0
  61. data/docs/PackagesApi.md +262 -0
  62. data/docs/PythonPackageUpload.md +1 -0
  63. data/docs/PythonUpstream.md +4 -4
  64. data/docs/RawPackageUpload.md +1 -0
  65. data/docs/RecycleBinApi.md +137 -0
  66. data/docs/RecycleBinPackage.md +31 -0
  67. data/docs/ReposApi.md +409 -5
  68. data/docs/Repository.md +2 -0
  69. data/docs/RepositoryCreate.md +2 -0
  70. data/docs/RepositoryCreateRequest.md +1 -0
  71. data/docs/RepositoryRequestPatch.md +1 -0
  72. data/docs/RepositoryTokenPrivateBroadcasts.md +8 -0
  73. data/docs/RepositoryTokenPrivateBroadcastsRequest.md +8 -0
  74. data/docs/RepositoryTokenRefreshRequest.md +0 -1
  75. data/docs/RepositoryTokenRequest.md +0 -1
  76. data/docs/RepositoryTokenRequestPatch.md +0 -1
  77. data/docs/RpmPackageUpload.md +1 -0
  78. data/docs/RpmUpstream.md +4 -4
  79. data/docs/RubyPackageUpload.md +1 -0
  80. data/docs/RubyUpstream.md +4 -4
  81. data/docs/StorageAllocatedLimit.md +1 -0
  82. data/docs/StorageAllocatedLimitRaw.md +1 -0
  83. data/docs/SwiftPackageUpload.md +1 -0
  84. data/docs/SwiftUpstream.md +4 -4
  85. data/docs/TerraformPackageUpload.md +1 -0
  86. data/docs/VagrantPackageUpload.md +1 -0
  87. data/docs/VsxPackageUpload.md +91 -0
  88. data/docs/VsxPackageUploadRequest.md +10 -0
  89. data/lib/cloudsmith-api/api/bulk_action_api.rb +77 -0
  90. data/lib/cloudsmith-api/api/entitlements_api.rb +67 -0
  91. data/lib/cloudsmith-api/api/packages_api.rb +246 -0
  92. data/lib/cloudsmith-api/api/recycle_bin_api.rb +140 -0
  93. data/lib/cloudsmith-api/api/repos_api.rb +403 -4
  94. data/lib/cloudsmith-api/models/alpine_package_upload.rb +10 -1
  95. data/lib/cloudsmith-api/models/alpine_upstream.rb +564 -0
  96. data/lib/cloudsmith-api/models/alpine_upstream_request.rb +399 -0
  97. data/lib/cloudsmith-api/models/alpine_upstream_request_patch.rb +389 -0
  98. data/lib/cloudsmith-api/models/cargo_package_upload.rb +10 -1
  99. data/lib/cloudsmith-api/models/cargo_upstream.rb +9 -6
  100. data/lib/cloudsmith-api/models/cocoapods_package_upload.rb +10 -1
  101. data/lib/cloudsmith-api/models/composer_package_upload.rb +10 -1
  102. data/lib/cloudsmith-api/models/composer_upstream.rb +9 -6
  103. data/lib/cloudsmith-api/models/conan_package_upload.rb +10 -1
  104. data/lib/cloudsmith-api/models/conda_package_upload.rb +10 -1
  105. data/lib/cloudsmith-api/models/conda_upstream.rb +9 -6
  106. data/lib/cloudsmith-api/models/cran_package_upload.rb +10 -1
  107. data/lib/cloudsmith-api/models/cran_upstream.rb +9 -6
  108. data/lib/cloudsmith-api/models/dart_package_upload.rb +10 -1
  109. data/lib/cloudsmith-api/models/dart_upstream.rb +9 -6
  110. data/lib/cloudsmith-api/models/deb_package_upload.rb +10 -1
  111. data/lib/cloudsmith-api/models/deb_upstream.rb +9 -6
  112. data/lib/cloudsmith-api/models/docker_package_upload.rb +10 -1
  113. data/lib/cloudsmith-api/models/docker_upstream.rb +6 -4
  114. data/lib/cloudsmith-api/models/format_support_upstream.rb +19 -4
  115. data/lib/cloudsmith-api/models/generic_package_upload.rb +10 -1
  116. data/lib/cloudsmith-api/models/generic_upstream.rb +9 -6
  117. data/lib/cloudsmith-api/models/go_package_upload.rb +10 -1
  118. data/lib/cloudsmith-api/models/go_upstream.rb +9 -6
  119. data/lib/cloudsmith-api/models/helm_package_upload.rb +10 -1
  120. data/lib/cloudsmith-api/models/helm_upstream.rb +9 -6
  121. data/lib/cloudsmith-api/models/hex_package_upload.rb +10 -1
  122. data/lib/cloudsmith-api/models/hex_upstream.rb +9 -6
  123. data/lib/cloudsmith-api/models/huggingface_package_upload.rb +10 -1
  124. data/lib/cloudsmith-api/models/huggingface_upstream.rb +9 -6
  125. data/lib/cloudsmith-api/models/luarocks_package_upload.rb +10 -1
  126. data/lib/cloudsmith-api/models/maven_package_upload.rb +10 -1
  127. data/lib/cloudsmith-api/models/maven_upstream.rb +9 -6
  128. data/lib/cloudsmith-api/models/mcp_package_upload.rb +1001 -0
  129. data/lib/cloudsmith-api/models/mcp_package_upload_request.rb +220 -0
  130. data/lib/cloudsmith-api/models/npm_package_upload.rb +10 -1
  131. data/lib/cloudsmith-api/models/npm_upstream.rb +34 -7
  132. data/lib/cloudsmith-api/models/npm_upstream_request.rb +25 -1
  133. data/lib/cloudsmith-api/models/npm_upstream_request_patch.rb +25 -1
  134. data/lib/cloudsmith-api/models/nuget_package_upload.rb +10 -1
  135. data/lib/cloudsmith-api/models/nuget_upstream.rb +9 -6
  136. data/lib/cloudsmith-api/models/organization_team_members.rb +1 -1
  137. data/lib/cloudsmith-api/models/organization_team_service_member.rb +261 -0
  138. data/lib/cloudsmith-api/models/p2_package_upload.rb +10 -1
  139. data/lib/cloudsmith-api/models/package.rb +10 -1
  140. data/lib/cloudsmith-api/models/package_bulk_action.rb +261 -0
  141. data/lib/cloudsmith-api/models/package_bulk_action_response.rb +209 -0
  142. data/lib/cloudsmith-api/models/package_copy.rb +10 -1
  143. data/lib/cloudsmith-api/models/package_move.rb +10 -1
  144. data/lib/cloudsmith-api/models/package_quarantine.rb +10 -1
  145. data/lib/cloudsmith-api/models/package_recycle_bin.rb +251 -0
  146. data/lib/cloudsmith-api/models/package_resync.rb +10 -1
  147. data/lib/cloudsmith-api/models/package_tag.rb +10 -1
  148. data/lib/cloudsmith-api/models/python_package_upload.rb +10 -1
  149. data/lib/cloudsmith-api/models/python_upstream.rb +9 -6
  150. data/lib/cloudsmith-api/models/raw_package_upload.rb +10 -1
  151. data/lib/cloudsmith-api/models/recycle_bin_package.rb +442 -0
  152. data/lib/cloudsmith-api/models/repository.rb +21 -1
  153. data/lib/cloudsmith-api/models/repository_create.rb +21 -1
  154. data/lib/cloudsmith-api/models/repository_create_request.rb +11 -1
  155. data/lib/cloudsmith-api/models/repository_request_patch.rb +11 -1
  156. data/lib/cloudsmith-api/models/repository_token_private_broadcasts.rb +190 -0
  157. data/lib/cloudsmith-api/models/repository_token_private_broadcasts_request.rb +190 -0
  158. data/lib/cloudsmith-api/models/repository_token_refresh_request.rb +1 -11
  159. data/lib/cloudsmith-api/models/repository_token_request.rb +1 -11
  160. data/lib/cloudsmith-api/models/repository_token_request_patch.rb +1 -11
  161. data/lib/cloudsmith-api/models/rpm_package_upload.rb +10 -1
  162. data/lib/cloudsmith-api/models/rpm_upstream.rb +9 -6
  163. data/lib/cloudsmith-api/models/ruby_package_upload.rb +10 -1
  164. data/lib/cloudsmith-api/models/ruby_upstream.rb +9 -6
  165. data/lib/cloudsmith-api/models/storage_allocated_limit.rb +13 -4
  166. data/lib/cloudsmith-api/models/storage_allocated_limit_raw.rb +13 -4
  167. data/lib/cloudsmith-api/models/swift_package_upload.rb +10 -1
  168. data/lib/cloudsmith-api/models/swift_upstream.rb +9 -6
  169. data/lib/cloudsmith-api/models/terraform_package_upload.rb +10 -1
  170. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +10 -1
  171. data/lib/cloudsmith-api/models/vsx_package_upload.rb +1001 -0
  172. data/lib/cloudsmith-api/models/vsx_package_upload_request.rb +210 -0
  173. data/lib/cloudsmith-api/version.rb +1 -1
  174. data/lib/cloudsmith-api.rb +16 -1
  175. data/spec/api/bulk_action_api_spec.rb +47 -0
  176. data/spec/api/entitlements_api_spec.rb +15 -0
  177. data/spec/api/packages_api_spec.rb +56 -0
  178. data/spec/api/recycle_bin_api_spec.rb +62 -0
  179. data/spec/api/repos_api_spec.rb +90 -2
  180. data/spec/models/alpine_package_upload_spec.rb +6 -0
  181. data/spec/models/alpine_upstream_request_patch_spec.rb +137 -0
  182. data/spec/models/alpine_upstream_request_spec.rb +137 -0
  183. data/spec/models/alpine_upstream_spec.rb +229 -0
  184. data/spec/models/cargo_package_upload_spec.rb +6 -0
  185. data/spec/models/cargo_upstream_spec.rb +1 -1
  186. data/spec/models/cocoapods_package_upload_spec.rb +6 -0
  187. data/spec/models/composer_package_upload_spec.rb +6 -0
  188. data/spec/models/composer_upstream_spec.rb +1 -1
  189. data/spec/models/conan_package_upload_spec.rb +6 -0
  190. data/spec/models/conda_package_upload_spec.rb +6 -0
  191. data/spec/models/conda_upstream_spec.rb +1 -1
  192. data/spec/models/cran_package_upload_spec.rb +6 -0
  193. data/spec/models/cran_upstream_spec.rb +1 -1
  194. data/spec/models/dart_package_upload_spec.rb +6 -0
  195. data/spec/models/dart_upstream_spec.rb +1 -1
  196. data/spec/models/deb_package_upload_spec.rb +6 -0
  197. data/spec/models/deb_upstream_spec.rb +1 -1
  198. data/spec/models/docker_package_upload_spec.rb +6 -0
  199. data/spec/models/docker_upstream_spec.rb +1 -1
  200. data/spec/models/format_support_upstream_spec.rb +6 -0
  201. data/spec/models/generic_package_upload_spec.rb +6 -0
  202. data/spec/models/generic_upstream_spec.rb +1 -1
  203. data/spec/models/go_package_upload_spec.rb +6 -0
  204. data/spec/models/go_upstream_spec.rb +1 -1
  205. data/spec/models/helm_package_upload_spec.rb +6 -0
  206. data/spec/models/helm_upstream_spec.rb +1 -1
  207. data/spec/models/hex_package_upload_spec.rb +6 -0
  208. data/spec/models/hex_upstream_spec.rb +1 -1
  209. data/spec/models/huggingface_package_upload_spec.rb +6 -0
  210. data/spec/models/huggingface_upstream_spec.rb +1 -1
  211. data/spec/models/luarocks_package_upload_spec.rb +6 -0
  212. data/spec/models/maven_package_upload_spec.rb +6 -0
  213. data/spec/models/maven_upstream_spec.rb +1 -1
  214. data/spec/models/mcp_package_upload_request_spec.rb +59 -0
  215. data/spec/models/mcp_package_upload_spec.rb +543 -0
  216. data/spec/models/npm_package_upload_spec.rb +6 -0
  217. data/spec/models/npm_upstream_request_patch_spec.rb +10 -0
  218. data/spec/models/npm_upstream_request_spec.rb +10 -0
  219. data/spec/models/npm_upstream_spec.rb +11 -1
  220. data/spec/models/nuget_package_upload_spec.rb +6 -0
  221. data/spec/models/nuget_upstream_spec.rb +1 -1
  222. data/spec/models/organization_team_service_member_spec.rb +61 -0
  223. data/spec/models/p2_package_upload_spec.rb +6 -0
  224. data/spec/models/package_bulk_action_response_spec.rb +53 -0
  225. data/spec/models/package_bulk_action_spec.rb +63 -0
  226. data/spec/models/package_copy_spec.rb +6 -0
  227. data/spec/models/package_move_spec.rb +6 -0
  228. data/spec/models/package_quarantine_spec.rb +6 -0
  229. data/spec/models/package_recycle_bin_spec.rb +57 -0
  230. data/spec/models/package_resync_spec.rb +6 -0
  231. data/spec/models/package_spec.rb +6 -0
  232. data/spec/models/package_tag_spec.rb +6 -0
  233. data/spec/models/python_package_upload_spec.rb +6 -0
  234. data/spec/models/python_upstream_spec.rb +1 -1
  235. data/spec/models/raw_package_upload_spec.rb +6 -0
  236. data/spec/models/recycle_bin_package_spec.rb +183 -0
  237. data/spec/models/repository_create_request_spec.rb +6 -0
  238. data/spec/models/repository_create_spec.rb +12 -0
  239. data/spec/models/repository_request_patch_spec.rb +6 -0
  240. data/spec/models/repository_spec.rb +12 -0
  241. data/spec/models/repository_token_private_broadcasts_request_spec.rb +41 -0
  242. data/spec/models/repository_token_private_broadcasts_spec.rb +41 -0
  243. data/spec/models/repository_token_refresh_request_spec.rb +0 -6
  244. data/spec/models/repository_token_request_patch_spec.rb +0 -6
  245. data/spec/models/repository_token_request_spec.rb +0 -6
  246. data/spec/models/rpm_package_upload_spec.rb +6 -0
  247. data/spec/models/rpm_upstream_spec.rb +1 -1
  248. data/spec/models/ruby_package_upload_spec.rb +6 -0
  249. data/spec/models/ruby_upstream_spec.rb +1 -1
  250. data/spec/models/storage_allocated_limit_raw_spec.rb +6 -0
  251. data/spec/models/storage_allocated_limit_spec.rb +6 -0
  252. data/spec/models/swift_package_upload_spec.rb +6 -0
  253. data/spec/models/swift_upstream_spec.rb +1 -1
  254. data/spec/models/terraform_package_upload_spec.rb +6 -0
  255. data/spec/models/vagrant_package_upload_spec.rb +6 -0
  256. data/spec/models/vsx_package_upload_request_spec.rb +53 -0
  257. data/spec/models/vsx_package_upload_spec.rb +543 -0
  258. data/vendor/bundle/ruby/2.6.0/cache/addressable-2.9.0.gem +0 -0
  259. data/vendor/bundle/ruby/2.6.0/cache/autotest-fsevent-0.3.2.gem +0 -0
  260. data/vendor/bundle/ruby/2.6.0/cache/bigdecimal-4.1.2.gem +0 -0
  261. data/vendor/bundle/ruby/2.6.0/cache/ethon-0.18.0.gem +0 -0
  262. data/vendor/bundle/ruby/2.6.0/cache/ffi-1.17.4.gem +0 -0
  263. data/vendor/bundle/ruby/2.6.0/cache/logger-1.7.0.gem +0 -0
  264. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.13.8.gem +0 -0
  265. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.13.7.gem +0 -0
  266. data/vendor/bundle/ruby/2.6.0/cache/typhoeus-1.6.0.gem +0 -0
  267. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem_make.out +14 -0
  268. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/bigdecimal.so +0 -0
  269. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/gem_make.out +206 -0
  270. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/mkmf.log +511 -0
  271. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/ffi_c.so +0 -0
  272. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem_make.out +44 -0
  273. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/mkmf.log +299 -0
  274. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/gem_make.out +2 -2
  275. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/mkmf.log +1 -1
  276. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.9.0/CHANGELOG.md +326 -0
  277. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.9.0/lib/addressable/idna/pure.rb +4710 -0
  278. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.9.0/lib/addressable/template.rb +1040 -0
  279. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.9.0/lib/addressable/version.rb +31 -0
  280. data/vendor/bundle/ruby/2.6.0/gems/autotest-fsevent-0.3.2/CHANGELOG.md +171 -0
  281. data/vendor/bundle/ruby/2.6.0/gems/autotest-fsevent-0.3.2/lib/autotest-fsevent/version.rb +5 -0
  282. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/bigdecimal.gemspec +62 -0
  283. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/Makefile +267 -0
  284. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.c +6207 -0
  285. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.h +298 -0
  286. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.o +0 -0
  287. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/bigdecimal.so +0 -0
  288. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/div.h +192 -0
  289. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/extconf.rb +63 -0
  290. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing/dtoa.c +3509 -0
  291. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing.h +106 -0
  292. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/missing.o +0 -0
  293. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/ntt.h +191 -0
  294. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/math.rb +927 -0
  295. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal/util.rb +186 -0
  296. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal.rb +404 -0
  297. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/lib/bigdecimal.so +0 -0
  298. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sample/linear.rb +110 -0
  299. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sample/nlsolve.rb +57 -0
  300. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sample/pi.rb +16 -0
  301. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sig/big_decimal.rbs +1502 -0
  302. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sig/big_decimal_util.rbs +158 -0
  303. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/sig/big_math.rbs +423 -0
  304. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/CHANGELOG.md +417 -0
  305. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/README.md +118 -0
  306. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/ethon.gemspec +37 -0
  307. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/curls/classes.rb +65 -0
  308. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/curls/codes.rb +123 -0
  309. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/curls/options.rb +503 -0
  310. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/easy/callbacks.rb +155 -0
  311. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/easy/informations.rb +116 -0
  312. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/easy/response_callbacks.rb +136 -0
  313. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/loggable.rb +58 -0
  314. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.18.0/lib/ethon/version.rb +6 -0
  315. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/CHANGELOG.md +507 -0
  316. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/AbstractMemory.o +0 -0
  317. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/ArrayType.o +0 -0
  318. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Buffer.o +0 -0
  319. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Call.o +0 -0
  320. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/ClosurePool.o +0 -0
  321. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/DynamicLibrary.o +0 -0
  322. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Function.o +0 -0
  323. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/FunctionInfo.o +0 -0
  324. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/LastError.o +0 -0
  325. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/LongDouble.o +0 -0
  326. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Makefile +266 -0
  327. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/MappedType.o +0 -0
  328. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/MemoryPointer.o +0 -0
  329. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/MethodHandle.o +0 -0
  330. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Platform.o +0 -0
  331. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Pointer.o +0 -0
  332. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Struct.o +0 -0
  333. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/StructByValue.o +0 -0
  334. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/StructLayout.c +886 -0
  335. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/StructLayout.o +0 -0
  336. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Thread.o +0 -0
  337. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Type.o +0 -0
  338. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Types.o +0 -0
  339. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Variadic.o +0 -0
  340. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/ffi.o +0 -0
  341. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/ffi_c.so +0 -0
  342. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ffi.gemspec +43 -0
  343. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/lib/ffi/version.rb +3 -0
  344. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/lib/ffi_c.so +0 -0
  345. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/generator/Makefile +2 -2
  346. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/parser/Makefile +2 -2
  347. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/.document +4 -0
  348. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/.rdoc_options +3 -0
  349. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/BSDL +22 -0
  350. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/COPYING +56 -0
  351. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/README.md +104 -0
  352. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/errors.rb +9 -0
  353. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/formatter.rb +36 -0
  354. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/log_device.rb +265 -0
  355. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/period.rb +47 -0
  356. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/severity.rb +38 -0
  357. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger/version.rb +5 -0
  358. data/vendor/bundle/ruby/2.6.0/gems/logger-1.7.0/lib/logger.rb +789 -0
  359. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.8/Changelog.md +1351 -0
  360. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.8/lib/rspec/mocks/any_instance/recorder.rb +301 -0
  361. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.8/lib/rspec/mocks/order_group.rb +92 -0
  362. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.8/lib/rspec/mocks/version.rb +9 -0
  363. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.13.7/Changelog.md +444 -0
  364. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.13.7/lib/rspec/support/fuzzy_matcher.rb +53 -0
  365. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.13.7/lib/rspec/support/version.rb +9 -0
  366. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.6.0/CHANGELOG.md +465 -0
  367. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.6.0/README.md +588 -0
  368. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.6.0/lib/typhoeus/version.rb +5 -0
  369. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.6.0/typhoeus.gemspec +35 -0
  370. data/vendor/bundle/ruby/2.6.0/specifications/addressable-2.9.0.gemspec +35 -0
  371. data/vendor/bundle/ruby/2.6.0/specifications/autotest-fsevent-0.3.2.gemspec +43 -0
  372. data/vendor/bundle/ruby/2.6.0/specifications/bigdecimal-4.1.2.gemspec +25 -0
  373. data/vendor/bundle/ruby/2.6.0/specifications/ethon-0.18.0.gemspec +34 -0
  374. data/vendor/bundle/ruby/2.6.0/specifications/ffi-1.17.4.gemspec +27 -0
  375. data/vendor/bundle/ruby/2.6.0/specifications/logger-1.7.0.gemspec +22 -0
  376. data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.13.8.gemspec +36 -0
  377. data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.13.7.gemspec +36 -0
  378. data/vendor/bundle/ruby/2.6.0/specifications/typhoeus-1.6.0.gemspec +32 -0
  379. metadata +764 -1013
  380. data/docs/OrganizationTeamMembership.md +0 -9
  381. data/lib/cloudsmith-api/models/organization_team_membership.rb +0 -238
  382. data/spec/models/organization_team_membership_spec.rb +0 -51
  383. data/vendor/bundle/ruby/2.6.0/cache/addressable-2.8.8.gem +0 -0
  384. data/vendor/bundle/ruby/2.6.0/cache/autotest-fsevent-0.3.1.gem +0 -0
  385. data/vendor/bundle/ruby/2.6.0/cache/bigdecimal-4.0.1.gem +0 -0
  386. data/vendor/bundle/ruby/2.6.0/cache/ethon-0.15.0.gem +0 -0
  387. data/vendor/bundle/ruby/2.6.0/cache/ffi-1.17.3.gem +0 -0
  388. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.13.7.gem +0 -0
  389. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.13.6.gem +0 -0
  390. data/vendor/bundle/ruby/2.6.0/cache/typhoeus-1.5.0.gem +0 -0
  391. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.1/gem_make.out +0 -14
  392. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.0.1/bigdecimal.so +0 -0
  393. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.0.1/gem_make.out +0 -145
  394. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.0.1/mkmf.log +0 -489
  395. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.3/ffi_c.so +0 -0
  396. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.3/gem_make.out +0 -44
  397. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.3/mkmf.log +0 -299
  398. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/CHANGELOG.md +0 -310
  399. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/Gemfile +0 -31
  400. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/Rakefile +0 -37
  401. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/addressable.gemspec +0 -28
  402. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/lib/addressable/idna/pure.rb +0 -4720
  403. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/lib/addressable/template.rb +0 -1029
  404. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/lib/addressable/version.rb +0 -31
  405. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/idna_spec.rb +0 -302
  406. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/net_http_compat_spec.rb +0 -29
  407. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/security_spec.rb +0 -58
  408. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/template_spec.rb +0 -1264
  409. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/addressable/uri_spec.rb +0 -6854
  410. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/spec/spec_helper.rb +0 -33
  411. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/clobber.rake +0 -4
  412. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/gem.rake +0 -100
  413. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/git.rake +0 -47
  414. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/metrics.rake +0 -24
  415. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/profile.rake +0 -72
  416. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/rspec.rake +0 -23
  417. data/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.8/tasks/yard.rake +0 -29
  418. data/vendor/bundle/ruby/2.6.0/gems/autotest-fsevent-0.3.1/CHANGELOG.md +0 -166
  419. data/vendor/bundle/ruby/2.6.0/gems/autotest-fsevent-0.3.1/lib/autotest-fsevent/version.rb +0 -5
  420. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/bigdecimal.gemspec +0 -57
  421. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/Makefile +0 -267
  422. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/bigdecimal.c +0 -6206
  423. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/bigdecimal.h +0 -292
  424. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/bigdecimal.o +0 -0
  425. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/bigdecimal.so +0 -0
  426. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/extconf.rb +0 -60
  427. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/missing/dtoa.c +0 -3462
  428. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/missing.h +0 -104
  429. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/ext/bigdecimal/missing.o +0 -0
  430. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/lib/bigdecimal/math.rb +0 -948
  431. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/lib/bigdecimal/util.rb +0 -186
  432. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/lib/bigdecimal.rb +0 -360
  433. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/lib/bigdecimal.so +0 -0
  434. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/sample/linear.rb +0 -74
  435. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/sample/nlsolve.rb +0 -40
  436. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.0.1/sample/pi.rb +0 -21
  437. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/.github/workflows/ruby.yml +0 -41
  438. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/.gitignore +0 -8
  439. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/.rspec +0 -3
  440. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/CHANGELOG.md +0 -372
  441. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/Gemfile +0 -43
  442. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/Guardfile +0 -10
  443. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/README.md +0 -95
  444. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/Rakefile +0 -40
  445. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/ethon.gemspec +0 -26
  446. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/curls/classes.rb +0 -55
  447. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/curls/codes.rb +0 -122
  448. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/curls/options.rb +0 -502
  449. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/easy/callbacks.rb +0 -148
  450. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/easy/informations.rb +0 -113
  451. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/easy/response_callbacks.rb +0 -131
  452. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/loggable.rb +0 -59
  453. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/version.rb +0 -6
  454. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/benchmarks.rb +0 -104
  455. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/memory_leaks.rb +0 -114
  456. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/perf_spec_helper.rb +0 -37
  457. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/support/memory_test_helpers.rb +0 -76
  458. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/support/os_memory_leak_tracker.rb +0 -48
  459. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/profile/support/ruby_object_leak_tracker.rb +0 -49
  460. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/curl_spec.rb +0 -38
  461. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/callbacks_spec.rb +0 -59
  462. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/debug_info_spec.rb +0 -54
  463. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/features_spec.rb +0 -24
  464. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/form_spec.rb +0 -104
  465. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/header_spec.rb +0 -79
  466. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/custom_spec.rb +0 -177
  467. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/delete_spec.rb +0 -21
  468. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/get_spec.rb +0 -126
  469. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/head_spec.rb +0 -80
  470. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/options_spec.rb +0 -51
  471. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/patch_spec.rb +0 -51
  472. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/post_spec.rb +0 -317
  473. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http/put_spec.rb +0 -168
  474. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/http_spec.rb +0 -64
  475. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/informations_spec.rb +0 -120
  476. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/mirror_spec.rb +0 -47
  477. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/operations_spec.rb +0 -268
  478. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/options_spec.rb +0 -193
  479. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/queryable_spec.rb +0 -235
  480. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/response_callbacks_spec.rb +0 -152
  481. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy/util_spec.rb +0 -28
  482. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/easy_spec.rb +0 -203
  483. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/libc_spec.rb +0 -14
  484. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/loggable_spec.rb +0 -22
  485. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi/operations_spec.rb +0 -298
  486. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi/options_spec.rb +0 -182
  487. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi/stack_spec.rb +0 -80
  488. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/ethon/multi_spec.rb +0 -152
  489. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/spec_helper.rb +0 -28
  490. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/support/localhost_server.rb +0 -95
  491. data/vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/spec/support/server.rb +0 -115
  492. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/CHANGELOG.md +0 -498
  493. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/AbstractMemory.o +0 -0
  494. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/ArrayType.o +0 -0
  495. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Buffer.o +0 -0
  496. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Call.o +0 -0
  497. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/ClosurePool.o +0 -0
  498. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/DynamicLibrary.o +0 -0
  499. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Function.o +0 -0
  500. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/FunctionInfo.o +0 -0
  501. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/LastError.o +0 -0
  502. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/LongDouble.o +0 -0
  503. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Makefile +0 -266
  504. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/MappedType.o +0 -0
  505. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/MemoryPointer.o +0 -0
  506. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/MethodHandle.o +0 -0
  507. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Platform.o +0 -0
  508. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Pointer.o +0 -0
  509. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Struct.o +0 -0
  510. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/StructByValue.o +0 -0
  511. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/StructLayout.c +0 -769
  512. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/StructLayout.o +0 -0
  513. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Thread.o +0 -0
  514. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Type.o +0 -0
  515. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Types.o +0 -0
  516. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/Variadic.o +0 -0
  517. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/ffi.o +0 -0
  518. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/ffi_c.so +0 -0
  519. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.allow-ai-service +0 -0
  520. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/Containerfile.ppc64le +0 -12
  521. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/ar-lib +0 -270
  522. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/bfin-sim.exp +0 -58
  523. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/build-cross-in-container.sh +0 -18
  524. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/build-in-container.sh +0 -10
  525. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/build.sh +0 -129
  526. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/compile +0 -351
  527. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/install.sh +0 -74
  528. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/m32r-sim.exp +0 -58
  529. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/moxie-sim.exp +0 -60
  530. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/msvs-detect +0 -1103
  531. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/or1k-sim.exp +0 -58
  532. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp +0 -58
  533. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/site.exp +0 -35
  534. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/unix-noexec.exp +0 -7
  535. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.ci/wine-sim.exp +0 -55
  536. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.gail-labels +0 -44
  537. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.gitattributes +0 -4
  538. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.github/issue_template.md +0 -10
  539. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.github/workflows/build.yml +0 -358
  540. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.github/workflows/emscripten.yml +0 -215
  541. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.github/workflows/label-new-issue.yaml +0 -15
  542. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.github/workflows/tarball.yml +0 -55
  543. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/.gitignore +0 -46
  544. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/Makefile.am +0 -89
  545. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/config/default.exp +0 -1
  546. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +0 -34
  547. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/emscripten/build.sh +0 -46
  548. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +0 -86
  549. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +0 -23
  550. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/emscripten/test.html +0 -7
  551. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +0 -51
  552. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/lib/libffi.exp +0 -695
  553. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +0 -283
  554. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +0 -45
  555. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +0 -28
  556. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +0 -78
  557. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +0 -50
  558. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +0 -63
  559. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +0 -1746
  560. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +0 -2885
  561. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +0 -747
  562. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +0 -46
  563. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +0 -46
  564. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +0 -41
  565. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +0 -54
  566. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/callback.c +0 -99
  567. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/callback2.c +0 -108
  568. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/callback3.c +0 -114
  569. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/callback4.c +0 -119
  570. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +0 -26
  571. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +0 -166
  572. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/float.c +0 -59
  573. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +0 -60
  574. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +0 -61
  575. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +0 -74
  576. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +0 -62
  577. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +0 -110
  578. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/longjmp.c +0 -60
  579. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/many.c +0 -59
  580. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +0 -57
  581. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +0 -70
  582. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +0 -78
  583. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -52
  584. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +0 -46
  585. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/overread.c +0 -54
  586. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +0 -127
  587. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +0 -59
  588. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc_tc.c +0 -114
  589. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +0 -36
  590. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +0 -43
  591. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +0 -42
  592. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +0 -35
  593. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +0 -36
  594. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +0 -49
  595. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +0 -42
  596. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +0 -34
  597. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +0 -41
  598. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +0 -48
  599. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +0 -36
  600. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +0 -42
  601. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +0 -38
  602. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +0 -42
  603. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +0 -60
  604. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +0 -43
  605. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +0 -49
  606. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +0 -49
  607. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +0 -55
  608. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +0 -67
  609. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +0 -57
  610. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +0 -67
  611. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +0 -60
  612. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +0 -64
  613. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +0 -66
  614. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +0 -64
  615. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +0 -74
  616. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +0 -81
  617. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +0 -68
  618. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c +0 -63
  619. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c +0 -65
  620. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c +0 -65
  621. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c +0 -67
  622. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c +0 -67
  623. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c +0 -93
  624. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c +0 -61
  625. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_int_float.c +0 -88
  626. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c +0 -63
  627. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c +0 -90
  628. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +0 -61
  629. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +0 -78
  630. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +0 -220
  631. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +0 -154
  632. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +0 -134
  633. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +0 -135
  634. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +0 -141
  635. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.call/x32.c +0 -31
  636. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +0 -67
  637. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c +0 -90
  638. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c +0 -83
  639. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c +0 -83
  640. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c +0 -102
  641. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c +0 -91
  642. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c +0 -94
  643. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c +0 -92
  644. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c +0 -96
  645. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c +0 -61
  646. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c +0 -112
  647. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c +0 -117
  648. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c +0 -120
  649. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c +0 -131
  650. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c +0 -93
  651. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c +0 -109
  652. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c +0 -113
  653. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c +0 -145
  654. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c +0 -103
  655. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c +0 -114
  656. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c +0 -103
  657. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c +0 -103
  658. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +0 -113
  659. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c +0 -120
  660. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c +0 -103
  661. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c +0 -137
  662. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c +0 -116
  663. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c +0 -148
  664. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c +0 -140
  665. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c +0 -121
  666. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c +0 -155
  667. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c +0 -121
  668. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c +0 -102
  669. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c +0 -103
  670. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c +0 -103
  671. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c +0 -111
  672. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c +0 -109
  673. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c +0 -111
  674. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c +0 -147
  675. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c +0 -152
  676. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c +0 -113
  677. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c +0 -108
  678. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c +0 -106
  679. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c +0 -109
  680. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c +0 -108
  681. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c +0 -109
  682. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c +0 -111
  683. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +0 -68
  684. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double.c +0 -43
  685. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c +0 -69
  686. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c +0 -46
  687. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c +0 -115
  688. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c +0 -80
  689. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_args.c +0 -70
  690. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c +0 -55
  691. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c +0 -78
  692. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c +0 -79
  693. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +0 -94
  694. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c +0 -99
  695. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c +0 -78
  696. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +0 -94
  697. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c +0 -79
  698. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c +0 -152
  699. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c +0 -47
  700. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c +0 -44
  701. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c +0 -45
  702. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c +0 -125
  703. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c +0 -45
  704. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c +0 -47
  705. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c +0 -49
  706. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c +0 -49
  707. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c +0 -49
  708. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c +0 -46
  709. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/err_bad_abi.c +0 -36
  710. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +0 -1
  711. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +0 -342
  712. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c +0 -175
  713. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c +0 -161
  714. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c +0 -146
  715. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +0 -137
  716. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +0 -86
  717. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +0 -115
  718. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c +0 -119
  719. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c +0 -120
  720. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c +0 -120
  721. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c +0 -121
  722. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c +0 -142
  723. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c +0 -120
  724. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c +0 -142
  725. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c +0 -142
  726. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/problem1.c +0 -90
  727. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c +0 -86
  728. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c +0 -102
  729. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c +0 -101
  730. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large.c +0 -145
  731. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large2.c +0 -148
  732. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c +0 -124
  733. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c +0 -125
  734. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c +0 -75
  735. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +0 -120
  736. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +0 -57
  737. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +0 -91
  738. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +0 -10
  739. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +0 -10
  740. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +0 -10
  741. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +0 -42
  742. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +0 -10
  743. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +0 -10
  744. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +0 -10
  745. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +0 -71
  746. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +0 -10
  747. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +0 -10
  748. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +0 -10
  749. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +0 -80
  750. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +0 -10
  751. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +0 -16
  752. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +0 -10
  753. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +0 -36
  754. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +0 -51
  755. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +0 -7
  756. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +0 -7
  757. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +0 -7
  758. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +0 -10
  759. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +0 -10
  760. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +0 -86
  761. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +0 -10
  762. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +0 -1
  763. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +0 -78
  764. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +0 -10
  765. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +0 -10
  766. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +0 -10
  767. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +0 -37
  768. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +0 -41
  769. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +0 -10
  770. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +0 -10
  771. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +0 -10
  772. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +0 -44
  773. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +0 -10
  774. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +0 -10
  775. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +0 -10
  776. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +0 -10
  777. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +0 -10
  778. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +0 -10
  779. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +0 -34
  780. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +0 -28
  781. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +0 -1
  782. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +0 -36
  783. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +0 -19
  784. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.threads/ffitest.h +0 -1
  785. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.threads/threads.exp +0 -50
  786. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ext/ffi_c/libffi/testsuite/libffi.threads/tsan.c +0 -74
  787. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/ffi.gemspec +0 -41
  788. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/lib/ffi/version.rb +0 -3
  789. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.3/lib/ffi_c.so +0 -0
  790. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.7/Changelog.md +0 -1343
  791. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.7/lib/rspec/mocks/any_instance/recorder.rb +0 -299
  792. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.7/lib/rspec/mocks/order_group.rb +0 -81
  793. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.13.7/lib/rspec/mocks/version.rb +0 -9
  794. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.13.6/Changelog.md +0 -437
  795. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.13.6/lib/rspec/support/fuzzy_matcher.rb +0 -50
  796. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.13.6/lib/rspec/support/version.rb +0 -9
  797. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.5.0/CHANGELOG.md +0 -452
  798. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.5.0/README.md +0 -588
  799. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.5.0/lib/typhoeus/version.rb +0 -5
  800. data/vendor/bundle/ruby/2.6.0/gems/typhoeus-1.5.0/typhoeus.gemspec +0 -35
  801. data/vendor/bundle/ruby/2.6.0/specifications/addressable-2.8.8.gemspec +0 -37
  802. data/vendor/bundle/ruby/2.6.0/specifications/autotest-fsevent-0.3.1.gemspec +0 -43
  803. data/vendor/bundle/ruby/2.6.0/specifications/bigdecimal-4.0.1.gemspec +0 -25
  804. data/vendor/bundle/ruby/2.6.0/specifications/ethon-0.15.0.gemspec +0 -30
  805. data/vendor/bundle/ruby/2.6.0/specifications/ffi-1.17.3.gemspec +0 -27
  806. data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.13.7.gemspec +0 -36
  807. data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.13.6.gemspec +0 -36
  808. data/vendor/bundle/ruby/2.6.0/specifications/typhoeus-1.5.0.gemspec +0 -32
  809. /data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/gem.build_complete +0 -0
  810. /data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/gem.build_complete +0 -0
  811. /data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{ffi-1.17.3 → ffi-1.17.4}/gem.build_complete +0 -0
  812. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.9.0}/LICENSE.txt +0 -0
  813. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.9.0}/README.md +0 -0
  814. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.9.0}/lib/addressable/idna/native.rb +0 -0
  815. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.9.0}/lib/addressable/idna.rb +0 -0
  816. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.9.0}/lib/addressable/uri.rb +0 -0
  817. /data/vendor/bundle/ruby/2.6.0/gems/{addressable-2.8.8 → addressable-2.9.0}/lib/addressable.rb +0 -0
  818. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/LICENSE.txt +0 -0
  819. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/README.md +0 -0
  820. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/Makefile +0 -0
  821. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/extconf.rb +0 -0
  822. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/fsevent.dll +0 -0
  823. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/fsevent.so +0 -0
  824. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/fsevent_sleep.c +0 -0
  825. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/make +0 -0
  826. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/ext/fsevent/nmake.bat +0 -0
  827. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/lib/autotest/fsevent.rb +0 -0
  828. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/lib/autotest-fsevent.rb +0 -0
  829. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/post-install.txt +0 -0
  830. /data/vendor/bundle/ruby/2.6.0/gems/{autotest-fsevent-0.3.1 → autotest-fsevent-0.3.2}/prebuilt/fsevent_sleep +0 -0
  831. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/LICENSE +0 -0
  832. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/ext/bigdecimal/.sitearchdir.time +0 -0
  833. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/ext/bigdecimal/bits.h +0 -0
  834. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/ext/bigdecimal/feature.h +0 -0
  835. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/ext/bigdecimal/missing.c +0 -0
  836. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/ext/bigdecimal/static_assert.h +0 -0
  837. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/lib/bigdecimal/jacobian.rb +0 -0
  838. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/lib/bigdecimal/ludcmp.rb +0 -0
  839. /data/vendor/bundle/ruby/2.6.0/gems/{bigdecimal-4.0.1 → bigdecimal-4.1.2}/lib/bigdecimal/newton.rb +0 -0
  840. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/LICENSE +0 -0
  841. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curl.rb +0 -0
  842. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/constants.rb +0 -0
  843. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/form_options.rb +0 -0
  844. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/functions.rb +0 -0
  845. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/infos.rb +0 -0
  846. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/messages.rb +0 -0
  847. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/curls/settings.rb +0 -0
  848. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/debug_info.rb +0 -0
  849. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/features.rb +0 -0
  850. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/form.rb +0 -0
  851. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/header.rb +0 -0
  852. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/actionable.rb +0 -0
  853. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/custom.rb +0 -0
  854. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/delete.rb +0 -0
  855. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/get.rb +0 -0
  856. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/head.rb +0 -0
  857. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/options.rb +0 -0
  858. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/patch.rb +0 -0
  859. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/post.rb +0 -0
  860. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/postable.rb +0 -0
  861. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/put.rb +0 -0
  862. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http/putable.rb +0 -0
  863. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/http.rb +0 -0
  864. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/mirror.rb +0 -0
  865. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/operations.rb +0 -0
  866. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/options.rb +0 -0
  867. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/params.rb +0 -0
  868. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/queryable.rb +0 -0
  869. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy/util.rb +0 -0
  870. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/easy.rb +0 -0
  871. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/ethon_error.rb +0 -0
  872. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/global_init.rb +0 -0
  873. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/invalid_option.rb +0 -0
  874. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/invalid_value.rb +0 -0
  875. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_add.rb +0 -0
  876. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  877. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_remove.rb +0 -0
  878. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  879. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors/select.rb +0 -0
  880. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/errors.rb +0 -0
  881. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/libc.rb +0 -0
  882. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi/operations.rb +0 -0
  883. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi/options.rb +0 -0
  884. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi/stack.rb +0 -0
  885. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon/multi.rb +0 -0
  886. /data/vendor/bundle/ruby/2.6.0/gems/{ethon-0.15.0 → ethon-0.18.0}/lib/ethon.rb +0 -0
  887. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/COPYING +0 -0
  888. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/Gemfile +0 -0
  889. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/LICENSE +0 -0
  890. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/LICENSE.SPECS +0 -0
  891. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/README.md +0 -0
  892. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/Rakefile +0 -0
  893. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/Steepfile +0 -0
  894. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/.sitearchdir.time +0 -0
  895. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/AbstractMemory.c +0 -0
  896. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/AbstractMemory.h +0 -0
  897. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/ArrayType.c +0 -0
  898. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/ArrayType.h +0 -0
  899. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Buffer.c +0 -0
  900. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Call.c +0 -0
  901. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Call.h +0 -0
  902. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/ClosurePool.c +0 -0
  903. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/ClosurePool.h +0 -0
  904. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/DynamicLibrary.c +0 -0
  905. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/DynamicLibrary.h +0 -0
  906. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Function.c +0 -0
  907. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Function.h +0 -0
  908. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/FunctionInfo.c +0 -0
  909. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/LastError.c +0 -0
  910. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/LastError.h +0 -0
  911. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/LongDouble.c +0 -0
  912. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/LongDouble.h +0 -0
  913. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/MappedType.c +0 -0
  914. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/MappedType.h +0 -0
  915. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/MemoryPointer.c +0 -0
  916. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/MemoryPointer.h +0 -0
  917. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/MethodHandle.c +0 -0
  918. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/MethodHandle.h +0 -0
  919. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Platform.c +0 -0
  920. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Platform.h +0 -0
  921. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Pointer.c +0 -0
  922. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Pointer.h +0 -0
  923. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Struct.c +0 -0
  924. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Struct.h +0 -0
  925. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/StructByValue.c +0 -0
  926. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/StructByValue.h +0 -0
  927. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Thread.c +0 -0
  928. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Thread.h +0 -0
  929. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Type.c +0 -0
  930. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Type.h +0 -0
  931. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Types.c +0 -0
  932. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Types.h +0 -0
  933. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/Variadic.c +0 -0
  934. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/compat.h +0 -0
  935. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/extconf.h +0 -0
  936. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/extconf.rb +0 -0
  937. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/ffi.c +0 -0
  938. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/ChangeLog.old +0 -0
  939. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/LICENSE +0 -0
  940. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +0 -0
  941. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/Makefile.am +0 -0
  942. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/Makefile.in +0 -0
  943. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/README.md +0 -0
  944. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/acinclude.m4 +0 -0
  945. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/autogen.sh +0 -0
  946. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/compile +0 -0
  947. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/config.guess +0 -0
  948. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/config.sub +0 -0
  949. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/configure +0 -0
  950. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/configure.ac +0 -0
  951. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/configure.host +0 -0
  952. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/doc/Makefile.am +0 -0
  953. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/doc/Makefile.in +0 -0
  954. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/doc/libffi.texi +0 -0
  955. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/doc/version.texi +0 -0
  956. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/fficonfig.h.in +0 -0
  957. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +0 -0
  958. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/include/Makefile.am +0 -0
  959. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/include/Makefile.in +0 -0
  960. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/include/ffi.h.in +0 -0
  961. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/include/ffi_cfi.h +0 -0
  962. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/include/ffi_common.h +0 -0
  963. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/include/tramp.h +0 -0
  964. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/install-sh +0 -0
  965. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/libffi.map.in +0 -0
  966. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/libffi.pc.in +0 -0
  967. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +0 -0
  968. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/libtool-ldflags +0 -0
  969. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/libtool-version +0 -0
  970. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/ltmain.sh +0 -0
  971. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/asmcfi.m4 +0 -0
  972. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_append_flag.m4 +0 -0
  973. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +0 -0
  974. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +0 -0
  975. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +0 -0
  976. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +0 -0
  977. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_configure_args.m4 +0 -0
  978. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +0 -0
  979. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +0 -0
  980. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +0 -0
  981. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +0 -0
  982. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/m4/ax_require_defined.m4 +0 -0
  983. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/make_sunver.pl +0 -0
  984. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/man/Makefile.am +0 -0
  985. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/man/Makefile.in +0 -0
  986. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/man/ffi.3 +0 -0
  987. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/man/ffi_call.3 +0 -0
  988. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/man/ffi_prep_cif.3 +0 -0
  989. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +0 -0
  990. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/missing +0 -0
  991. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +0 -0
  992. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +0 -0
  993. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +0 -0
  994. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +0 -0
  995. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +0 -0
  996. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/fficonfig.h +0 -0
  997. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/msvcc.sh +0 -0
  998. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/aarch64/ffi.c +0 -0
  999. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/aarch64/ffitarget.h +0 -0
  1000. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/aarch64/internal.h +0 -0
  1001. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/aarch64/sysv.S +0 -0
  1002. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +0 -0
  1003. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/alpha/ffi.c +0 -0
  1004. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/alpha/ffitarget.h +0 -0
  1005. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/alpha/internal.h +0 -0
  1006. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/alpha/osf.S +0 -0
  1007. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arc/arcompact.S +0 -0
  1008. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arc/ffi.c +0 -0
  1009. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arc/ffitarget.h +0 -0
  1010. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arm/ffi.c +0 -0
  1011. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arm/ffitarget.h +0 -0
  1012. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arm/internal.h +0 -0
  1013. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arm/sysv.S +0 -0
  1014. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +0 -0
  1015. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/avr32/ffi.c +0 -0
  1016. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/avr32/ffitarget.h +0 -0
  1017. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/avr32/sysv.S +0 -0
  1018. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/bfin/ffi.c +0 -0
  1019. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/bfin/ffitarget.h +0 -0
  1020. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/bfin/sysv.S +0 -0
  1021. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/closures.c +0 -0
  1022. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/cris/ffi.c +0 -0
  1023. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/cris/ffitarget.h +0 -0
  1024. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/cris/sysv.S +0 -0
  1025. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/csky/ffi.c +0 -0
  1026. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/csky/ffitarget.h +0 -0
  1027. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/csky/sysv.S +0 -0
  1028. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/debug.c +0 -0
  1029. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/dlmalloc.c +0 -0
  1030. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/frv/eabi.S +0 -0
  1031. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/frv/ffi.c +0 -0
  1032. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/frv/ffitarget.h +0 -0
  1033. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/ia64/ffi.c +0 -0
  1034. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/ia64/ffitarget.h +0 -0
  1035. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/ia64/ia64_flags.h +0 -0
  1036. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/ia64/unix.S +0 -0
  1037. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/java_raw_api.c +0 -0
  1038. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/kvx/asm.h +0 -0
  1039. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/kvx/ffi.c +0 -0
  1040. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/kvx/ffitarget.h +0 -0
  1041. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/kvx/sysv.S +0 -0
  1042. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/loongarch64/ffi.c +0 -0
  1043. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +0 -0
  1044. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/loongarch64/sysv.S +0 -0
  1045. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m32r/ffi.c +0 -0
  1046. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m32r/ffitarget.h +0 -0
  1047. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m32r/sysv.S +0 -0
  1048. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m68k/ffi.c +0 -0
  1049. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m68k/ffitarget.h +0 -0
  1050. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m68k/sysv.S +0 -0
  1051. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m88k/ffi.c +0 -0
  1052. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m88k/ffitarget.h +0 -0
  1053. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/m88k/obsd.S +0 -0
  1054. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/metag/ffi.c +0 -0
  1055. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/metag/ffitarget.h +0 -0
  1056. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/metag/sysv.S +0 -0
  1057. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/microblaze/ffi.c +0 -0
  1058. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/microblaze/ffitarget.h +0 -0
  1059. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/microblaze/sysv.S +0 -0
  1060. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/mips/ffi.c +0 -0
  1061. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/mips/ffitarget.h +0 -0
  1062. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/mips/n32.S +0 -0
  1063. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/mips/o32.S +0 -0
  1064. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/moxie/eabi.S +0 -0
  1065. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/moxie/ffi.c +0 -0
  1066. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/moxie/ffitarget.h +0 -0
  1067. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/or1k/ffi.c +0 -0
  1068. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/or1k/ffitarget.h +0 -0
  1069. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/or1k/sysv.S +0 -0
  1070. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/pa/ffi.c +0 -0
  1071. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/pa/ffi64.c +0 -0
  1072. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/pa/ffitarget.h +0 -0
  1073. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/pa/hpux32.S +0 -0
  1074. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/pa/hpux64.S +0 -0
  1075. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/pa/linux.S +0 -0
  1076. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/aix.S +0 -0
  1077. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/aix_closure.S +0 -0
  1078. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/asm.h +0 -0
  1079. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/darwin.S +0 -0
  1080. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +0 -0
  1081. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ffi.c +0 -0
  1082. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +0 -0
  1083. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +0 -0
  1084. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +0 -0
  1085. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +0 -0
  1086. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ffitarget.h +0 -0
  1087. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/internal.h +0 -0
  1088. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/linux64.S +0 -0
  1089. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +0 -0
  1090. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +0 -0
  1091. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/sysv.S +0 -0
  1092. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/powerpc/t-aix +0 -0
  1093. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/prep_cif.c +0 -0
  1094. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/raw_api.c +0 -0
  1095. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/riscv/ffi.c +0 -0
  1096. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/riscv/ffitarget.h +0 -0
  1097. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/riscv/internal.h +0 -0
  1098. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/riscv/sysv.S +0 -0
  1099. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/s390/ffi.c +0 -0
  1100. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/s390/ffitarget.h +0 -0
  1101. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/s390/internal.h +0 -0
  1102. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/s390/sysv.S +0 -0
  1103. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sh/ffi.c +0 -0
  1104. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sh/ffitarget.h +0 -0
  1105. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sh/sysv.S +0 -0
  1106. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sh64/ffi.c +0 -0
  1107. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sh64/ffitarget.h +0 -0
  1108. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sh64/sysv.S +0 -0
  1109. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sparc/ffi.c +0 -0
  1110. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sparc/ffi64.c +0 -0
  1111. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sparc/ffitarget.h +0 -0
  1112. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sparc/internal.h +0 -0
  1113. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sparc/v8.S +0 -0
  1114. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/sparc/v9.S +0 -0
  1115. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/tile/ffi.c +0 -0
  1116. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/tile/ffitarget.h +0 -0
  1117. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/tile/tile.S +0 -0
  1118. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/tramp.c +0 -0
  1119. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/types.c +0 -0
  1120. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/vax/elfbsd.S +0 -0
  1121. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/vax/ffi.c +0 -0
  1122. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/vax/ffitarget.h +0 -0
  1123. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/wasm/ffi.c +0 -0
  1124. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/wasm/ffitarget.h +0 -0
  1125. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/asmnames.h +0 -0
  1126. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/ffi.c +0 -0
  1127. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/ffi64.c +0 -0
  1128. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -0
  1129. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/ffiw64.c +0 -0
  1130. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/internal.h +0 -0
  1131. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/internal64.h +0 -0
  1132. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/sysv.S +0 -0
  1133. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/sysv_intel.S +0 -0
  1134. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/unix64.S +0 -0
  1135. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/win64.S +0 -0
  1136. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/x86/win64_intel.S +0 -0
  1137. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/xtensa/ffi.c +0 -0
  1138. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/xtensa/ffitarget.h +0 -0
  1139. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/src/xtensa/sysv.S +0 -0
  1140. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/stamp-h.in +0 -0
  1141. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi/testsuite/Makefile.in +0 -0
  1142. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi.bsd.mk +0 -0
  1143. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi.darwin.mk +0 -0
  1144. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi.gnu.mk +0 -0
  1145. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi.mk +0 -0
  1146. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi.vc.mk +0 -0
  1147. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/libffi.vc64.mk +0 -0
  1148. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/rbffi.h +0 -0
  1149. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/ext/ffi_c/rbffi_endian.h +0 -0
  1150. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/abstract_memory.rb +0 -0
  1151. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/autopointer.rb +0 -0
  1152. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/buffer.rb +0 -0
  1153. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/callback.rb +0 -0
  1154. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/compat.rb +0 -0
  1155. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/data_converter.rb +0 -0
  1156. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/dynamic_library.rb +0 -0
  1157. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/enum.rb +0 -0
  1158. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/errno.rb +0 -0
  1159. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/ffi.rb +0 -0
  1160. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/function.rb +0 -0
  1161. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/io.rb +0 -0
  1162. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/library.rb +0 -0
  1163. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/library_path.rb +0 -0
  1164. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/managedstruct.rb +0 -0
  1165. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/memorypointer.rb +0 -0
  1166. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/aarch64-darwin/types.conf +0 -0
  1167. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/aarch64-freebsd/types.conf +0 -0
  1168. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/aarch64-freebsd12/types.conf +0 -0
  1169. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/aarch64-linux/types.conf +0 -0
  1170. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/aarch64-openbsd/types.conf +0 -0
  1171. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/aarch64-windows/types.conf +0 -0
  1172. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/arm-freebsd/types.conf +0 -0
  1173. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/arm-freebsd12/types.conf +0 -0
  1174. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/arm-linux/types.conf +0 -0
  1175. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/hppa1.1-linux/types.conf +0 -0
  1176. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/hppa2.0-linux/types.conf +0 -0
  1177. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-cygwin/types.conf +0 -0
  1178. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-darwin/types.conf +0 -0
  1179. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-freebsd/types.conf +0 -0
  1180. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-freebsd12/types.conf +0 -0
  1181. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-gnu/types.conf +0 -0
  1182. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-linux/types.conf +0 -0
  1183. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-netbsd/types.conf +0 -0
  1184. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-openbsd/types.conf +0 -0
  1185. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-solaris/types.conf +0 -0
  1186. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/i386-windows/types.conf +0 -0
  1187. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/ia64-linux/types.conf +0 -0
  1188. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/loongarch64-linux/types.conf +0 -0
  1189. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mips-linux/types.conf +0 -0
  1190. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mips64-linux/types.conf +0 -0
  1191. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mips64el-linux/types.conf +0 -0
  1192. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mipsel-linux/types.conf +0 -0
  1193. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mipsisa32r6-linux/types.conf +0 -0
  1194. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mipsisa32r6el-linux/types.conf +0 -0
  1195. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mipsisa64r6-linux/types.conf +0 -0
  1196. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/mipsisa64r6el-linux/types.conf +0 -0
  1197. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/powerpc-aix/types.conf +0 -0
  1198. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/powerpc-darwin/types.conf +0 -0
  1199. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/powerpc-linux/types.conf +0 -0
  1200. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/powerpc-openbsd/types.conf +0 -0
  1201. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/powerpc64-linux/types.conf +0 -0
  1202. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/powerpc64le-linux/types.conf +0 -0
  1203. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/riscv64-linux/types.conf +0 -0
  1204. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/s390-linux/types.conf +0 -0
  1205. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/s390x-linux/types.conf +0 -0
  1206. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/sparc-linux/types.conf +0 -0
  1207. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/sparc-solaris/types.conf +0 -0
  1208. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/sparcv9-linux/types.conf +0 -0
  1209. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/sparcv9-openbsd/types.conf +0 -0
  1210. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/sparcv9-solaris/types.conf +0 -0
  1211. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/sw_64-linux/types.conf +0 -0
  1212. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-cygwin/types.conf +0 -0
  1213. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-darwin/types.conf +0 -0
  1214. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-dragonflybsd/types.conf +0 -0
  1215. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-freebsd/types.conf +0 -0
  1216. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-freebsd12/types.conf +0 -0
  1217. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-haiku/types.conf +0 -0
  1218. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-linux/types.conf +0 -0
  1219. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-msys/types.conf +0 -0
  1220. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-netbsd/types.conf +0 -0
  1221. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-openbsd/types.conf +0 -0
  1222. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-solaris/types.conf +0 -0
  1223. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform/x86_64-windows/types.conf +0 -0
  1224. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/platform.rb +0 -0
  1225. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/pointer.rb +0 -0
  1226. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/struct.rb +0 -0
  1227. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/struct_by_reference.rb +0 -0
  1228. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/struct_layout.rb +0 -0
  1229. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/struct_layout_builder.rb +0 -0
  1230. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/tools/const_generator.rb +0 -0
  1231. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/tools/generator.rb +0 -0
  1232. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/tools/generator_task.rb +0 -0
  1233. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/tools/struct_generator.rb +0 -0
  1234. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/types.rb +0 -0
  1235. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/union.rb +0 -0
  1236. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi/variadic.rb +0 -0
  1237. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/lib/ffi.rb +0 -0
  1238. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/getlogin.rb +0 -0
  1239. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/getpid.rb +0 -0
  1240. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/gettimeofday.rb +0 -0
  1241. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/hello.rb +0 -0
  1242. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/hello_ractor.rb +0 -0
  1243. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/inotify.rb +0 -0
  1244. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/pty.rb +0 -0
  1245. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/qsort.rb +0 -0
  1246. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/samples/qsort_ractor.rb +0 -0
  1247. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/abstract_memory.rbs +0 -0
  1248. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/auto_pointer.rbs +0 -0
  1249. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/buffer.rbs +0 -0
  1250. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/data_converter.rbs +0 -0
  1251. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/dynamic_library.rbs +0 -0
  1252. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/enum.rbs +0 -0
  1253. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/errno.rbs +0 -0
  1254. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/function.rbs +0 -0
  1255. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/library.rbs +0 -0
  1256. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/native_type.rbs +0 -0
  1257. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/platform.rbs +0 -0
  1258. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/pointer.rbs +0 -0
  1259. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/struct.rbs +0 -0
  1260. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/struct_by_reference.rbs +0 -0
  1261. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/struct_by_value.rbs +0 -0
  1262. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/struct_layout.rbs +0 -0
  1263. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/struct_layout_builder.rbs +0 -0
  1264. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi/type.rbs +0 -0
  1265. /data/vendor/bundle/ruby/2.6.0/gems/{ffi-1.17.3 → ffi-1.17.4}/sig/ffi.rbs +0 -0
  1266. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/.document +0 -0
  1267. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/.yardopts +0 -0
  1268. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/LICENSE.md +0 -0
  1269. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/README.md +0 -0
  1270. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/chain.rb +0 -0
  1271. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/error_generator.rb +0 -0
  1272. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -0
  1273. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -0
  1274. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/message_chains.rb +0 -0
  1275. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/proxy.rb +0 -0
  1276. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/stub_chain.rb +0 -0
  1277. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -0
  1278. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/any_instance.rb +0 -0
  1279. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/argument_list_matcher.rb +0 -0
  1280. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/argument_matchers.rb +0 -0
  1281. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/configuration.rb +0 -0
  1282. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/error_generator.rb +0 -0
  1283. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/example_methods.rb +0 -0
  1284. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/instance_method_stasher.rb +0 -0
  1285. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/marshal_extension.rb +0 -0
  1286. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/expectation_customization.rb +0 -0
  1287. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/have_received.rb +0 -0
  1288. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/receive.rb +0 -0
  1289. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -0
  1290. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/matchers/receive_messages.rb +0 -0
  1291. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/message_chain.rb +0 -0
  1292. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/message_expectation.rb +0 -0
  1293. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/method_double.rb +0 -0
  1294. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/method_reference.rb +0 -0
  1295. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/minitest_integration.rb +0 -0
  1296. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/mutate_const.rb +0 -0
  1297. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/object_reference.rb +0 -0
  1298. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/proxy.rb +0 -0
  1299. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/space.rb +0 -0
  1300. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/standalone.rb +0 -0
  1301. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/syntax.rb +0 -0
  1302. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/targets.rb +0 -0
  1303. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/test_double.rb +0 -0
  1304. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/verifying_double.rb +0 -0
  1305. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/verifying_message_expectation.rb +0 -0
  1306. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks/verifying_proxy.rb +0 -0
  1307. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.13.7 → rspec-mocks-3.13.8}/lib/rspec/mocks.rb +0 -0
  1308. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/LICENSE.md +0 -0
  1309. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/README.md +0 -0
  1310. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/caller_filter.rb +0 -0
  1311. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/comparable_version.rb +0 -0
  1312. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/differ.rb +0 -0
  1313. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/directory_maker.rb +0 -0
  1314. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/encoded_string.rb +0 -0
  1315. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/hunk_generator.rb +0 -0
  1316. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/matcher_definition.rb +0 -0
  1317. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/method_signature_verifier.rb +0 -0
  1318. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/mutex.rb +0 -0
  1319. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/object_formatter.rb +0 -0
  1320. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/recursive_const_methods.rb +0 -0
  1321. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/reentrant_mutex.rb +0 -0
  1322. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/ruby_features.rb +0 -0
  1323. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source/location.rb +0 -0
  1324. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source/node.rb +0 -0
  1325. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source/token.rb +0 -0
  1326. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/source.rb +0 -0
  1327. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/deprecation_helpers.rb +0 -0
  1328. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/diff_helpers.rb +0 -0
  1329. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/formatting_support.rb +0 -0
  1330. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/in_sub_process.rb +0 -0
  1331. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/library_wide_checks.rb +0 -0
  1332. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/shell_out.rb +0 -0
  1333. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/stderr_splitter.rb +0 -0
  1334. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/string_matcher.rb +0 -0
  1335. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/with_isolated_directory.rb +0 -0
  1336. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec/with_isolated_stderr.rb +0 -0
  1337. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/spec.rb +0 -0
  1338. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/warnings.rb +0 -0
  1339. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support/with_keywords_when_needed.rb +0 -0
  1340. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.13.6 → rspec-support-3.13.7}/lib/rspec/support.rb +0 -0
  1341. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/CONTRIBUTING.md +0 -0
  1342. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/LICENSE +0 -0
  1343. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/UPGRADE.md +0 -0
  1344. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -0
  1345. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/rack/typhoeus/middleware/params_decoder.rb +0 -0
  1346. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/rack/typhoeus.rb +0 -0
  1347. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/adapters/faraday.rb +0 -0
  1348. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/cache/dalli.rb +0 -0
  1349. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/cache/rails.rb +0 -0
  1350. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/cache/redis.rb +0 -0
  1351. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/config.rb +0 -0
  1352. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/easy_factory.rb +0 -0
  1353. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/errors/no_stub.rb +0 -0
  1354. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/errors/typhoeus_error.rb +0 -0
  1355. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/errors.rb +0 -0
  1356. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/expectation.rb +0 -0
  1357. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/addable.rb +0 -0
  1358. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/before.rb +0 -0
  1359. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/block_connection.rb +0 -0
  1360. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/cacheable.rb +0 -0
  1361. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/memoizable.rb +0 -0
  1362. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/queueable.rb +0 -0
  1363. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/runnable.rb +0 -0
  1364. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra/stubbable.rb +0 -0
  1365. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/hydra.rb +0 -0
  1366. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/pool.rb +0 -0
  1367. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/railtie.rb +0 -0
  1368. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/actions.rb +0 -0
  1369. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/before.rb +0 -0
  1370. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/block_connection.rb +0 -0
  1371. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/cacheable.rb +0 -0
  1372. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/callbacks.rb +0 -0
  1373. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/marshal.rb +0 -0
  1374. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/memoizable.rb +0 -0
  1375. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/operations.rb +0 -0
  1376. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/responseable.rb +0 -0
  1377. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/streamable.rb +0 -0
  1378. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request/stubbable.rb +0 -0
  1379. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/request.rb +0 -0
  1380. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/cacheable.rb +0 -0
  1381. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/header.rb +0 -0
  1382. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/informations.rb +0 -0
  1383. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response/status.rb +0 -0
  1384. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus/response.rb +0 -0
  1385. /data/vendor/bundle/ruby/2.6.0/gems/{typhoeus-1.5.0 → typhoeus-1.6.0}/lib/typhoeus.rb +0 -0
@@ -0,0 +1,3509 @@
1
+ /****************************************************************
2
+ *
3
+ * The author of this software is David M. Gay.
4
+ *
5
+ * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
6
+ *
7
+ * Permission to use, copy, modify, and distribute this software for any
8
+ * purpose without fee is hereby granted, provided that this entire notice
9
+ * is included in all copies of any software which is or includes a copy
10
+ * or modification of this software and in all copies of the supporting
11
+ * documentation for such software.
12
+ *
13
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
14
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
15
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
16
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
17
+ *
18
+ ***************************************************************/
19
+
20
+ /* Please send bug reports to David M. Gay (dmg at acm dot org,
21
+ * with " at " changed at "@" and " dot " changed to "."). */
22
+
23
+ /* On a machine with IEEE extended-precision registers, it is
24
+ * necessary to specify double-precision (53-bit) rounding precision
25
+ * before invoking strtod or dtoa. If the machine uses (the equivalent
26
+ * of) Intel 80x87 arithmetic, the call
27
+ * _control87(PC_53, MCW_PC);
28
+ * does this with many compilers. Whether this or another call is
29
+ * appropriate depends on the compiler; for this to work, it may be
30
+ * necessary to #include "float.h" or another system-dependent header
31
+ * file.
32
+ */
33
+
34
+ /* strtod for IEEE-, VAX-, and IBM-arithmetic machines.
35
+ *
36
+ * This strtod returns a nearest machine number to the input decimal
37
+ * string (or sets errno to ERANGE). With IEEE arithmetic, ties are
38
+ * broken by the IEEE round-even rule. Otherwise ties are broken by
39
+ * biased rounding (add half and chop).
40
+ *
41
+ * Inspired loosely by William D. Clinger's paper "How to Read Floating
42
+ * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
43
+ *
44
+ * Modifications:
45
+ *
46
+ * 1. We only require IEEE, IBM, or VAX double-precision
47
+ * arithmetic (not IEEE double-extended).
48
+ * 2. We get by with floating-point arithmetic in a case that
49
+ * Clinger missed -- when we're computing d * 10^n
50
+ * for a small integer d and the integer n is not too
51
+ * much larger than 22 (the maximum integer k for which
52
+ * we can represent 10^k exactly), we may be able to
53
+ * compute (d*10^k) * 10^(e-k) with just one roundoff.
54
+ * 3. Rather than a bit-at-a-time adjustment of the binary
55
+ * result in the hard case, we use floating-point
56
+ * arithmetic to determine the adjustment to within
57
+ * one bit; only in really hard cases do we need to
58
+ * compute a second residual.
59
+ * 4. Because of 3., we don't need a large table of powers of 10
60
+ * for ten-to-e (just some small tables, e.g. of 10^k
61
+ * for 0 <= k <= 22).
62
+ */
63
+
64
+ /*
65
+ * #define IEEE_LITTLE_ENDIAN for IEEE-arithmetic machines where the least
66
+ * significant byte has the lowest address.
67
+ * #define IEEE_BIG_ENDIAN for IEEE-arithmetic machines where the most
68
+ * significant byte has the lowest address.
69
+ * #define Long int on machines with 32-bit ints and 64-bit longs.
70
+ * #define IBM for IBM mainframe-style floating-point arithmetic.
71
+ * #define VAX for VAX-style floating-point arithmetic (D_floating).
72
+ * #define No_leftright to omit left-right logic in fast floating-point
73
+ * computation of dtoa.
74
+ * #define Honor_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3
75
+ * and strtod and dtoa should round accordingly.
76
+ * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3
77
+ * and Honor_FLT_ROUNDS is not #defined.
78
+ * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines
79
+ * that use extended-precision instructions to compute rounded
80
+ * products and quotients) with IBM.
81
+ * #define ROUND_BIASED for IEEE-format with biased rounding.
82
+ * #define Inaccurate_Divide for IEEE-format with correctly rounded
83
+ * products but inaccurate quotients, e.g., for Intel i860.
84
+ * #define NO_LONG_LONG on machines that do not have a "long long"
85
+ * integer type (of >= 64 bits). On such machines, you can
86
+ * #define Just_16 to store 16 bits per 32-bit Long when doing
87
+ * high-precision integer arithmetic. Whether this speeds things
88
+ * up or slows things down depends on the machine and the number
89
+ * being converted. If long long is available and the name is
90
+ * something other than "long long", #define Llong to be the name,
91
+ * and if "unsigned Llong" does not work as an unsigned version of
92
+ * Llong, #define #ULLong to be the corresponding unsigned type.
93
+ * #define KR_headers for old-style C function headers.
94
+ * #define Bad_float_h if your system lacks a float.h or if it does not
95
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
96
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
97
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
98
+ * if memory is available and otherwise does something you deem
99
+ * appropriate. If MALLOC is undefined, malloc will be invoked
100
+ * directly -- and assumed always to succeed.
101
+ * #define INFNAN_CHECK on IEEE systems to cause strtod to check for
102
+ * Infinity and NaN (case insensitively). On some systems (e.g.,
103
+ * some HP systems), it may be necessary to #define NAN_WORD0
104
+ * appropriately -- to the most significant word of a quiet NaN.
105
+ * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.)
106
+ * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined,
107
+ * strtod also accepts (case insensitively) strings of the form
108
+ * NaN(x), where x is a string of hexadecimal digits and spaces;
109
+ * if there is only one string of hexadecimal digits, it is taken
110
+ * for the 52 fraction bits of the resulting NaN; if there are two
111
+ * or more strings of hex digits, the first is for the high 20 bits,
112
+ * the second and subsequent for the low 32 bits, with intervening
113
+ * white space ignored; but if this results in none of the 52
114
+ * fraction bits being on (an IEEE Infinity symbol), then NAN_WORD0
115
+ * and NAN_WORD1 are used instead.
116
+ * #define MULTIPLE_THREADS if the system offers preemptively scheduled
117
+ * multiple threads. In this case, you must provide (or suitably
118
+ * #define) two locks, acquired by ACQUIRE_DTOA_LOCK(n) and freed
119
+ * by FREE_DTOA_LOCK(n) for n = 0 or 1. (The second lock, accessed
120
+ * in pow5mult, ensures lazy evaluation of only one copy of high
121
+ * powers of 5; omitting this lock would introduce a small
122
+ * probability of wasting memory, but would otherwise be harmless.)
123
+ * You must also invoke freedtoa(s) to free the value s returned by
124
+ * dtoa. You may do so whether or not MULTIPLE_THREADS is #defined.
125
+ * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that
126
+ * avoids underflows on inputs whose result does not underflow.
127
+ * If you #define NO_IEEE_Scale on a machine that uses IEEE-format
128
+ * floating-point numbers and flushes underflows to zero rather
129
+ * than implementing gradual underflow, then you must also #define
130
+ * Sudden_Underflow.
131
+ * #define YES_ALIAS to permit aliasing certain double values with
132
+ * arrays of ULongs. This leads to slightly better code with
133
+ * some compilers and was always used prior to 19990916, but it
134
+ * is not strictly legal and can cause trouble with aggressively
135
+ * optimizing compilers (e.g., gcc 2.95.1 under -O2).
136
+ * #define USE_LOCALE to use the current locale's decimal_point value.
137
+ * #define SET_INEXACT if IEEE arithmetic is being used and extra
138
+ * computation should be done to set the inexact flag when the
139
+ * result is inexact and avoid setting inexact when the result
140
+ * is exact. In this case, dtoa.c must be compiled in
141
+ * an environment, perhaps provided by #include "dtoa.c" in a
142
+ * suitable wrapper, that defines two functions,
143
+ * int get_inexact(void);
144
+ * void clear_inexact(void);
145
+ * such that get_inexact() returns a nonzero value if the
146
+ * inexact bit is already set, and clear_inexact() sets the
147
+ * inexact bit to 0. When SET_INEXACT is #defined, strtod
148
+ * also does extra computations to set the underflow and overflow
149
+ * flags when appropriate (i.e., when the result is tiny and
150
+ * inexact or when it is a numeric value rounded to +-infinity).
151
+ * #define NO_ERRNO if strtod should not assign errno = ERANGE when
152
+ * the result overflows to +-Infinity or underflows to 0.
153
+ */
154
+
155
+ #ifdef WORDS_BIGENDIAN
156
+ #define IEEE_BIG_ENDIAN
157
+ #else
158
+ #define IEEE_LITTLE_ENDIAN
159
+ #endif
160
+
161
+ #ifdef __vax__
162
+ #define VAX
163
+ #undef IEEE_BIG_ENDIAN
164
+ #undef IEEE_LITTLE_ENDIAN
165
+ #endif
166
+
167
+ #if defined(__arm__) && !defined(__VFP_FP__)
168
+ #define IEEE_BIG_ENDIAN
169
+ #undef IEEE_LITTLE_ENDIAN
170
+ #endif
171
+
172
+ #undef Long
173
+ #undef ULong
174
+
175
+ #include <assert.h>
176
+ #include <limits.h>
177
+ #include <stddef.h>
178
+ #include <stdint.h>
179
+
180
+ #if (INT_MAX >> 30) && !(INT_MAX >> 31)
181
+ #define Long int
182
+ #define ULong unsigned int
183
+ #elif (LONG_MAX >> 30) && !(LONG_MAX >> 31)
184
+ #define Long long int
185
+ #define ULong unsigned long int
186
+ #else
187
+ #error No 32bit integer
188
+ #endif
189
+
190
+ #if defined(HAVE_LONG_LONG) && (HAVE_LONG_LONG)
191
+ #define Llong LONG_LONG
192
+ #else
193
+ #define NO_LONG_LONG
194
+ #endif
195
+
196
+ #ifdef DEBUG
197
+ #include <stdio.h>
198
+ #define Bug(x) {fprintf(stderr, "%s\n", (x)); exit(EXIT_FAILURE);}
199
+ #endif
200
+
201
+ #ifndef ISDIGIT
202
+ #include <ctype.h>
203
+ #define ISDIGIT(c) isdigit(c)
204
+ #endif
205
+ #include <errno.h>
206
+ #include <stdlib.h>
207
+ #include <string.h>
208
+
209
+ #ifdef USE_LOCALE
210
+ #include <locale.h>
211
+ #endif
212
+
213
+ #if defined(HAVE_STDCKDINT_H) || !defined(__has_include)
214
+ #elif __has_include(<stdckdint.h>)
215
+ # define HAVE_STDCKDINT_H 1
216
+ #endif
217
+ #ifdef HAVE_STDCKDINT_H
218
+ # include <stdckdint.h>
219
+ #endif
220
+
221
+ #if !defined(ckd_add)
222
+ static inline int /* bool */
223
+ ckd_add(int *result, int x, int y)
224
+ {
225
+ if (x < 0) {
226
+ if (y < INT_MIN - x) return 1;
227
+ }
228
+ else if (x > 0) {
229
+ if (y > INT_MAX - x) return 1;
230
+ }
231
+ *result = x + y;
232
+ return 0;
233
+ }
234
+ #endif
235
+
236
+ #ifdef MALLOC
237
+ extern void *MALLOC(size_t);
238
+ #else
239
+ #define MALLOC malloc
240
+ #endif
241
+ #ifdef FREE
242
+ extern void FREE(void*);
243
+ #else
244
+ #define FREE free
245
+ #endif
246
+ #ifndef NO_SANITIZE
247
+ #define NO_SANITIZE(x, y) y
248
+ #endif
249
+
250
+ #undef IEEE_Arith
251
+ #undef Avoid_Underflow
252
+ #ifdef IEEE_BIG_ENDIAN
253
+ #define IEEE_Arith
254
+ #endif
255
+ #ifdef IEEE_LITTLE_ENDIAN
256
+ #define IEEE_Arith
257
+ #endif
258
+
259
+ #ifdef Bad_float_h
260
+
261
+ #ifdef IEEE_Arith
262
+ #define DBL_DIG 15
263
+ #define DBL_MAX_10_EXP 308
264
+ #define DBL_MAX_EXP 1024
265
+ #define FLT_RADIX 2
266
+ #endif /*IEEE_Arith*/
267
+
268
+ #ifdef IBM
269
+ #define DBL_DIG 16
270
+ #define DBL_MAX_10_EXP 75
271
+ #define DBL_MAX_EXP 63
272
+ #define FLT_RADIX 16
273
+ #define DBL_MAX 7.2370055773322621e+75
274
+ #endif
275
+
276
+ #ifdef VAX
277
+ #define DBL_DIG 16
278
+ #define DBL_MAX_10_EXP 38
279
+ #define DBL_MAX_EXP 127
280
+ #define FLT_RADIX 2
281
+ #define DBL_MAX 1.7014118346046923e+38
282
+ #endif
283
+
284
+ #ifndef LONG_MAX
285
+ #define LONG_MAX 2147483647
286
+ #endif
287
+
288
+ #else /* ifndef Bad_float_h */
289
+ #include <float.h>
290
+ #endif /* Bad_float_h */
291
+
292
+ #include <math.h>
293
+
294
+ #ifdef __cplusplus
295
+ extern "C" {
296
+ #if 0
297
+ } /* satisfy cc-mode */
298
+ #endif
299
+ #endif
300
+
301
+ #ifndef hexdigit
302
+ static const char hexdigit[] = "0123456789abcdef0123456789ABCDEF";
303
+ #endif
304
+
305
+ #if defined(IEEE_LITTLE_ENDIAN) + defined(IEEE_BIG_ENDIAN) + defined(VAX) + defined(IBM) != 1
306
+ Exactly one of IEEE_LITTLE_ENDIAN, IEEE_BIG_ENDIAN, VAX, or IBM should be defined.
307
+ #endif
308
+
309
+ typedef union { double d; ULong L[2]; } U;
310
+
311
+ #ifdef YES_ALIAS
312
+ typedef double double_u;
313
+ # define dval(x) (x)
314
+ # ifdef IEEE_LITTLE_ENDIAN
315
+ # define word0(x) (((ULong *)&(x))[1])
316
+ # define word1(x) (((ULong *)&(x))[0])
317
+ # else
318
+ # define word0(x) (((ULong *)&(x))[0])
319
+ # define word1(x) (((ULong *)&(x))[1])
320
+ # endif
321
+ #else
322
+ typedef U double_u;
323
+ # ifdef IEEE_LITTLE_ENDIAN
324
+ # define word0(x) ((x).L[1])
325
+ # define word1(x) ((x).L[0])
326
+ # else
327
+ # define word0(x) ((x).L[0])
328
+ # define word1(x) ((x).L[1])
329
+ # endif
330
+ # define dval(x) ((x).d)
331
+ #endif
332
+
333
+ /* The following definition of Storeinc is appropriate for MIPS processors.
334
+ * An alternative that might be better on some machines is
335
+ * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
336
+ */
337
+ #if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) + defined(__arm__)
338
+ #define Storeinc(a,b,c) (((unsigned short *)(a))[1] = (unsigned short)(b), \
339
+ ((unsigned short *)(a))[0] = (unsigned short)(c), (a)++)
340
+ #else
341
+ #define Storeinc(a,b,c) (((unsigned short *)(a))[0] = (unsigned short)(b), \
342
+ ((unsigned short *)(a))[1] = (unsigned short)(c), (a)++)
343
+ #endif
344
+
345
+ /* #define P DBL_MANT_DIG */
346
+ /* Ten_pmax = floor(P*log(2)/log(5)) */
347
+ /* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
348
+ /* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
349
+ /* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
350
+
351
+ #ifdef IEEE_Arith
352
+ #define Exp_shift 20
353
+ #define Exp_shift1 20
354
+ #define Exp_msk1 0x100000
355
+ #define Exp_msk11 0x100000
356
+ #define Exp_mask 0x7ff00000
357
+ #define P 53
358
+ #define Bias 1023
359
+ #define Emin (-1022)
360
+ #define Exp_1 0x3ff00000
361
+ #define Exp_11 0x3ff00000
362
+ #define Ebits 11
363
+ #define Frac_mask 0xfffff
364
+ #define Frac_mask1 0xfffff
365
+ #define Ten_pmax 22
366
+ #define Bletch 0x10
367
+ #define Bndry_mask 0xfffff
368
+ #define Bndry_mask1 0xfffff
369
+ #define LSB 1
370
+ #define Sign_bit 0x80000000
371
+ #define Log2P 1
372
+ #define Tiny0 0
373
+ #define Tiny1 1
374
+ #define Quick_max 14
375
+ #define Int_max 14
376
+ #ifndef NO_IEEE_Scale
377
+ #define Avoid_Underflow
378
+ #ifdef Flush_Denorm /* debugging option */
379
+ #undef Sudden_Underflow
380
+ #endif
381
+ #endif
382
+
383
+ #ifndef Flt_Rounds
384
+ #ifdef FLT_ROUNDS
385
+ #define Flt_Rounds FLT_ROUNDS
386
+ #else
387
+ #define Flt_Rounds 1
388
+ #endif
389
+ #endif /*Flt_Rounds*/
390
+
391
+ #ifdef Honor_FLT_ROUNDS
392
+ #define Rounding rounding
393
+ #undef Check_FLT_ROUNDS
394
+ #define Check_FLT_ROUNDS
395
+ #else
396
+ #define Rounding Flt_Rounds
397
+ #endif
398
+
399
+ #else /* ifndef IEEE_Arith */
400
+ #undef Check_FLT_ROUNDS
401
+ #undef Honor_FLT_ROUNDS
402
+ #undef SET_INEXACT
403
+ #undef Sudden_Underflow
404
+ #define Sudden_Underflow
405
+ #ifdef IBM
406
+ #undef Flt_Rounds
407
+ #define Flt_Rounds 0
408
+ #define Exp_shift 24
409
+ #define Exp_shift1 24
410
+ #define Exp_msk1 0x1000000
411
+ #define Exp_msk11 0x1000000
412
+ #define Exp_mask 0x7f000000
413
+ #define P 14
414
+ #define Bias 65
415
+ #define Exp_1 0x41000000
416
+ #define Exp_11 0x41000000
417
+ #define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
418
+ #define Frac_mask 0xffffff
419
+ #define Frac_mask1 0xffffff
420
+ #define Bletch 4
421
+ #define Ten_pmax 22
422
+ #define Bndry_mask 0xefffff
423
+ #define Bndry_mask1 0xffffff
424
+ #define LSB 1
425
+ #define Sign_bit 0x80000000
426
+ #define Log2P 4
427
+ #define Tiny0 0x100000
428
+ #define Tiny1 0
429
+ #define Quick_max 14
430
+ #define Int_max 15
431
+ #else /* VAX */
432
+ #undef Flt_Rounds
433
+ #define Flt_Rounds 1
434
+ #define Exp_shift 23
435
+ #define Exp_shift1 7
436
+ #define Exp_msk1 0x80
437
+ #define Exp_msk11 0x800000
438
+ #define Exp_mask 0x7f80
439
+ #define P 56
440
+ #define Bias 129
441
+ #define Exp_1 0x40800000
442
+ #define Exp_11 0x4080
443
+ #define Ebits 8
444
+ #define Frac_mask 0x7fffff
445
+ #define Frac_mask1 0xffff007f
446
+ #define Ten_pmax 24
447
+ #define Bletch 2
448
+ #define Bndry_mask 0xffff007f
449
+ #define Bndry_mask1 0xffff007f
450
+ #define LSB 0x10000
451
+ #define Sign_bit 0x8000
452
+ #define Log2P 1
453
+ #define Tiny0 0x80
454
+ #define Tiny1 0
455
+ #define Quick_max 15
456
+ #define Int_max 15
457
+ #endif /* IBM, VAX */
458
+ #endif /* IEEE_Arith */
459
+
460
+ #ifndef IEEE_Arith
461
+ #define ROUND_BIASED
462
+ #endif
463
+
464
+ #ifdef RND_PRODQUOT
465
+ #define rounded_product(a,b) ((a) = rnd_prod((a), (b)))
466
+ #define rounded_quotient(a,b) ((a) = rnd_quot((a), (b)))
467
+ extern double rnd_prod(double, double), rnd_quot(double, double);
468
+ #else
469
+ #define rounded_product(a,b) ((a) *= (b))
470
+ #define rounded_quotient(a,b) ((a) /= (b))
471
+ #endif
472
+
473
+ #define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1))
474
+ #define Big1 0xffffffff
475
+
476
+ #ifndef Pack_32
477
+ #define Pack_32
478
+ #endif
479
+
480
+ #define FFFFFFFF 0xffffffffUL
481
+
482
+ #ifdef NO_LONG_LONG
483
+ #undef ULLong
484
+ #ifdef Just_16
485
+ #undef Pack_32
486
+ /* When Pack_32 is not defined, we store 16 bits per 32-bit Long.
487
+ * This makes some inner loops simpler and sometimes saves work
488
+ * during multiplications, but it often seems to make things slightly
489
+ * slower. Hence the default is now to store 32 bits per Long.
490
+ */
491
+ #endif
492
+ #else /* long long available */
493
+ #ifndef Llong
494
+ #define Llong long long
495
+ #endif
496
+ #ifndef ULLong
497
+ #define ULLong unsigned Llong
498
+ #endif
499
+ #endif /* NO_LONG_LONG */
500
+
501
+ #define MULTIPLE_THREADS 1
502
+
503
+ #ifndef MULTIPLE_THREADS
504
+ #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
505
+ #define FREE_DTOA_LOCK(n) /*nothing*/
506
+ #else
507
+ #define ACQUIRE_DTOA_LOCK(n) /*unused right now*/
508
+ #define FREE_DTOA_LOCK(n) /*unused right now*/
509
+ #endif
510
+
511
+ #ifndef ATOMIC_PTR_CAS
512
+ #define ATOMIC_PTR_CAS(var, old, new) ((var) = (new), (void *)(old))
513
+ #endif
514
+ #ifndef LIKELY
515
+ #define LIKELY(x) (x)
516
+ #endif
517
+ #ifndef UNLIKELY
518
+ #define UNLIKELY(x) (x)
519
+ #endif
520
+ #ifndef ASSUME
521
+ #define ASSUME(x) (void)(x)
522
+ #endif
523
+
524
+ #define Kmax 15
525
+
526
+ struct Bigint {
527
+ struct Bigint *next;
528
+ int k, maxwds, sign, wds;
529
+ ULong x[1];
530
+ };
531
+
532
+ typedef struct Bigint Bigint;
533
+
534
+ static Bigint *
535
+ Balloc(int k)
536
+ {
537
+ int x;
538
+ Bigint *rv;
539
+
540
+ x = 1 << k;
541
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
542
+ if (!rv) return NULL;
543
+ rv->k = k;
544
+ rv->maxwds = x;
545
+ rv->sign = rv->wds = 0;
546
+ return rv;
547
+ }
548
+
549
+ static void
550
+ Bclear(Bigint **vp)
551
+ {
552
+ Bigint *v = *vp;
553
+ *vp = NULL;
554
+ if (v) FREE(v);
555
+ }
556
+ #define Bfree(v) Bclear(&(v))
557
+
558
+ #define Bcopy(x,y) memcpy((char *)&(x)->sign, (char *)&(y)->sign, \
559
+ (y)->wds*sizeof(Long) + 2*sizeof(int))
560
+
561
+ static Bigint *
562
+ multadd(Bigint *b, int m, int a) /* multiply by m and add a */
563
+ {
564
+ int i, wds;
565
+ ULong *x;
566
+ #ifdef ULLong
567
+ ULLong carry, y;
568
+ #else
569
+ ULong carry, y;
570
+ #ifdef Pack_32
571
+ ULong xi, z;
572
+ #endif
573
+ #endif
574
+ Bigint *b1;
575
+
576
+ wds = b->wds;
577
+ x = b->x;
578
+ i = 0;
579
+ carry = a;
580
+ do {
581
+ #ifdef ULLong
582
+ y = *x * (ULLong)m + carry;
583
+ carry = y >> 32;
584
+ *x++ = (ULong)(y & FFFFFFFF);
585
+ #else
586
+ #ifdef Pack_32
587
+ xi = *x;
588
+ y = (xi & 0xffff) * m + carry;
589
+ z = (xi >> 16) * m + (y >> 16);
590
+ carry = z >> 16;
591
+ *x++ = (z << 16) + (y & 0xffff);
592
+ #else
593
+ y = *x * m + carry;
594
+ carry = y >> 16;
595
+ *x++ = y & 0xffff;
596
+ #endif
597
+ #endif
598
+ } while (++i < wds);
599
+ if (carry) {
600
+ if (wds >= b->maxwds) {
601
+ b1 = Balloc(b->k+1);
602
+ if (!b1) {
603
+ Bfree(b);
604
+ return NULL;
605
+ }
606
+ Bcopy(b1, b);
607
+ Bfree(b);
608
+ b = b1;
609
+ }
610
+ b->x[wds++] = (ULong)carry;
611
+ b->wds = wds;
612
+ }
613
+ return b;
614
+ }
615
+
616
+ static Bigint *
617
+ s2b(const char *s, int nd0, int nd, ULong y9)
618
+ {
619
+ Bigint *b;
620
+ int i, k;
621
+ Long x, y;
622
+
623
+ x = (nd + 8) / 9;
624
+ for (k = 0, y = 1; x > y; y <<= 1, k++) ;
625
+ #ifdef Pack_32
626
+ b = Balloc(k);
627
+ if (!b) return NULL;
628
+ b->x[0] = y9;
629
+ b->wds = 1;
630
+ #else
631
+ b = Balloc(k+1);
632
+ if (!b) return NULL;
633
+ b->x[0] = y9 & 0xffff;
634
+ b->wds = (b->x[1] = y9 >> 16) ? 2 : 1;
635
+ #endif
636
+
637
+ i = 9;
638
+ if (9 < nd0) {
639
+ s += 9;
640
+ do {
641
+ b = multadd(b, 10, *s++ - '0');
642
+ if (!b) return NULL;
643
+ } while (++i < nd0);
644
+ s++;
645
+ }
646
+ else
647
+ s += 10;
648
+ for (; i < nd; i++) {
649
+ b = multadd(b, 10, *s++ - '0');
650
+ if (!b) return NULL;
651
+ }
652
+ return b;
653
+ }
654
+
655
+ static int
656
+ hi0bits(register ULong x)
657
+ {
658
+ register int k = 0;
659
+
660
+ if (!(x & 0xffff0000)) {
661
+ k = 16;
662
+ x <<= 16;
663
+ }
664
+ if (!(x & 0xff000000)) {
665
+ k += 8;
666
+ x <<= 8;
667
+ }
668
+ if (!(x & 0xf0000000)) {
669
+ k += 4;
670
+ x <<= 4;
671
+ }
672
+ if (!(x & 0xc0000000)) {
673
+ k += 2;
674
+ x <<= 2;
675
+ }
676
+ if (!(x & 0x80000000)) {
677
+ k++;
678
+ if (!(x & 0x40000000))
679
+ return 32;
680
+ }
681
+ return k;
682
+ }
683
+
684
+ static int
685
+ lo0bits(ULong *y)
686
+ {
687
+ register int k;
688
+ register ULong x = *y;
689
+
690
+ if (x & 7) {
691
+ if (x & 1)
692
+ return 0;
693
+ if (x & 2) {
694
+ *y = x >> 1;
695
+ return 1;
696
+ }
697
+ *y = x >> 2;
698
+ return 2;
699
+ }
700
+ k = 0;
701
+ if (!(x & 0xffff)) {
702
+ k = 16;
703
+ x >>= 16;
704
+ }
705
+ if (!(x & 0xff)) {
706
+ k += 8;
707
+ x >>= 8;
708
+ }
709
+ if (!(x & 0xf)) {
710
+ k += 4;
711
+ x >>= 4;
712
+ }
713
+ if (!(x & 0x3)) {
714
+ k += 2;
715
+ x >>= 2;
716
+ }
717
+ if (!(x & 1)) {
718
+ k++;
719
+ x >>= 1;
720
+ if (!x)
721
+ return 32;
722
+ }
723
+ *y = x;
724
+ return k;
725
+ }
726
+
727
+ static Bigint *
728
+ i2b(int i)
729
+ {
730
+ Bigint *b;
731
+
732
+ b = Balloc(1);
733
+ if (!b) return NULL;
734
+ b->x[0] = i;
735
+ b->wds = 1;
736
+ return b;
737
+ }
738
+
739
+ #define Bzero_p(b) (!(b)->x[0] && (b)->wds <= 1)
740
+
741
+ static Bigint *
742
+ mult(Bigint *a, Bigint *b)
743
+ {
744
+ Bigint *c;
745
+ int k, wa, wb, wc;
746
+ ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
747
+ ULong y;
748
+ #ifdef ULLong
749
+ ULLong carry, z;
750
+ #else
751
+ ULong carry, z;
752
+ #ifdef Pack_32
753
+ ULong z2;
754
+ #endif
755
+ #endif
756
+
757
+ if (Bzero_p(a) || Bzero_p(b)) {
758
+ c = Balloc(0);
759
+ if (!c) return NULL;
760
+ c->wds = 1;
761
+ c->x[0] = 0;
762
+ return c;
763
+ }
764
+
765
+ if (a->wds < b->wds) {
766
+ c = a;
767
+ a = b;
768
+ b = c;
769
+ }
770
+ k = a->k;
771
+ wa = a->wds;
772
+ wb = b->wds;
773
+ wc = wa + wb;
774
+ if (wc > a->maxwds)
775
+ k++;
776
+ c = Balloc(k);
777
+ if (!c) return NULL;
778
+ for (x = c->x, xa = x + wc; x < xa; x++)
779
+ *x = 0;
780
+ xa = a->x;
781
+ xae = xa + wa;
782
+ xb = b->x;
783
+ xbe = xb + wb;
784
+ xc0 = c->x;
785
+ #ifdef ULLong
786
+ for (; xb < xbe; xc0++) {
787
+ if ((y = *xb++) != 0) {
788
+ x = xa;
789
+ xc = xc0;
790
+ carry = 0;
791
+ do {
792
+ z = *x++ * (ULLong)y + *xc + carry;
793
+ carry = z >> 32;
794
+ *xc++ = (ULong)(z & FFFFFFFF);
795
+ } while (x < xae);
796
+ *xc = (ULong)carry;
797
+ }
798
+ }
799
+ #else
800
+ #ifdef Pack_32
801
+ for (; xb < xbe; xb++, xc0++) {
802
+ if ((y = *xb & 0xffff) != 0) {
803
+ x = xa;
804
+ xc = xc0;
805
+ carry = 0;
806
+ do {
807
+ z = (*x & 0xffff) * y + (*xc & 0xffff) + carry;
808
+ carry = z >> 16;
809
+ z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
810
+ carry = z2 >> 16;
811
+ Storeinc(xc, z2, z);
812
+ } while (x < xae);
813
+ *xc = (ULong)carry;
814
+ }
815
+ if ((y = *xb >> 16) != 0) {
816
+ x = xa;
817
+ xc = xc0;
818
+ carry = 0;
819
+ z2 = *xc;
820
+ do {
821
+ z = (*x & 0xffff) * y + (*xc >> 16) + carry;
822
+ carry = z >> 16;
823
+ Storeinc(xc, z, z2);
824
+ z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
825
+ carry = z2 >> 16;
826
+ } while (x < xae);
827
+ *xc = z2;
828
+ }
829
+ }
830
+ #else
831
+ for (; xb < xbe; xc0++) {
832
+ if (y = *xb++) {
833
+ x = xa;
834
+ xc = xc0;
835
+ carry = 0;
836
+ do {
837
+ z = *x++ * y + *xc + carry;
838
+ carry = z >> 16;
839
+ *xc++ = z & 0xffff;
840
+ } while (x < xae);
841
+ *xc = (ULong)carry;
842
+ }
843
+ }
844
+ #endif
845
+ #endif
846
+ for (xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) ;
847
+ c->wds = wc;
848
+ return c;
849
+ }
850
+
851
+ static Bigint *p5s;
852
+
853
+ static Bigint *
854
+ pow5mult(Bigint *b, int k)
855
+ {
856
+ Bigint *b1, *p5, *p51;
857
+ int i;
858
+ static const int p05[3] = { 5, 25, 125 };
859
+
860
+ if ((i = k & 3) != 0) {
861
+ b = multadd(b, p05[i-1], 0);
862
+ if (!b) return NULL;
863
+ }
864
+
865
+ #define b_cache(var, addr, new_expr) \
866
+ if ((var = addr) != 0) {} else { \
867
+ Bigint *tmp = 0; \
868
+ ACQUIRE_DTOA_LOCK(1); \
869
+ if (!(var = addr) && (var = (new_expr)) != 0) { \
870
+ var->next = 0; \
871
+ tmp = ATOMIC_PTR_CAS(addr, NULL, var); \
872
+ } \
873
+ FREE_DTOA_LOCK(1); \
874
+ if (UNLIKELY(tmp)) { \
875
+ Bfree(var); \
876
+ var = tmp; \
877
+ } \
878
+ else if (!var) { \
879
+ Bfree(b); \
880
+ return NULL; \
881
+ } \
882
+ }
883
+
884
+ if (!(k >>= 2))
885
+ return b;
886
+ /* first time */
887
+ b_cache(p5, p5s, i2b(625));
888
+ for (;;) {
889
+ if (k & 1) {
890
+ b1 = mult(b, p5);
891
+ Bfree(b);
892
+ b = b1;
893
+ if (!b) return NULL;
894
+ }
895
+ if (!(k >>= 1))
896
+ break;
897
+ b_cache(p51, p5->next, mult(p5, p5));
898
+ p5 = p51;
899
+ }
900
+ return b;
901
+ }
902
+
903
+ static Bigint *
904
+ lshift(Bigint *b, int k)
905
+ {
906
+ int i, k1, n, n1;
907
+ Bigint *b1;
908
+ ULong *x, *x1, *xe, z;
909
+
910
+ if (!k || Bzero_p(b)) return b;
911
+
912
+ #ifdef Pack_32
913
+ n = k >> 5;
914
+ #else
915
+ n = k >> 4;
916
+ #endif
917
+ k1 = b->k;
918
+ n1 = n + b->wds + 1;
919
+ for (i = b->maxwds; n1 > i; i <<= 1)
920
+ k1++;
921
+ b1 = Balloc(k1);
922
+ if (!b1) {
923
+ Bfree(b);
924
+ return NULL;
925
+ }
926
+ x1 = b1->x;
927
+ for (i = 0; i < n; i++)
928
+ *x1++ = 0;
929
+ x = b->x;
930
+ xe = x + b->wds;
931
+ #ifdef Pack_32
932
+ if (k &= 0x1f) {
933
+ k1 = 32 - k;
934
+ z = 0;
935
+ do {
936
+ *x1++ = *x << k | z;
937
+ z = *x++ >> k1;
938
+ } while (x < xe);
939
+ if ((*x1 = z) != 0)
940
+ ++n1;
941
+ }
942
+ #else
943
+ if (k &= 0xf) {
944
+ k1 = 16 - k;
945
+ z = 0;
946
+ do {
947
+ *x1++ = *x << k & 0xffff | z;
948
+ z = *x++ >> k1;
949
+ } while (x < xe);
950
+ if (*x1 = z)
951
+ ++n1;
952
+ }
953
+ #endif
954
+ else
955
+ do {
956
+ *x1++ = *x++;
957
+ } while (x < xe);
958
+ b1->wds = n1 - 1;
959
+ Bfree(b);
960
+ return b1;
961
+ }
962
+
963
+ static int
964
+ cmp(Bigint *a, Bigint *b)
965
+ {
966
+ ULong *xa, *xa0, *xb, *xb0;
967
+ int i, j;
968
+
969
+ i = a->wds;
970
+ j = b->wds;
971
+ #ifdef DEBUG
972
+ if (i > 1 && !a->x[i-1])
973
+ Bug("cmp called with a->x[a->wds-1] == 0");
974
+ if (j > 1 && !b->x[j-1])
975
+ Bug("cmp called with b->x[b->wds-1] == 0");
976
+ #endif
977
+ if (i -= j)
978
+ return i;
979
+ xa0 = a->x;
980
+ xa = xa0 + j;
981
+ xb0 = b->x;
982
+ xb = xb0 + j;
983
+ for (;;) {
984
+ if (*--xa != *--xb)
985
+ return *xa < *xb ? -1 : 1;
986
+ if (xa <= xa0)
987
+ break;
988
+ }
989
+ return 0;
990
+ }
991
+
992
+ NO_SANITIZE("unsigned-integer-overflow", static Bigint * diff(Bigint *a, Bigint *b));
993
+ static Bigint *
994
+ diff(Bigint *a, Bigint *b)
995
+ {
996
+ Bigint *c;
997
+ int i, wa, wb;
998
+ ULong *xa, *xae, *xb, *xbe, *xc;
999
+ #ifdef ULLong
1000
+ ULLong borrow, y;
1001
+ #else
1002
+ ULong borrow, y;
1003
+ #ifdef Pack_32
1004
+ ULong z;
1005
+ #endif
1006
+ #endif
1007
+
1008
+ i = cmp(a,b);
1009
+ if (!i) {
1010
+ c = Balloc(0);
1011
+ if (!c) return NULL;
1012
+ c->wds = 1;
1013
+ c->x[0] = 0;
1014
+ return c;
1015
+ }
1016
+ if (i < 0) {
1017
+ c = a;
1018
+ a = b;
1019
+ b = c;
1020
+ i = 1;
1021
+ }
1022
+ else
1023
+ i = 0;
1024
+ c = Balloc(a->k);
1025
+ if (!c) return NULL;
1026
+ c->sign = i;
1027
+ wa = a->wds;
1028
+ xa = a->x;
1029
+ xae = xa + wa;
1030
+ wb = b->wds;
1031
+ xb = b->x;
1032
+ xbe = xb + wb;
1033
+ xc = c->x;
1034
+ borrow = 0;
1035
+ #ifdef ULLong
1036
+ do {
1037
+ y = (ULLong)*xa++ - *xb++ - borrow;
1038
+ borrow = y >> 32 & (ULong)1;
1039
+ *xc++ = (ULong)(y & FFFFFFFF);
1040
+ } while (xb < xbe);
1041
+ while (xa < xae) {
1042
+ y = *xa++ - borrow;
1043
+ borrow = y >> 32 & (ULong)1;
1044
+ *xc++ = (ULong)(y & FFFFFFFF);
1045
+ }
1046
+ #else
1047
+ #ifdef Pack_32
1048
+ do {
1049
+ y = (*xa & 0xffff) - (*xb & 0xffff) - borrow;
1050
+ borrow = (y & 0x10000) >> 16;
1051
+ z = (*xa++ >> 16) - (*xb++ >> 16) - borrow;
1052
+ borrow = (z & 0x10000) >> 16;
1053
+ Storeinc(xc, z, y);
1054
+ } while (xb < xbe);
1055
+ while (xa < xae) {
1056
+ y = (*xa & 0xffff) - borrow;
1057
+ borrow = (y & 0x10000) >> 16;
1058
+ z = (*xa++ >> 16) - borrow;
1059
+ borrow = (z & 0x10000) >> 16;
1060
+ Storeinc(xc, z, y);
1061
+ }
1062
+ #else
1063
+ do {
1064
+ y = *xa++ - *xb++ - borrow;
1065
+ borrow = (y & 0x10000) >> 16;
1066
+ *xc++ = y & 0xffff;
1067
+ } while (xb < xbe);
1068
+ while (xa < xae) {
1069
+ y = *xa++ - borrow;
1070
+ borrow = (y & 0x10000) >> 16;
1071
+ *xc++ = y & 0xffff;
1072
+ }
1073
+ #endif
1074
+ #endif
1075
+ while (!*--xc)
1076
+ wa--;
1077
+ c->wds = wa;
1078
+ return c;
1079
+ }
1080
+
1081
+ static double
1082
+ ulp(double x_)
1083
+ {
1084
+ register Long L;
1085
+ double_u x, a;
1086
+ dval(x) = x_;
1087
+
1088
+ L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
1089
+ #ifndef Avoid_Underflow
1090
+ #ifndef Sudden_Underflow
1091
+ if (L > 0) {
1092
+ #endif
1093
+ #endif
1094
+ #ifdef IBM
1095
+ L |= Exp_msk1 >> 4;
1096
+ #endif
1097
+ word0(a) = L;
1098
+ word1(a) = 0;
1099
+ #ifndef Avoid_Underflow
1100
+ #ifndef Sudden_Underflow
1101
+ }
1102
+ else {
1103
+ L = -L >> Exp_shift;
1104
+ if (L < Exp_shift) {
1105
+ word0(a) = 0x80000 >> L;
1106
+ word1(a) = 0;
1107
+ }
1108
+ else {
1109
+ word0(a) = 0;
1110
+ L -= Exp_shift;
1111
+ word1(a) = L >= 31 ? 1 : 1 << 31 - L;
1112
+ }
1113
+ }
1114
+ #endif
1115
+ #endif
1116
+ return dval(a);
1117
+ }
1118
+
1119
+ static double
1120
+ b2d(Bigint *a, int *e)
1121
+ {
1122
+ ULong *xa, *xa0, w, y, z;
1123
+ int k;
1124
+ double_u d;
1125
+ #ifdef VAX
1126
+ ULong d0, d1;
1127
+ #else
1128
+ #define d0 word0(d)
1129
+ #define d1 word1(d)
1130
+ #endif
1131
+
1132
+ xa0 = a->x;
1133
+ xa = xa0 + a->wds;
1134
+ y = *--xa;
1135
+ #ifdef DEBUG
1136
+ if (!y) Bug("zero y in b2d");
1137
+ #endif
1138
+ k = hi0bits(y);
1139
+ *e = 32 - k;
1140
+ #ifdef Pack_32
1141
+ if (k < Ebits) {
1142
+ d0 = Exp_1 | y >> (Ebits - k);
1143
+ w = xa > xa0 ? *--xa : 0;
1144
+ d1 = y << ((32-Ebits) + k) | w >> (Ebits - k);
1145
+ goto ret_d;
1146
+ }
1147
+ z = xa > xa0 ? *--xa : 0;
1148
+ if (k -= Ebits) {
1149
+ d0 = Exp_1 | y << k | z >> (32 - k);
1150
+ y = xa > xa0 ? *--xa : 0;
1151
+ d1 = z << k | y >> (32 - k);
1152
+ }
1153
+ else {
1154
+ d0 = Exp_1 | y;
1155
+ d1 = z;
1156
+ }
1157
+ #else
1158
+ if (k < Ebits + 16) {
1159
+ z = xa > xa0 ? *--xa : 0;
1160
+ d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k;
1161
+ w = xa > xa0 ? *--xa : 0;
1162
+ y = xa > xa0 ? *--xa : 0;
1163
+ d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k;
1164
+ goto ret_d;
1165
+ }
1166
+ z = xa > xa0 ? *--xa : 0;
1167
+ w = xa > xa0 ? *--xa : 0;
1168
+ k -= Ebits + 16;
1169
+ d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k;
1170
+ y = xa > xa0 ? *--xa : 0;
1171
+ d1 = w << k + 16 | y << k;
1172
+ #endif
1173
+ ret_d:
1174
+ #ifdef VAX
1175
+ word0(d) = d0 >> 16 | d0 << 16;
1176
+ word1(d) = d1 >> 16 | d1 << 16;
1177
+ #else
1178
+ #undef d0
1179
+ #undef d1
1180
+ #endif
1181
+ return dval(d);
1182
+ }
1183
+
1184
+ static Bigint *
1185
+ d2b(double d_, int *e, int *bits)
1186
+ {
1187
+ double_u d;
1188
+ Bigint *b;
1189
+ int de, k;
1190
+ ULong *x, y, z;
1191
+ #ifndef Sudden_Underflow
1192
+ int i;
1193
+ #endif
1194
+ #ifdef VAX
1195
+ ULong d0, d1;
1196
+ #endif
1197
+ dval(d) = d_;
1198
+ #ifdef VAX
1199
+ d0 = word0(d) >> 16 | word0(d) << 16;
1200
+ d1 = word1(d) >> 16 | word1(d) << 16;
1201
+ #else
1202
+ #define d0 word0(d)
1203
+ #define d1 word1(d)
1204
+ #endif
1205
+
1206
+ #ifdef Pack_32
1207
+ b = Balloc(1);
1208
+ #else
1209
+ b = Balloc(2);
1210
+ #endif
1211
+ if (!b) return NULL;
1212
+ x = b->x;
1213
+
1214
+ z = d0 & Frac_mask;
1215
+ d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
1216
+ #ifdef Sudden_Underflow
1217
+ de = (int)(d0 >> Exp_shift);
1218
+ #ifndef IBM
1219
+ z |= Exp_msk11;
1220
+ #endif
1221
+ #else
1222
+ if ((de = (int)(d0 >> Exp_shift)) != 0)
1223
+ z |= Exp_msk1;
1224
+ #endif
1225
+ #ifdef Pack_32
1226
+ if ((y = d1) != 0) {
1227
+ if ((k = lo0bits(&y)) != 0) {
1228
+ x[0] = y | z << (32 - k);
1229
+ z >>= k;
1230
+ }
1231
+ else
1232
+ x[0] = y;
1233
+ #ifndef Sudden_Underflow
1234
+ i =
1235
+ #endif
1236
+ b->wds = (x[1] = z) ? 2 : 1;
1237
+ }
1238
+ else {
1239
+ #ifdef DEBUG
1240
+ if (!z)
1241
+ Bug("Zero passed to d2b");
1242
+ #endif
1243
+ k = lo0bits(&z);
1244
+ x[0] = z;
1245
+ #ifndef Sudden_Underflow
1246
+ i =
1247
+ #endif
1248
+ b->wds = 1;
1249
+ k += 32;
1250
+ }
1251
+ #else
1252
+ if (y = d1) {
1253
+ if (k = lo0bits(&y))
1254
+ if (k >= 16) {
1255
+ x[0] = y | z << 32 - k & 0xffff;
1256
+ x[1] = z >> k - 16 & 0xffff;
1257
+ x[2] = z >> k;
1258
+ i = 2;
1259
+ }
1260
+ else {
1261
+ x[0] = y & 0xffff;
1262
+ x[1] = y >> 16 | z << 16 - k & 0xffff;
1263
+ x[2] = z >> k & 0xffff;
1264
+ x[3] = z >> k+16;
1265
+ i = 3;
1266
+ }
1267
+ else {
1268
+ x[0] = y & 0xffff;
1269
+ x[1] = y >> 16;
1270
+ x[2] = z & 0xffff;
1271
+ x[3] = z >> 16;
1272
+ i = 3;
1273
+ }
1274
+ }
1275
+ else {
1276
+ #ifdef DEBUG
1277
+ if (!z)
1278
+ Bug("Zero passed to d2b");
1279
+ #endif
1280
+ k = lo0bits(&z);
1281
+ if (k >= 16) {
1282
+ x[0] = z;
1283
+ i = 0;
1284
+ }
1285
+ else {
1286
+ x[0] = z & 0xffff;
1287
+ x[1] = z >> 16;
1288
+ i = 1;
1289
+ }
1290
+ k += 32;
1291
+ }
1292
+ while (!x[i])
1293
+ --i;
1294
+ b->wds = i + 1;
1295
+ #endif
1296
+ #ifndef Sudden_Underflow
1297
+ if (de) {
1298
+ #endif
1299
+ #ifdef IBM
1300
+ *e = (de - Bias - (P-1) << 2) + k;
1301
+ *bits = 4*P + 8 - k - hi0bits(word0(d) & Frac_mask);
1302
+ #else
1303
+ *e = de - Bias - (P-1) + k;
1304
+ *bits = P - k;
1305
+ #endif
1306
+ #ifndef Sudden_Underflow
1307
+ }
1308
+ else {
1309
+ *e = de - Bias - (P-1) + 1 + k;
1310
+ #ifdef Pack_32
1311
+ *bits = 32*i - hi0bits(x[i-1]);
1312
+ #else
1313
+ *bits = (i+2)*16 - hi0bits(x[i]);
1314
+ #endif
1315
+ }
1316
+ #endif
1317
+ return b;
1318
+ }
1319
+ #undef d0
1320
+ #undef d1
1321
+
1322
+ static double
1323
+ ratio(Bigint *a, Bigint *b)
1324
+ {
1325
+ double_u da, db;
1326
+ int k, ka, kb;
1327
+
1328
+ dval(da) = b2d(a, &ka);
1329
+ dval(db) = b2d(b, &kb);
1330
+ #ifdef Pack_32
1331
+ k = ka - kb + 32*(a->wds - b->wds);
1332
+ #else
1333
+ k = ka - kb + 16*(a->wds - b->wds);
1334
+ #endif
1335
+ #ifdef IBM
1336
+ if (k > 0) {
1337
+ word0(da) += (k >> 2)*Exp_msk1;
1338
+ if (k &= 3)
1339
+ dval(da) *= 1 << k;
1340
+ }
1341
+ else {
1342
+ k = -k;
1343
+ word0(db) += (k >> 2)*Exp_msk1;
1344
+ if (k &= 3)
1345
+ dval(db) *= 1 << k;
1346
+ }
1347
+ #else
1348
+ if (k > 0)
1349
+ word0(da) += k*Exp_msk1;
1350
+ else {
1351
+ k = -k;
1352
+ word0(db) += k*Exp_msk1;
1353
+ }
1354
+ #endif
1355
+ return dval(da) / dval(db);
1356
+ }
1357
+
1358
+ static const double
1359
+ tens[] = {
1360
+ 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
1361
+ 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
1362
+ 1e20, 1e21, 1e22
1363
+ #ifdef VAX
1364
+ , 1e23, 1e24
1365
+ #endif
1366
+ };
1367
+
1368
+ static const double
1369
+ #ifdef IEEE_Arith
1370
+ bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 };
1371
+ static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128,
1372
+ #ifdef Avoid_Underflow
1373
+ 9007199254740992.*9007199254740992.e-256
1374
+ /* = 2^106 * 1e-53 */
1375
+ #else
1376
+ 1e-256
1377
+ #endif
1378
+ };
1379
+ /* The factor of 2^53 in tinytens[4] helps us avoid setting the underflow */
1380
+ /* flag unnecessarily. It leads to a song and dance at the end of strtod. */
1381
+ #define Scale_Bit 0x10
1382
+ #define n_bigtens 5
1383
+ #else
1384
+ #ifdef IBM
1385
+ bigtens[] = { 1e16, 1e32, 1e64 };
1386
+ static const double tinytens[] = { 1e-16, 1e-32, 1e-64 };
1387
+ #define n_bigtens 3
1388
+ #else
1389
+ bigtens[] = { 1e16, 1e32 };
1390
+ static const double tinytens[] = { 1e-16, 1e-32 };
1391
+ #define n_bigtens 2
1392
+ #endif
1393
+ #endif
1394
+
1395
+ #ifndef IEEE_Arith
1396
+ #undef INFNAN_CHECK
1397
+ #endif
1398
+
1399
+ #ifdef INFNAN_CHECK
1400
+
1401
+ #ifndef NAN_WORD0
1402
+ #define NAN_WORD0 0x7ff80000
1403
+ #endif
1404
+
1405
+ #ifndef NAN_WORD1
1406
+ #define NAN_WORD1 0
1407
+ #endif
1408
+
1409
+ static int
1410
+ match(const char **sp, char *t)
1411
+ {
1412
+ int c, d;
1413
+ const char *s = *sp;
1414
+
1415
+ while (d = *t++) {
1416
+ if ((c = *++s) >= 'A' && c <= 'Z')
1417
+ c += 'a' - 'A';
1418
+ if (c != d)
1419
+ return 0;
1420
+ }
1421
+ *sp = s + 1;
1422
+ return 1;
1423
+ }
1424
+
1425
+ #ifndef No_Hex_NaN
1426
+ static void
1427
+ hexnan(double *rvp, const char **sp)
1428
+ {
1429
+ ULong c, x[2];
1430
+ const char *s;
1431
+ int havedig, udx0, xshift;
1432
+
1433
+ x[0] = x[1] = 0;
1434
+ havedig = xshift = 0;
1435
+ udx0 = 1;
1436
+ s = *sp;
1437
+ while (c = *(const unsigned char*)++s) {
1438
+ if (c >= '0' && c <= '9')
1439
+ c -= '0';
1440
+ else if (c >= 'a' && c <= 'f')
1441
+ c += 10 - 'a';
1442
+ else if (c >= 'A' && c <= 'F')
1443
+ c += 10 - 'A';
1444
+ else if (c <= ' ') {
1445
+ if (udx0 && havedig) {
1446
+ udx0 = 0;
1447
+ xshift = 1;
1448
+ }
1449
+ continue;
1450
+ }
1451
+ else if (/*(*/ c == ')' && havedig) {
1452
+ *sp = s + 1;
1453
+ break;
1454
+ }
1455
+ else
1456
+ return; /* invalid form: don't change *sp */
1457
+ havedig = 1;
1458
+ if (xshift) {
1459
+ xshift = 0;
1460
+ x[0] = x[1];
1461
+ x[1] = 0;
1462
+ }
1463
+ if (udx0)
1464
+ x[0] = (x[0] << 4) | (x[1] >> 28);
1465
+ x[1] = (x[1] << 4) | c;
1466
+ }
1467
+ if ((x[0] &= 0xfffff) || x[1]) {
1468
+ word0(*rvp) = Exp_mask | x[0];
1469
+ word1(*rvp) = x[1];
1470
+ }
1471
+ }
1472
+ #endif /*No_Hex_NaN*/
1473
+ #endif /* INFNAN_CHECK */
1474
+
1475
+ NO_SANITIZE("unsigned-integer-overflow", double strtod(const char *s00, char **se));
1476
+ double
1477
+ strtod(const char *s00, char **se)
1478
+ {
1479
+ #ifdef Avoid_Underflow
1480
+ int scale;
1481
+ #endif
1482
+ int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign,
1483
+ e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign;
1484
+ const char *s, *s0, *s1;
1485
+ double aadj, adj;
1486
+ double_u aadj1, rv, rv0;
1487
+ Long L;
1488
+ ULong y, z;
1489
+ Bigint *bb, *bb1, *bd, *bd0, *bs, *delta;
1490
+ #ifdef SET_INEXACT
1491
+ int inexact, oldinexact;
1492
+ #endif
1493
+ #ifdef Honor_FLT_ROUNDS
1494
+ int rounding;
1495
+ #endif
1496
+ #ifdef USE_LOCALE
1497
+ const char *s2;
1498
+ #endif
1499
+
1500
+ errno = 0;
1501
+ sign = nz0 = nz = 0;
1502
+ dval(rv) = 0.;
1503
+ for (s = s00;;s++)
1504
+ switch (*s) {
1505
+ case '-':
1506
+ sign = 1;
1507
+ /* no break */
1508
+ case '+':
1509
+ if (*++s)
1510
+ goto break2;
1511
+ /* no break */
1512
+ case 0:
1513
+ goto ret0;
1514
+ case '\t':
1515
+ case '\n':
1516
+ case '\v':
1517
+ case '\f':
1518
+ case '\r':
1519
+ case ' ':
1520
+ continue;
1521
+ default:
1522
+ goto break2;
1523
+ }
1524
+ break2:
1525
+ if (*s == '0') {
1526
+ if (s[1] == 'x' || s[1] == 'X') {
1527
+ s0 = ++s;
1528
+ adj = 0;
1529
+ aadj = 1.0;
1530
+ nd0 = -4;
1531
+
1532
+ if (!*++s || (!(s1 = strchr(hexdigit, *s)) && *s != '.')) goto ret0;
1533
+ if (*s == '0') {
1534
+ while (*++s == '0');
1535
+ if (!*s) goto ret;
1536
+ s1 = strchr(hexdigit, *s);
1537
+ }
1538
+ if (s1 != NULL) {
1539
+ do {
1540
+ adj += aadj * ((s1 - hexdigit) & 15);
1541
+ nd0 += 4;
1542
+ aadj /= 16;
1543
+ } while (*++s && (s1 = strchr(hexdigit, *s)));
1544
+ }
1545
+
1546
+ if ((*s == '.') && *++s && (s1 = strchr(hexdigit, *s))) {
1547
+ if (nd0 < 0) {
1548
+ while (*s == '0') {
1549
+ s++;
1550
+ nd0 -= 4;
1551
+ }
1552
+ }
1553
+ for (; *s && (s1 = strchr(hexdigit, *s)); ++s) {
1554
+ adj += aadj * ((s1 - hexdigit) & 15);
1555
+ if ((aadj /= 16) == 0.0) {
1556
+ while (*++s && strchr(hexdigit, *s));
1557
+ break;
1558
+ }
1559
+ }
1560
+ }
1561
+
1562
+ if (*s == 'P' || *s == 'p') {
1563
+ dsign = 0x2C - *++s; /* +: 2B, -: 2D */
1564
+ if (abs(dsign) == 1) s++;
1565
+ else dsign = 1;
1566
+
1567
+ nd = 0;
1568
+ c = *s;
1569
+ if (c < '0' || '9' < c) goto ret0;
1570
+ do {
1571
+ nd *= 10;
1572
+ nd += c;
1573
+ nd -= '0';
1574
+ c = *++s;
1575
+ /* Float("0x0."+("0"*267)+"1fp2095") */
1576
+ if (nd + dsign * nd0 > 2095) {
1577
+ while ('0' <= c && c <= '9') c = *++s;
1578
+ break;
1579
+ }
1580
+ } while ('0' <= c && c <= '9');
1581
+ nd0 += nd * dsign;
1582
+ }
1583
+ dval(rv) = ldexp(adj, nd0);
1584
+ goto ret;
1585
+ }
1586
+ nz0 = 1;
1587
+ while (*++s == '0') ;
1588
+ if (!*s)
1589
+ goto ret;
1590
+ }
1591
+ s0 = s;
1592
+ y = z = 0;
1593
+ for (nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++)
1594
+ if (nd < 9)
1595
+ y = 10*y + c - '0';
1596
+ else if (nd < DBL_DIG + 2)
1597
+ z = 10*z + c - '0';
1598
+ nd0 = nd;
1599
+ #ifdef USE_LOCALE
1600
+ s1 = localeconv()->decimal_point;
1601
+ if (c == *s1) {
1602
+ c = '.';
1603
+ if (*++s1) {
1604
+ s2 = s;
1605
+ for (;;) {
1606
+ if (*++s2 != *s1) {
1607
+ c = 0;
1608
+ break;
1609
+ }
1610
+ if (!*++s1) {
1611
+ s = s2;
1612
+ break;
1613
+ }
1614
+ }
1615
+ }
1616
+ }
1617
+ #endif
1618
+ if (c == '.') {
1619
+ c = *++s;
1620
+ if (!ISDIGIT(c))
1621
+ goto dig_done;
1622
+ if (!nd) {
1623
+ for (; c == '0'; c = *++s)
1624
+ nz++;
1625
+ if (c > '0' && c <= '9') {
1626
+ s0 = s;
1627
+ nf += nz;
1628
+ nz = 0;
1629
+ goto have_dig;
1630
+ }
1631
+ goto dig_done;
1632
+ }
1633
+ for (; c >= '0' && c <= '9'; c = *++s) {
1634
+ have_dig:
1635
+ nz++;
1636
+ if (nd > DBL_DIG * 4) {
1637
+ continue;
1638
+ }
1639
+ if (c -= '0') {
1640
+ nf += nz;
1641
+ for (i = 1; i < nz; i++)
1642
+ if (nd++ < 9)
1643
+ y *= 10;
1644
+ else if (nd <= DBL_DIG + 2)
1645
+ z *= 10;
1646
+ if (nd++ < 9)
1647
+ y = 10*y + c;
1648
+ else if (nd <= DBL_DIG + 2)
1649
+ z = 10*z + c;
1650
+ nz = 0;
1651
+ }
1652
+ }
1653
+ }
1654
+ dig_done:
1655
+ e = 0;
1656
+ if (c == 'e' || c == 'E') {
1657
+ if (!nd && !nz && !nz0) {
1658
+ goto ret0;
1659
+ }
1660
+ s00 = s;
1661
+ esign = 0;
1662
+ switch (c = *++s) {
1663
+ case '-':
1664
+ esign = 1;
1665
+ case '+':
1666
+ c = *++s;
1667
+ }
1668
+ if (c >= '0' && c <= '9') {
1669
+ while (c == '0')
1670
+ c = *++s;
1671
+ if (c > '0' && c <= '9') {
1672
+ L = c - '0';
1673
+ s1 = s;
1674
+ while ((c = *++s) >= '0' && c <= '9')
1675
+ L = 10*L + c - '0';
1676
+ if (s - s1 > 8 || L > 19999)
1677
+ /* Avoid confusion from exponents
1678
+ * so large that e might overflow.
1679
+ */
1680
+ e = 19999; /* safe for 16 bit ints */
1681
+ else
1682
+ e = (int)L;
1683
+ if (esign)
1684
+ e = -e;
1685
+ }
1686
+ else
1687
+ e = 0;
1688
+ }
1689
+ else
1690
+ s = s00;
1691
+ }
1692
+ if (!nd) {
1693
+ if (!nz && !nz0) {
1694
+ #ifdef INFNAN_CHECK
1695
+ /* Check for Nan and Infinity */
1696
+ switch (c) {
1697
+ case 'i':
1698
+ case 'I':
1699
+ if (match(&s,"nf")) {
1700
+ --s;
1701
+ if (!match(&s,"inity"))
1702
+ ++s;
1703
+ word0(rv) = 0x7ff00000;
1704
+ word1(rv) = 0;
1705
+ goto ret;
1706
+ }
1707
+ break;
1708
+ case 'n':
1709
+ case 'N':
1710
+ if (match(&s, "an")) {
1711
+ word0(rv) = NAN_WORD0;
1712
+ word1(rv) = NAN_WORD1;
1713
+ #ifndef No_Hex_NaN
1714
+ if (*s == '(') /*)*/
1715
+ hexnan(&rv, &s);
1716
+ #endif
1717
+ goto ret;
1718
+ }
1719
+ }
1720
+ #endif /* INFNAN_CHECK */
1721
+ ret0:
1722
+ s = s00;
1723
+ sign = 0;
1724
+ }
1725
+ goto ret;
1726
+ }
1727
+ e1 = e -= nf;
1728
+
1729
+ /* Now we have nd0 digits, starting at s0, followed by a
1730
+ * decimal point, followed by nd-nd0 digits. The number we're
1731
+ * after is the integer represented by those digits times
1732
+ * 10**e */
1733
+
1734
+ if (!nd0)
1735
+ nd0 = nd;
1736
+ k = nd < DBL_DIG + 2 ? nd : DBL_DIG + 2;
1737
+ dval(rv) = y;
1738
+ if (k > 9) {
1739
+ #ifdef SET_INEXACT
1740
+ if (k > DBL_DIG)
1741
+ oldinexact = get_inexact();
1742
+ #endif
1743
+ dval(rv) = tens[k - 9] * dval(rv) + z;
1744
+ }
1745
+ bd0 = bb = bd = bs = delta = 0;
1746
+ if (nd <= DBL_DIG
1747
+ #ifndef RND_PRODQUOT
1748
+ #ifndef Honor_FLT_ROUNDS
1749
+ && Flt_Rounds == 1
1750
+ #endif
1751
+ #endif
1752
+ ) {
1753
+ if (!e)
1754
+ goto ret;
1755
+ if (e > 0) {
1756
+ if (e <= Ten_pmax) {
1757
+ #ifdef VAX
1758
+ goto vax_ovfl_check;
1759
+ #else
1760
+ #ifdef Honor_FLT_ROUNDS
1761
+ /* round correctly FLT_ROUNDS = 2 or 3 */
1762
+ if (sign) {
1763
+ dval(rv) = -dval(rv);
1764
+ sign = 0;
1765
+ }
1766
+ #endif
1767
+ /* rv = */ rounded_product(dval(rv), tens[e]);
1768
+ goto ret;
1769
+ #endif
1770
+ }
1771
+ i = DBL_DIG - nd;
1772
+ if (e <= Ten_pmax + i) {
1773
+ /* A fancier test would sometimes let us do
1774
+ * this for larger i values.
1775
+ */
1776
+ #ifdef Honor_FLT_ROUNDS
1777
+ /* round correctly FLT_ROUNDS = 2 or 3 */
1778
+ if (sign) {
1779
+ dval(rv) = -dval(rv);
1780
+ sign = 0;
1781
+ }
1782
+ #endif
1783
+ e -= i;
1784
+ dval(rv) *= tens[i];
1785
+ #ifdef VAX
1786
+ /* VAX exponent range is so narrow we must
1787
+ * worry about overflow here...
1788
+ */
1789
+ vax_ovfl_check:
1790
+ word0(rv) -= P*Exp_msk1;
1791
+ /* rv = */ rounded_product(dval(rv), tens[e]);
1792
+ if ((word0(rv) & Exp_mask)
1793
+ > Exp_msk1*(DBL_MAX_EXP+Bias-1-P))
1794
+ goto ovfl;
1795
+ word0(rv) += P*Exp_msk1;
1796
+ #else
1797
+ /* rv = */ rounded_product(dval(rv), tens[e]);
1798
+ #endif
1799
+ goto ret;
1800
+ }
1801
+ }
1802
+ #ifndef Inaccurate_Divide
1803
+ else if (e >= -Ten_pmax) {
1804
+ #ifdef Honor_FLT_ROUNDS
1805
+ /* round correctly FLT_ROUNDS = 2 or 3 */
1806
+ if (sign) {
1807
+ dval(rv) = -dval(rv);
1808
+ sign = 0;
1809
+ }
1810
+ #endif
1811
+ /* rv = */ rounded_quotient(dval(rv), tens[-e]);
1812
+ goto ret;
1813
+ }
1814
+ #endif
1815
+ }
1816
+ e1 += nd - k;
1817
+
1818
+ #ifdef IEEE_Arith
1819
+ #ifdef SET_INEXACT
1820
+ inexact = 1;
1821
+ if (k <= DBL_DIG)
1822
+ oldinexact = get_inexact();
1823
+ #endif
1824
+ #ifdef Avoid_Underflow
1825
+ scale = 0;
1826
+ #endif
1827
+ #ifdef Honor_FLT_ROUNDS
1828
+ if ((rounding = Flt_Rounds) >= 2) {
1829
+ if (sign)
1830
+ rounding = rounding == 2 ? 0 : 2;
1831
+ else
1832
+ if (rounding != 2)
1833
+ rounding = 0;
1834
+ }
1835
+ #endif
1836
+ #endif /*IEEE_Arith*/
1837
+
1838
+ /* Get starting approximation = rv * 10**e1 */
1839
+
1840
+ if (e1 > 0) {
1841
+ if ((i = e1 & 15) != 0)
1842
+ dval(rv) *= tens[i];
1843
+ if (e1 &= ~15) {
1844
+ if (e1 > DBL_MAX_10_EXP) {
1845
+ ovfl:
1846
+ #ifndef NO_ERRNO
1847
+ errno = ERANGE;
1848
+ #endif
1849
+ /* Can't trust HUGE_VAL */
1850
+ #ifdef IEEE_Arith
1851
+ #ifdef Honor_FLT_ROUNDS
1852
+ switch (rounding) {
1853
+ case 0: /* toward 0 */
1854
+ case 3: /* toward -infinity */
1855
+ word0(rv) = Big0;
1856
+ word1(rv) = Big1;
1857
+ break;
1858
+ default:
1859
+ word0(rv) = Exp_mask;
1860
+ word1(rv) = 0;
1861
+ }
1862
+ #else /*Honor_FLT_ROUNDS*/
1863
+ word0(rv) = Exp_mask;
1864
+ word1(rv) = 0;
1865
+ #endif /*Honor_FLT_ROUNDS*/
1866
+ #ifdef SET_INEXACT
1867
+ /* set overflow bit */
1868
+ dval(rv0) = 1e300;
1869
+ dval(rv0) *= dval(rv0);
1870
+ #endif
1871
+ #else /*IEEE_Arith*/
1872
+ word0(rv) = Big0;
1873
+ word1(rv) = Big1;
1874
+ #endif /*IEEE_Arith*/
1875
+ if (bd0)
1876
+ goto retfree;
1877
+ goto ret;
1878
+ }
1879
+ e1 >>= 4;
1880
+ for (j = 0; e1 > 1; j++, e1 >>= 1)
1881
+ if (e1 & 1)
1882
+ dval(rv) *= bigtens[j];
1883
+ /* The last multiplication could overflow. */
1884
+ word0(rv) -= P*Exp_msk1;
1885
+ dval(rv) *= bigtens[j];
1886
+ if ((z = word0(rv) & Exp_mask)
1887
+ > Exp_msk1*(DBL_MAX_EXP+Bias-P))
1888
+ goto ovfl;
1889
+ if (z > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) {
1890
+ /* set to largest number */
1891
+ /* (Can't trust DBL_MAX) */
1892
+ word0(rv) = Big0;
1893
+ word1(rv) = Big1;
1894
+ }
1895
+ else
1896
+ word0(rv) += P*Exp_msk1;
1897
+ }
1898
+ }
1899
+ else if (e1 < 0) {
1900
+ e1 = -e1;
1901
+ if ((i = e1 & 15) != 0)
1902
+ dval(rv) /= tens[i];
1903
+ if (e1 >>= 4) {
1904
+ if (e1 >= 1 << n_bigtens)
1905
+ goto undfl;
1906
+ #ifdef Avoid_Underflow
1907
+ if (e1 & Scale_Bit)
1908
+ scale = 2*P;
1909
+ for (j = 0; e1 > 0; j++, e1 >>= 1)
1910
+ if (e1 & 1)
1911
+ dval(rv) *= tinytens[j];
1912
+ if (scale && (j = 2*P + 1 - ((word0(rv) & Exp_mask)
1913
+ >> Exp_shift)) > 0) {
1914
+ /* scaled rv is denormal; zap j low bits */
1915
+ if (j >= 32) {
1916
+ word1(rv) = 0;
1917
+ if (j >= 53)
1918
+ word0(rv) = (P+2)*Exp_msk1;
1919
+ else
1920
+ word0(rv) &= 0xffffffff << (j-32);
1921
+ }
1922
+ else
1923
+ word1(rv) &= 0xffffffff << j;
1924
+ }
1925
+ #else
1926
+ for (j = 0; e1 > 1; j++, e1 >>= 1)
1927
+ if (e1 & 1)
1928
+ dval(rv) *= tinytens[j];
1929
+ /* The last multiplication could underflow. */
1930
+ dval(rv0) = dval(rv);
1931
+ dval(rv) *= tinytens[j];
1932
+ if (!dval(rv)) {
1933
+ dval(rv) = 2.*dval(rv0);
1934
+ dval(rv) *= tinytens[j];
1935
+ #endif
1936
+ if (!dval(rv)) {
1937
+ undfl:
1938
+ dval(rv) = 0.;
1939
+ #ifndef NO_ERRNO
1940
+ errno = ERANGE;
1941
+ #endif
1942
+ if (bd0)
1943
+ goto retfree;
1944
+ goto ret;
1945
+ }
1946
+ #ifndef Avoid_Underflow
1947
+ word0(rv) = Tiny0;
1948
+ word1(rv) = Tiny1;
1949
+ /* The refinement below will clean
1950
+ * this approximation up.
1951
+ */
1952
+ }
1953
+ #endif
1954
+ }
1955
+ }
1956
+
1957
+ /* Now the hard part -- adjusting rv to the correct value.*/
1958
+
1959
+ /* Put digits into bd: true value = bd * 10^e */
1960
+
1961
+ bd0 = s2b(s0, nd0, nd, y);
1962
+ if (!bd0) goto ret;
1963
+
1964
+ for (;;) {
1965
+ bd = Balloc(bd0->k);
1966
+ if (!bd) goto retfree;
1967
+ Bcopy(bd, bd0);
1968
+ bb = d2b(dval(rv), &bbe, &bbbits); /* rv = bb * 2^bbe */
1969
+ if (!bb) goto retfree;
1970
+ bs = i2b(1);
1971
+ if (!bs) goto retfree;
1972
+
1973
+ if (e >= 0) {
1974
+ bb2 = bb5 = 0;
1975
+ bd2 = bd5 = e;
1976
+ }
1977
+ else {
1978
+ bb2 = bb5 = -e;
1979
+ bd2 = bd5 = 0;
1980
+ }
1981
+ if (bbe >= 0)
1982
+ bb2 += bbe;
1983
+ else
1984
+ bd2 -= bbe;
1985
+ bs2 = bb2;
1986
+ #ifdef Honor_FLT_ROUNDS
1987
+ if (rounding != 1)
1988
+ bs2++;
1989
+ #endif
1990
+ #ifdef Avoid_Underflow
1991
+ j = bbe - scale;
1992
+ i = j + bbbits - 1; /* logb(rv) */
1993
+ if (i < Emin) /* denormal */
1994
+ j += P - Emin;
1995
+ else
1996
+ j = P + 1 - bbbits;
1997
+ #else /*Avoid_Underflow*/
1998
+ #ifdef Sudden_Underflow
1999
+ #ifdef IBM
2000
+ j = 1 + 4*P - 3 - bbbits + ((bbe + bbbits - 1) & 3);
2001
+ #else
2002
+ j = P + 1 - bbbits;
2003
+ #endif
2004
+ #else /*Sudden_Underflow*/
2005
+ j = bbe;
2006
+ i = j + bbbits - 1; /* logb(rv) */
2007
+ if (i < Emin) /* denormal */
2008
+ j += P - Emin;
2009
+ else
2010
+ j = P + 1 - bbbits;
2011
+ #endif /*Sudden_Underflow*/
2012
+ #endif /*Avoid_Underflow*/
2013
+ bb2 += j;
2014
+ bd2 += j;
2015
+ #ifdef Avoid_Underflow
2016
+ bd2 += scale;
2017
+ #endif
2018
+ i = bb2 < bd2 ? bb2 : bd2;
2019
+ if (i > bs2)
2020
+ i = bs2;
2021
+ if (i > 0) {
2022
+ bb2 -= i;
2023
+ bd2 -= i;
2024
+ bs2 -= i;
2025
+ }
2026
+ if (bb5 > 0) {
2027
+ bs = pow5mult(bs, bb5);
2028
+ if (!bs) goto retfree;
2029
+ bb1 = mult(bs, bb);
2030
+ Bfree(bb);
2031
+ bb = bb1;
2032
+ if (!bb) goto retfree;
2033
+ }
2034
+ if (bb2 > 0) {
2035
+ bb = lshift(bb, bb2);
2036
+ if (!bb) goto retfree;
2037
+ }
2038
+ if (bd5 > 0) {
2039
+ bd = pow5mult(bd, bd5);
2040
+ if (!bd) goto retfree;
2041
+ }
2042
+ if (bd2 > 0) {
2043
+ bd = lshift(bd, bd2);
2044
+ if (!bd) goto retfree;
2045
+ }
2046
+ if (bs2 > 0) {
2047
+ bs = lshift(bs, bs2);
2048
+ if (!bs) goto retfree;
2049
+ }
2050
+ delta = diff(bb, bd);
2051
+ if (!delta) goto retfree;
2052
+ dsign = delta->sign;
2053
+ delta->sign = 0;
2054
+ i = cmp(delta, bs);
2055
+ #ifdef Honor_FLT_ROUNDS
2056
+ if (rounding != 1) {
2057
+ if (i < 0) {
2058
+ /* Error is less than an ulp */
2059
+ if (!delta->x[0] && delta->wds <= 1) {
2060
+ /* exact */
2061
+ #ifdef SET_INEXACT
2062
+ inexact = 0;
2063
+ #endif
2064
+ break;
2065
+ }
2066
+ if (rounding) {
2067
+ if (dsign) {
2068
+ adj = 1.;
2069
+ goto apply_adj;
2070
+ }
2071
+ }
2072
+ else if (!dsign) {
2073
+ adj = -1.;
2074
+ if (!word1(rv)
2075
+ && !(word0(rv) & Frac_mask)) {
2076
+ y = word0(rv) & Exp_mask;
2077
+ #ifdef Avoid_Underflow
2078
+ if (!scale || y > 2*P*Exp_msk1)
2079
+ #else
2080
+ if (y)
2081
+ #endif
2082
+ {
2083
+ delta = lshift(delta,Log2P);
2084
+ if (!delta) goto nomem;
2085
+ if (cmp(delta, bs) <= 0)
2086
+ adj = -0.5;
2087
+ }
2088
+ }
2089
+ apply_adj:
2090
+ #ifdef Avoid_Underflow
2091
+ if (scale && (y = word0(rv) & Exp_mask)
2092
+ <= 2*P*Exp_msk1)
2093
+ word0(adj) += (2*P+1)*Exp_msk1 - y;
2094
+ #else
2095
+ #ifdef Sudden_Underflow
2096
+ if ((word0(rv) & Exp_mask) <=
2097
+ P*Exp_msk1) {
2098
+ word0(rv) += P*Exp_msk1;
2099
+ dval(rv) += adj*ulp(dval(rv));
2100
+ word0(rv) -= P*Exp_msk1;
2101
+ }
2102
+ else
2103
+ #endif /*Sudden_Underflow*/
2104
+ #endif /*Avoid_Underflow*/
2105
+ dval(rv) += adj*ulp(dval(rv));
2106
+ }
2107
+ break;
2108
+ }
2109
+ adj = ratio(delta, bs);
2110
+ if (adj < 1.)
2111
+ adj = 1.;
2112
+ if (adj <= 0x7ffffffe) {
2113
+ /* adj = rounding ? ceil(adj) : floor(adj); */
2114
+ y = adj;
2115
+ if (y != adj) {
2116
+ if (!((rounding>>1) ^ dsign))
2117
+ y++;
2118
+ adj = y;
2119
+ }
2120
+ }
2121
+ #ifdef Avoid_Underflow
2122
+ if (scale && (y = word0(rv) & Exp_mask) <= 2*P*Exp_msk1)
2123
+ word0(adj) += (2*P+1)*Exp_msk1 - y;
2124
+ #else
2125
+ #ifdef Sudden_Underflow
2126
+ if ((word0(rv) & Exp_mask) <= P*Exp_msk1) {
2127
+ word0(rv) += P*Exp_msk1;
2128
+ adj *= ulp(dval(rv));
2129
+ if (dsign)
2130
+ dval(rv) += adj;
2131
+ else
2132
+ dval(rv) -= adj;
2133
+ word0(rv) -= P*Exp_msk1;
2134
+ goto cont;
2135
+ }
2136
+ #endif /*Sudden_Underflow*/
2137
+ #endif /*Avoid_Underflow*/
2138
+ adj *= ulp(dval(rv));
2139
+ if (dsign)
2140
+ dval(rv) += adj;
2141
+ else
2142
+ dval(rv) -= adj;
2143
+ goto cont;
2144
+ }
2145
+ #endif /*Honor_FLT_ROUNDS*/
2146
+
2147
+ if (i < 0) {
2148
+ /* Error is less than half an ulp -- check for
2149
+ * special case of mantissa a power of two.
2150
+ */
2151
+ if (dsign || word1(rv) || word0(rv) & Bndry_mask
2152
+ #ifdef IEEE_Arith
2153
+ #ifdef Avoid_Underflow
2154
+ || (word0(rv) & Exp_mask) <= (2*P+1)*Exp_msk1
2155
+ #else
2156
+ || (word0(rv) & Exp_mask) <= Exp_msk1
2157
+ #endif
2158
+ #endif
2159
+ ) {
2160
+ #ifdef SET_INEXACT
2161
+ if (!delta->x[0] && delta->wds <= 1)
2162
+ inexact = 0;
2163
+ #endif
2164
+ break;
2165
+ }
2166
+ if (!delta->x[0] && delta->wds <= 1) {
2167
+ /* exact result */
2168
+ #ifdef SET_INEXACT
2169
+ inexact = 0;
2170
+ #endif
2171
+ break;
2172
+ }
2173
+ delta = lshift(delta,Log2P);
2174
+ if (!delta) goto retfree;
2175
+ if (cmp(delta, bs) > 0)
2176
+ goto drop_down;
2177
+ break;
2178
+ }
2179
+ if (i == 0) {
2180
+ /* exactly half-way between */
2181
+ if (dsign) {
2182
+ if ((word0(rv) & Bndry_mask1) == Bndry_mask1
2183
+ && word1(rv) == (
2184
+ #ifdef Avoid_Underflow
2185
+ (scale && (y = word0(rv) & Exp_mask) <= 2*P*Exp_msk1)
2186
+ ? (0xffffffff & (0xffffffff << (2*P+1-(y>>Exp_shift)))) :
2187
+ #endif
2188
+ 0xffffffff)) {
2189
+ /*boundary case -- increment exponent*/
2190
+ word0(rv) = (word0(rv) & Exp_mask)
2191
+ + Exp_msk1
2192
+ #ifdef IBM
2193
+ | Exp_msk1 >> 4
2194
+ #endif
2195
+ ;
2196
+ word1(rv) = 0;
2197
+ #ifdef Avoid_Underflow
2198
+ dsign = 0;
2199
+ #endif
2200
+ break;
2201
+ }
2202
+ }
2203
+ else if (!(word0(rv) & Bndry_mask) && !word1(rv)) {
2204
+ drop_down:
2205
+ /* boundary case -- decrement exponent */
2206
+ #ifdef Sudden_Underflow /*{{*/
2207
+ L = word0(rv) & Exp_mask;
2208
+ #ifdef IBM
2209
+ if (L < Exp_msk1)
2210
+ #else
2211
+ #ifdef Avoid_Underflow
2212
+ if (L <= (scale ? (2*P+1)*Exp_msk1 : Exp_msk1))
2213
+ #else
2214
+ if (L <= Exp_msk1)
2215
+ #endif /*Avoid_Underflow*/
2216
+ #endif /*IBM*/
2217
+ goto undfl;
2218
+ L -= Exp_msk1;
2219
+ #else /*Sudden_Underflow}{*/
2220
+ #ifdef Avoid_Underflow
2221
+ if (scale) {
2222
+ L = word0(rv) & Exp_mask;
2223
+ if (L <= (2*P+1)*Exp_msk1) {
2224
+ if (L > (P+2)*Exp_msk1)
2225
+ /* round even ==> */
2226
+ /* accept rv */
2227
+ break;
2228
+ /* rv = smallest denormal */
2229
+ goto undfl;
2230
+ }
2231
+ }
2232
+ #endif /*Avoid_Underflow*/
2233
+ L = (word0(rv) & Exp_mask) - Exp_msk1;
2234
+ #endif /*Sudden_Underflow}}*/
2235
+ word0(rv) = L | Bndry_mask1;
2236
+ word1(rv) = 0xffffffff;
2237
+ #ifdef IBM
2238
+ goto cont;
2239
+ #else
2240
+ break;
2241
+ #endif
2242
+ }
2243
+ #ifndef ROUND_BIASED
2244
+ if (!(word1(rv) & LSB))
2245
+ break;
2246
+ #endif
2247
+ if (dsign)
2248
+ dval(rv) += ulp(dval(rv));
2249
+ #ifndef ROUND_BIASED
2250
+ else {
2251
+ dval(rv) -= ulp(dval(rv));
2252
+ #ifndef Sudden_Underflow
2253
+ if (!dval(rv))
2254
+ goto undfl;
2255
+ #endif
2256
+ }
2257
+ #ifdef Avoid_Underflow
2258
+ dsign = 1 - dsign;
2259
+ #endif
2260
+ #endif
2261
+ break;
2262
+ }
2263
+ if ((aadj = ratio(delta, bs)) <= 2.) {
2264
+ if (dsign)
2265
+ aadj = dval(aadj1) = 1.;
2266
+ else if (word1(rv) || word0(rv) & Bndry_mask) {
2267
+ #ifndef Sudden_Underflow
2268
+ if (word1(rv) == Tiny1 && !word0(rv))
2269
+ goto undfl;
2270
+ #endif
2271
+ aadj = 1.;
2272
+ dval(aadj1) = -1.;
2273
+ }
2274
+ else {
2275
+ /* special case -- power of FLT_RADIX to be */
2276
+ /* rounded down... */
2277
+
2278
+ if (aadj < 2./FLT_RADIX)
2279
+ aadj = 1./FLT_RADIX;
2280
+ else
2281
+ aadj *= 0.5;
2282
+ dval(aadj1) = -aadj;
2283
+ }
2284
+ }
2285
+ else {
2286
+ aadj *= 0.5;
2287
+ dval(aadj1) = dsign ? aadj : -aadj;
2288
+ #ifdef Check_FLT_ROUNDS
2289
+ switch (Rounding) {
2290
+ case 2: /* towards +infinity */
2291
+ dval(aadj1) -= 0.5;
2292
+ break;
2293
+ case 0: /* towards 0 */
2294
+ case 3: /* towards -infinity */
2295
+ dval(aadj1) += 0.5;
2296
+ }
2297
+ #else
2298
+ if (Flt_Rounds == 0)
2299
+ dval(aadj1) += 0.5;
2300
+ #endif /*Check_FLT_ROUNDS*/
2301
+ }
2302
+ y = word0(rv) & Exp_mask;
2303
+
2304
+ /* Check for overflow */
2305
+
2306
+ if (y == Exp_msk1*(DBL_MAX_EXP+Bias-1)) {
2307
+ dval(rv0) = dval(rv);
2308
+ word0(rv) -= P*Exp_msk1;
2309
+ adj = dval(aadj1) * ulp(dval(rv));
2310
+ dval(rv) += adj;
2311
+ if ((word0(rv) & Exp_mask) >=
2312
+ Exp_msk1*(DBL_MAX_EXP+Bias-P)) {
2313
+ if (word0(rv0) == Big0 && word1(rv0) == Big1)
2314
+ goto ovfl;
2315
+ word0(rv) = Big0;
2316
+ word1(rv) = Big1;
2317
+ goto cont;
2318
+ }
2319
+ else
2320
+ word0(rv) += P*Exp_msk1;
2321
+ }
2322
+ else {
2323
+ #ifdef Avoid_Underflow
2324
+ if (scale && y <= 2*P*Exp_msk1) {
2325
+ if (aadj <= 0x7fffffff) {
2326
+ if ((z = (int)aadj) <= 0)
2327
+ z = 1;
2328
+ aadj = z;
2329
+ dval(aadj1) = dsign ? aadj : -aadj;
2330
+ }
2331
+ word0(aadj1) += (2*P+1)*Exp_msk1 - y;
2332
+ }
2333
+ adj = dval(aadj1) * ulp(dval(rv));
2334
+ dval(rv) += adj;
2335
+ #else
2336
+ #ifdef Sudden_Underflow
2337
+ if ((word0(rv) & Exp_mask) <= P*Exp_msk1) {
2338
+ dval(rv0) = dval(rv);
2339
+ word0(rv) += P*Exp_msk1;
2340
+ adj = dval(aadj1) * ulp(dval(rv));
2341
+ dval(rv) += adj;
2342
+ #ifdef IBM
2343
+ if ((word0(rv) & Exp_mask) < P*Exp_msk1)
2344
+ #else
2345
+ if ((word0(rv) & Exp_mask) <= P*Exp_msk1)
2346
+ #endif
2347
+ {
2348
+ if (word0(rv0) == Tiny0 && word1(rv0) == Tiny1)
2349
+ goto undfl;
2350
+ word0(rv) = Tiny0;
2351
+ word1(rv) = Tiny1;
2352
+ goto cont;
2353
+ }
2354
+ else
2355
+ word0(rv) -= P*Exp_msk1;
2356
+ }
2357
+ else {
2358
+ adj = dval(aadj1) * ulp(dval(rv));
2359
+ dval(rv) += adj;
2360
+ }
2361
+ #else /*Sudden_Underflow*/
2362
+ /* Compute adj so that the IEEE rounding rules will
2363
+ * correctly round rv + adj in some half-way cases.
2364
+ * If rv * ulp(rv) is denormalized (i.e.,
2365
+ * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid
2366
+ * trouble from bits lost to denormalization;
2367
+ * example: 1.2e-307 .
2368
+ */
2369
+ if (y <= (P-1)*Exp_msk1 && aadj > 1.) {
2370
+ dval(aadj1) = (double)(int)(aadj + 0.5);
2371
+ if (!dsign)
2372
+ dval(aadj1) = -dval(aadj1);
2373
+ }
2374
+ adj = dval(aadj1) * ulp(dval(rv));
2375
+ dval(rv) += adj;
2376
+ #endif /*Sudden_Underflow*/
2377
+ #endif /*Avoid_Underflow*/
2378
+ }
2379
+ z = word0(rv) & Exp_mask;
2380
+ #ifndef SET_INEXACT
2381
+ #ifdef Avoid_Underflow
2382
+ if (!scale)
2383
+ #endif
2384
+ if (y == z) {
2385
+ /* Can we stop now? */
2386
+ L = (Long)aadj;
2387
+ aadj -= L;
2388
+ /* The tolerances below are conservative. */
2389
+ if (dsign || word1(rv) || word0(rv) & Bndry_mask) {
2390
+ if (aadj < .4999999 || aadj > .5000001)
2391
+ break;
2392
+ }
2393
+ else if (aadj < .4999999/FLT_RADIX)
2394
+ break;
2395
+ }
2396
+ #endif
2397
+ cont:
2398
+ Bfree(bb);
2399
+ Bfree(bd);
2400
+ Bfree(bs);
2401
+ Bfree(delta);
2402
+ }
2403
+ #ifdef SET_INEXACT
2404
+ if (inexact) {
2405
+ if (!oldinexact) {
2406
+ word0(rv0) = Exp_1 + (70 << Exp_shift);
2407
+ word1(rv0) = 0;
2408
+ dval(rv0) += 1.;
2409
+ }
2410
+ }
2411
+ else if (!oldinexact)
2412
+ clear_inexact();
2413
+ #endif
2414
+ #ifdef Avoid_Underflow
2415
+ if (scale) {
2416
+ word0(rv0) = Exp_1 - 2*P*Exp_msk1;
2417
+ word1(rv0) = 0;
2418
+ dval(rv) *= dval(rv0);
2419
+ #ifndef NO_ERRNO
2420
+ /* try to avoid the bug of testing an 8087 register value */
2421
+ if (word0(rv) == 0 && word1(rv) == 0)
2422
+ errno = ERANGE;
2423
+ #endif
2424
+ }
2425
+ #endif /* Avoid_Underflow */
2426
+ #ifdef SET_INEXACT
2427
+ if (inexact && !(word0(rv) & Exp_mask)) {
2428
+ /* set underflow bit */
2429
+ dval(rv0) = 1e-300;
2430
+ dval(rv0) *= dval(rv0);
2431
+ }
2432
+ #endif
2433
+ retfree:
2434
+ Bfree(bb);
2435
+ Bfree(bd);
2436
+ Bfree(bs);
2437
+ Bfree(bd0);
2438
+ Bfree(delta);
2439
+ ret:
2440
+ if (se)
2441
+ *se = (char *)s;
2442
+ return sign ? -dval(rv) : dval(rv);
2443
+ }
2444
+
2445
+ NO_SANITIZE("unsigned-integer-overflow", static int quorem(Bigint *b, Bigint *S));
2446
+ static int
2447
+ quorem(Bigint *b, Bigint *S)
2448
+ {
2449
+ int n;
2450
+ ULong *bx, *bxe, q, *sx, *sxe;
2451
+ #ifdef ULLong
2452
+ ULLong borrow, carry, y, ys;
2453
+ #else
2454
+ ULong borrow, carry, y, ys;
2455
+ #ifdef Pack_32
2456
+ ULong si, z, zs;
2457
+ #endif
2458
+ #endif
2459
+
2460
+ n = S->wds;
2461
+ #ifdef DEBUG
2462
+ /*debug*/ if (b->wds > n)
2463
+ /*debug*/ Bug("oversize b in quorem");
2464
+ #endif
2465
+ if (b->wds < n)
2466
+ return 0;
2467
+ sx = S->x;
2468
+ sxe = sx + --n;
2469
+ bx = b->x;
2470
+ bxe = bx + n;
2471
+ q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
2472
+ #ifdef DEBUG
2473
+ /*debug*/ if (q > 9)
2474
+ /*debug*/ Bug("oversized quotient in quorem");
2475
+ #endif
2476
+ if (q) {
2477
+ borrow = 0;
2478
+ carry = 0;
2479
+ do {
2480
+ #ifdef ULLong
2481
+ ys = *sx++ * (ULLong)q + carry;
2482
+ carry = ys >> 32;
2483
+ y = *bx - (ys & FFFFFFFF) - borrow;
2484
+ borrow = y >> 32 & (ULong)1;
2485
+ *bx++ = (ULong)(y & FFFFFFFF);
2486
+ #else
2487
+ #ifdef Pack_32
2488
+ si = *sx++;
2489
+ ys = (si & 0xffff) * q + carry;
2490
+ zs = (si >> 16) * q + (ys >> 16);
2491
+ carry = zs >> 16;
2492
+ y = (*bx & 0xffff) - (ys & 0xffff) - borrow;
2493
+ borrow = (y & 0x10000) >> 16;
2494
+ z = (*bx >> 16) - (zs & 0xffff) - borrow;
2495
+ borrow = (z & 0x10000) >> 16;
2496
+ Storeinc(bx, z, y);
2497
+ #else
2498
+ ys = *sx++ * q + carry;
2499
+ carry = ys >> 16;
2500
+ y = *bx - (ys & 0xffff) - borrow;
2501
+ borrow = (y & 0x10000) >> 16;
2502
+ *bx++ = y & 0xffff;
2503
+ #endif
2504
+ #endif
2505
+ } while (sx <= sxe);
2506
+ if (!*bxe) {
2507
+ bx = b->x;
2508
+ while (--bxe > bx && !*bxe)
2509
+ --n;
2510
+ b->wds = n;
2511
+ }
2512
+ }
2513
+ if (cmp(b, S) >= 0) {
2514
+ q++;
2515
+ borrow = 0;
2516
+ carry = 0;
2517
+ bx = b->x;
2518
+ sx = S->x;
2519
+ do {
2520
+ #ifdef ULLong
2521
+ ys = *sx++ + carry;
2522
+ carry = ys >> 32;
2523
+ y = *bx - (ys & FFFFFFFF) - borrow;
2524
+ borrow = y >> 32 & (ULong)1;
2525
+ *bx++ = (ULong)(y & FFFFFFFF);
2526
+ #else
2527
+ #ifdef Pack_32
2528
+ si = *sx++;
2529
+ ys = (si & 0xffff) + carry;
2530
+ zs = (si >> 16) + (ys >> 16);
2531
+ carry = zs >> 16;
2532
+ y = (*bx & 0xffff) - (ys & 0xffff) - borrow;
2533
+ borrow = (y & 0x10000) >> 16;
2534
+ z = (*bx >> 16) - (zs & 0xffff) - borrow;
2535
+ borrow = (z & 0x10000) >> 16;
2536
+ Storeinc(bx, z, y);
2537
+ #else
2538
+ ys = *sx++ + carry;
2539
+ carry = ys >> 16;
2540
+ y = *bx - (ys & 0xffff) - borrow;
2541
+ borrow = (y & 0x10000) >> 16;
2542
+ *bx++ = y & 0xffff;
2543
+ #endif
2544
+ #endif
2545
+ } while (sx <= sxe);
2546
+ bx = b->x;
2547
+ bxe = bx + n;
2548
+ if (!*bxe) {
2549
+ while (--bxe > bx && !*bxe)
2550
+ --n;
2551
+ b->wds = n;
2552
+ }
2553
+ }
2554
+ return q;
2555
+ }
2556
+
2557
+ #ifndef MULTIPLE_THREADS
2558
+ static char *dtoa_result;
2559
+ #endif
2560
+
2561
+ #ifndef MULTIPLE_THREADS
2562
+ static char *
2563
+ rv_alloc(int i)
2564
+ {
2565
+ return dtoa_result = MALLOC(i);
2566
+ }
2567
+ #else
2568
+ #define rv_alloc(i) MALLOC(i)
2569
+ #endif
2570
+
2571
+ static char *
2572
+ nrv_alloc(const char *s, char **rve, size_t n)
2573
+ {
2574
+ char *rv, *t;
2575
+
2576
+ t = rv = rv_alloc(n);
2577
+ if (!rv) return NULL;
2578
+ while ((*t = *s++) != 0) t++;
2579
+ if (rve)
2580
+ *rve = t;
2581
+ return rv;
2582
+ }
2583
+
2584
+ #define rv_strdup(s, rve) nrv_alloc((s), (rve), strlen(s)+1)
2585
+
2586
+ #ifndef MULTIPLE_THREADS
2587
+ /* freedtoa(s) must be used to free values s returned by dtoa
2588
+ * when MULTIPLE_THREADS is #defined. It should be used in all cases,
2589
+ * but for consistency with earlier versions of dtoa, it is optional
2590
+ * when MULTIPLE_THREADS is not defined.
2591
+ */
2592
+
2593
+ static void
2594
+ freedtoa(char *s)
2595
+ {
2596
+ FREE(s);
2597
+ }
2598
+ #endif
2599
+
2600
+ static const char INFSTR[] = "Infinity";
2601
+ static const char NANSTR[] = "NaN";
2602
+ static const char ZEROSTR[] = "0";
2603
+
2604
+ /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string.
2605
+ *
2606
+ * Inspired by "How to Print Floating-Point Numbers Accurately" by
2607
+ * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126].
2608
+ *
2609
+ * Modifications:
2610
+ * 1. Rather than iterating, we use a simple numeric overestimate
2611
+ * to determine k = floor(log10(d)). We scale relevant
2612
+ * quantities using O(log2(k)) rather than O(k) multiplications.
2613
+ * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't
2614
+ * try to generate digits strictly left to right. Instead, we
2615
+ * compute with fewer bits and propagate the carry if necessary
2616
+ * when rounding the final digit up. This is often faster.
2617
+ * 3. Under the assumption that input will be rounded nearest,
2618
+ * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22.
2619
+ * That is, we allow equality in stopping tests when the
2620
+ * round-nearest rule will give the same floating-point value
2621
+ * as would satisfaction of the stopping test with strict
2622
+ * inequality.
2623
+ * 4. We remove common factors of powers of 2 from relevant
2624
+ * quantities.
2625
+ * 5. When converting floating-point integers less than 1e16,
2626
+ * we use floating-point arithmetic rather than resorting
2627
+ * to multiple-precision integers.
2628
+ * 6. When asked to produce fewer than 15 digits, we first try
2629
+ * to get by with floating-point arithmetic; we resort to
2630
+ * multiple-precision integer arithmetic only if we cannot
2631
+ * guarantee that the floating-point calculation has given
2632
+ * the correctly rounded result. For k requested digits and
2633
+ * "uniformly" distributed input, the probability is
2634
+ * something like 10^(k-15) that we must resort to the Long
2635
+ * calculation.
2636
+ */
2637
+
2638
+ char *
2639
+ dtoa(double d_, int mode, int ndigits, int *decpt, int *sign, char **rve)
2640
+ {
2641
+ /* Arguments ndigits, decpt, sign are similar to those
2642
+ of ecvt and fcvt; trailing zeros are suppressed from
2643
+ the returned string. If not null, *rve is set to point
2644
+ to the end of the return value. If d is +-Infinity or NaN,
2645
+ then *decpt is set to 9999.
2646
+
2647
+ mode:
2648
+ 0 ==> shortest string that yields d when read in
2649
+ and rounded to nearest.
2650
+ 1 ==> like 0, but with Steele & White stopping rule;
2651
+ e.g. with IEEE P754 arithmetic , mode 0 gives
2652
+ 1e23 whereas mode 1 gives 9.999999999999999e22.
2653
+ 2 ==> max(1,ndigits) significant digits. This gives a
2654
+ return value similar to that of ecvt, except
2655
+ that trailing zeros are suppressed.
2656
+ 3 ==> through ndigits past the decimal point. This
2657
+ gives a return value similar to that from fcvt,
2658
+ except that trailing zeros are suppressed, and
2659
+ ndigits can be negative.
2660
+ 4,5 ==> similar to 2 and 3, respectively, but (in
2661
+ round-nearest mode) with the tests of mode 0 to
2662
+ possibly return a shorter string that rounds to d.
2663
+ With IEEE arithmetic and compilation with
2664
+ -DHonor_FLT_ROUNDS, modes 4 and 5 behave the same
2665
+ as modes 2 and 3 when FLT_ROUNDS != 1.
2666
+ 6-9 ==> Debugging modes similar to mode - 4: don't try
2667
+ fast floating-point estimate (if applicable).
2668
+
2669
+ Values of mode other than 0-9 are treated as mode 0.
2670
+
2671
+ Sufficient space is allocated to the return value
2672
+ to hold the suppressed trailing zeros.
2673
+ */
2674
+
2675
+ int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1,
2676
+ j, j1, k, k0, k_check, leftright, m2, m5, s2, s5,
2677
+ spec_case, try_quick, half = 0;
2678
+ Long L;
2679
+ #ifndef Sudden_Underflow
2680
+ int denorm;
2681
+ ULong x;
2682
+ #endif
2683
+ Bigint *b, *b1, *delta, *mlo = 0, *mhi = 0, *S;
2684
+ double ds;
2685
+ double_u d, d2, eps;
2686
+ char *s, *s0;
2687
+ #ifdef Honor_FLT_ROUNDS
2688
+ int rounding;
2689
+ #endif
2690
+ #ifdef SET_INEXACT
2691
+ int inexact, oldinexact;
2692
+ #endif
2693
+
2694
+ dval(d) = d_;
2695
+
2696
+ #ifndef MULTIPLE_THREADS
2697
+ if (dtoa_result) {
2698
+ freedtoa(dtoa_result);
2699
+ dtoa_result = 0;
2700
+ }
2701
+ #endif
2702
+
2703
+ if (word0(d) & Sign_bit) {
2704
+ /* set sign for everything, including 0's and NaNs */
2705
+ *sign = 1;
2706
+ word0(d) &= ~Sign_bit; /* clear sign bit */
2707
+ }
2708
+ else
2709
+ *sign = 0;
2710
+
2711
+ #if defined(IEEE_Arith) + defined(VAX)
2712
+ #ifdef IEEE_Arith
2713
+ if ((word0(d) & Exp_mask) == Exp_mask)
2714
+ #else
2715
+ if (word0(d) == 0x8000)
2716
+ #endif
2717
+ {
2718
+ /* Infinity or NaN */
2719
+ *decpt = 9999;
2720
+ #ifdef IEEE_Arith
2721
+ if (!word1(d) && !(word0(d) & 0xfffff))
2722
+ return rv_strdup(INFSTR, rve);
2723
+ #endif
2724
+ return rv_strdup(NANSTR, rve);
2725
+ }
2726
+ #endif
2727
+ #ifdef IBM
2728
+ dval(d) += 0; /* normalize */
2729
+ #endif
2730
+ if (!dval(d)) {
2731
+ *decpt = 1;
2732
+ return rv_strdup(ZEROSTR, rve);
2733
+ }
2734
+
2735
+ #ifdef SET_INEXACT
2736
+ try_quick = oldinexact = get_inexact();
2737
+ inexact = 1;
2738
+ #endif
2739
+ #ifdef Honor_FLT_ROUNDS
2740
+ if ((rounding = Flt_Rounds) >= 2) {
2741
+ if (*sign)
2742
+ rounding = rounding == 2 ? 0 : 2;
2743
+ else
2744
+ if (rounding != 2)
2745
+ rounding = 0;
2746
+ }
2747
+ #endif
2748
+
2749
+ b = d2b(dval(d), &be, &bbits);
2750
+ if (!b) return NULL;
2751
+ #ifdef Sudden_Underflow
2752
+ i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1));
2753
+ #else
2754
+ if ((i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1))) != 0) {
2755
+ #endif
2756
+ dval(d2) = dval(d);
2757
+ word0(d2) &= Frac_mask1;
2758
+ word0(d2) |= Exp_11;
2759
+ #ifdef IBM
2760
+ if (j = 11 - hi0bits(word0(d2) & Frac_mask))
2761
+ dval(d2) /= 1 << j;
2762
+ #endif
2763
+
2764
+ /* log(x) ~=~ log(1.5) + (x-1.5)/1.5
2765
+ * log10(x) = log(x) / log(10)
2766
+ * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10))
2767
+ * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2)
2768
+ *
2769
+ * This suggests computing an approximation k to log10(d) by
2770
+ *
2771
+ * k = (i - Bias)*0.301029995663981
2772
+ * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 );
2773
+ *
2774
+ * We want k to be too large rather than too small.
2775
+ * The error in the first-order Taylor series approximation
2776
+ * is in our favor, so we just round up the constant enough
2777
+ * to compensate for any error in the multiplication of
2778
+ * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077,
2779
+ * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14,
2780
+ * adding 1e-13 to the constant term more than suffices.
2781
+ * Hence we adjust the constant term to 0.1760912590558.
2782
+ * (We could get a more accurate k by invoking log10,
2783
+ * but this is probably not worthwhile.)
2784
+ */
2785
+
2786
+ i -= Bias;
2787
+ #ifdef IBM
2788
+ i <<= 2;
2789
+ i += j;
2790
+ #endif
2791
+ #ifndef Sudden_Underflow
2792
+ denorm = 0;
2793
+ }
2794
+ else {
2795
+ /* d is denormalized */
2796
+
2797
+ i = bbits + be + (Bias + (P-1) - 1);
2798
+ x = i > 32 ? word0(d) << (64 - i) | word1(d) >> (i - 32)
2799
+ : word1(d) << (32 - i);
2800
+ dval(d2) = x;
2801
+ word0(d2) -= 31*Exp_msk1; /* adjust exponent */
2802
+ i -= (Bias + (P-1) - 1) + 1;
2803
+ denorm = 1;
2804
+ }
2805
+ #endif
2806
+ ds = (dval(d2)-1.5)*0.289529654602168 + 0.1760912590558 + i*0.301029995663981;
2807
+ k = (int)ds;
2808
+ if (ds < 0. && ds != k)
2809
+ k--; /* want k = floor(ds) */
2810
+ k_check = 1;
2811
+ if (k >= 0 && k <= Ten_pmax) {
2812
+ if (dval(d) < tens[k])
2813
+ k--;
2814
+ k_check = 0;
2815
+ }
2816
+ j = bbits - i - 1;
2817
+ if (j >= 0) {
2818
+ b2 = 0;
2819
+ s2 = j;
2820
+ }
2821
+ else {
2822
+ b2 = -j;
2823
+ s2 = 0;
2824
+ }
2825
+ if (k >= 0) {
2826
+ b5 = 0;
2827
+ s5 = k;
2828
+ s2 += k;
2829
+ }
2830
+ else {
2831
+ b2 -= k;
2832
+ b5 = -k;
2833
+ s5 = 0;
2834
+ }
2835
+ if (mode < 0 || mode > 9)
2836
+ mode = 0;
2837
+
2838
+ #ifndef SET_INEXACT
2839
+ #ifdef Check_FLT_ROUNDS
2840
+ try_quick = Rounding == 1;
2841
+ #else
2842
+ try_quick = 1;
2843
+ #endif
2844
+ #endif /*SET_INEXACT*/
2845
+
2846
+ if (mode > 5) {
2847
+ mode -= 4;
2848
+ try_quick = 0;
2849
+ }
2850
+ leftright = 1;
2851
+ ilim = ilim1 = -1;
2852
+ switch (mode) {
2853
+ case 0:
2854
+ case 1:
2855
+ i = 18;
2856
+ ndigits = 0;
2857
+ break;
2858
+ case 2:
2859
+ leftright = 0;
2860
+ /* no break */
2861
+ case 4:
2862
+ if (ndigits <= 0)
2863
+ ndigits = 1;
2864
+ ilim = ilim1 = i = ndigits;
2865
+ break;
2866
+ case 3:
2867
+ leftright = 0;
2868
+ /* no break */
2869
+ case 5:
2870
+ if (ckd_add(&i, ndigits, k + 1)) { /* k + 1 should be safe */
2871
+ Bfree(b);
2872
+ return NULL;
2873
+ }
2874
+ ilim = i;
2875
+ ilim1 = i - 1;
2876
+ if (i <= 0)
2877
+ i = 1;
2878
+ }
2879
+ s = s0 = rv_alloc(i+1);
2880
+ if (!s) {
2881
+ Bfree(b);
2882
+ return NULL;
2883
+ }
2884
+
2885
+ #ifdef Honor_FLT_ROUNDS
2886
+ if (mode > 1 && rounding != 1)
2887
+ leftright = 0;
2888
+ #endif
2889
+
2890
+ if (ilim >= 0 && ilim <= Quick_max && try_quick) {
2891
+
2892
+ /* Try to get by with floating-point arithmetic. */
2893
+
2894
+ i = 0;
2895
+ dval(d2) = dval(d);
2896
+ k0 = k;
2897
+ ilim0 = ilim;
2898
+ ieps = 2; /* conservative */
2899
+ if (k > 0) {
2900
+ ds = tens[k&0xf];
2901
+ j = k >> 4;
2902
+ if (j & Bletch) {
2903
+ /* prevent overflows */
2904
+ j &= Bletch - 1;
2905
+ dval(d) /= bigtens[n_bigtens-1];
2906
+ ieps++;
2907
+ }
2908
+ for (; j; j >>= 1, i++)
2909
+ if (j & 1) {
2910
+ ieps++;
2911
+ ds *= bigtens[i];
2912
+ }
2913
+ dval(d) /= ds;
2914
+ }
2915
+ else if ((j1 = -k) != 0) {
2916
+ dval(d) *= tens[j1 & 0xf];
2917
+ for (j = j1 >> 4; j; j >>= 1, i++)
2918
+ if (j & 1) {
2919
+ ieps++;
2920
+ dval(d) *= bigtens[i];
2921
+ }
2922
+ }
2923
+ if (k_check && dval(d) < 1. && ilim > 0) {
2924
+ if (ilim1 <= 0)
2925
+ goto fast_failed;
2926
+ ilim = ilim1;
2927
+ k--;
2928
+ dval(d) *= 10.;
2929
+ ieps++;
2930
+ }
2931
+ dval(eps) = ieps*dval(d) + 7.;
2932
+ word0(eps) -= (P-1)*Exp_msk1;
2933
+ if (ilim == 0) {
2934
+ S = mhi = 0;
2935
+ dval(d) -= 5.;
2936
+ if (dval(d) > dval(eps))
2937
+ goto one_digit;
2938
+ if (dval(d) < -dval(eps))
2939
+ goto no_digits;
2940
+ goto fast_failed;
2941
+ }
2942
+ #ifndef No_leftright
2943
+ if (leftright) {
2944
+ /* Use Steele & White method of only
2945
+ * generating digits needed.
2946
+ */
2947
+ dval(eps) = 0.5/tens[ilim-1] - dval(eps);
2948
+ for (i = 0;;) {
2949
+ L = (int)dval(d);
2950
+ dval(d) -= L;
2951
+ *s++ = '0' + (int)L;
2952
+ if (dval(d) < dval(eps))
2953
+ goto ret1;
2954
+ if (1. - dval(d) < dval(eps))
2955
+ goto bump_up;
2956
+ if (++i >= ilim)
2957
+ break;
2958
+ dval(eps) *= 10.;
2959
+ dval(d) *= 10.;
2960
+ }
2961
+ }
2962
+ else {
2963
+ #endif
2964
+ /* Generate ilim digits, then fix them up. */
2965
+ dval(eps) *= tens[ilim-1];
2966
+ for (i = 1;; i++, dval(d) *= 10.) {
2967
+ L = (Long)(dval(d));
2968
+ if (!(dval(d) -= L))
2969
+ ilim = i;
2970
+ *s++ = '0' + (int)L;
2971
+ if (i == ilim) {
2972
+ if (dval(d) > 0.5 + dval(eps))
2973
+ goto bump_up;
2974
+ else if (dval(d) < 0.5 - dval(eps)) {
2975
+ while (*--s == '0') ;
2976
+ s++;
2977
+ goto ret1;
2978
+ }
2979
+ half = 1;
2980
+ if ((*(s-1) - '0') & 1) {
2981
+ goto bump_up;
2982
+ }
2983
+ break;
2984
+ }
2985
+ }
2986
+ #ifndef No_leftright
2987
+ }
2988
+ #endif
2989
+ fast_failed:
2990
+ s = s0;
2991
+ dval(d) = dval(d2);
2992
+ k = k0;
2993
+ ilim = ilim0;
2994
+ }
2995
+
2996
+ /* Do we have a "small" integer? */
2997
+
2998
+ if (be >= 0 && k <= Int_max) {
2999
+ /* Yes. */
3000
+ ds = tens[k];
3001
+ if (ndigits < 0 && ilim <= 0) {
3002
+ S = mhi = 0;
3003
+ if (ilim < 0 || dval(d) <= 5*ds)
3004
+ goto no_digits;
3005
+ goto one_digit;
3006
+ }
3007
+ for (i = 1;; i++, dval(d) *= 10.) {
3008
+ L = (Long)(dval(d) / ds);
3009
+ dval(d) -= L*ds;
3010
+ #ifdef Check_FLT_ROUNDS
3011
+ /* If FLT_ROUNDS == 2, L will usually be high by 1 */
3012
+ if (dval(d) < 0) {
3013
+ L--;
3014
+ dval(d) += ds;
3015
+ }
3016
+ #endif
3017
+ *s++ = '0' + (int)L;
3018
+ if (!dval(d)) {
3019
+ #ifdef SET_INEXACT
3020
+ inexact = 0;
3021
+ #endif
3022
+ break;
3023
+ }
3024
+ if (i == ilim) {
3025
+ #ifdef Honor_FLT_ROUNDS
3026
+ if (mode > 1)
3027
+ switch (rounding) {
3028
+ case 0: goto ret1;
3029
+ case 2: goto bump_up;
3030
+ }
3031
+ #endif
3032
+ dval(d) += dval(d);
3033
+ if (dval(d) > ds || (dval(d) == ds && (L & 1))) {
3034
+ bump_up:
3035
+ while (*--s == '9')
3036
+ if (s == s0) {
3037
+ k++;
3038
+ *s = '0';
3039
+ break;
3040
+ }
3041
+ ++*s++;
3042
+ }
3043
+ break;
3044
+ }
3045
+ }
3046
+ goto ret1;
3047
+ }
3048
+
3049
+ m2 = b2;
3050
+ m5 = b5;
3051
+ if (leftright) {
3052
+ i =
3053
+ #ifndef Sudden_Underflow
3054
+ denorm ? be + (Bias + (P-1) - 1 + 1) :
3055
+ #endif
3056
+ #ifdef IBM
3057
+ 1 + 4*P - 3 - bbits + ((bbits + be - 1) & 3);
3058
+ #else
3059
+ 1 + P - bbits;
3060
+ #endif
3061
+ b2 += i;
3062
+ s2 += i;
3063
+ mhi = i2b(1);
3064
+ if (!mhi) goto nomem;
3065
+ }
3066
+ if (m2 > 0 && s2 > 0) {
3067
+ i = m2 < s2 ? m2 : s2;
3068
+ b2 -= i;
3069
+ m2 -= i;
3070
+ s2 -= i;
3071
+ }
3072
+ if (b5 > 0) {
3073
+ if (leftright) {
3074
+ if (m5 > 0) {
3075
+ mhi = pow5mult(mhi, m5);
3076
+ if (!mhi) goto nomem;
3077
+ b1 = mult(mhi, b);
3078
+ Bfree(b);
3079
+ b = b1;
3080
+ if (!b) goto nomem;
3081
+ }
3082
+ if ((j = b5 - m5) != 0) {
3083
+ b = pow5mult(b, j);
3084
+ if (!b) goto nomem;
3085
+ }
3086
+ }
3087
+ else {
3088
+ b = pow5mult(b, b5);
3089
+ if (!b) goto nomem;
3090
+ }
3091
+ }
3092
+ S = i2b(1);
3093
+ if (!S) goto nomem;
3094
+ if (s5 > 0) {
3095
+ S = pow5mult(S, s5);
3096
+ if (!S) goto nomem;
3097
+ }
3098
+
3099
+ /* Check for special case that d is a normalized power of 2. */
3100
+
3101
+ spec_case = 0;
3102
+ if ((mode < 2 || leftright)
3103
+ #ifdef Honor_FLT_ROUNDS
3104
+ && rounding == 1
3105
+ #endif
3106
+ ) {
3107
+ if (!word1(d) && !(word0(d) & Bndry_mask)
3108
+ #ifndef Sudden_Underflow
3109
+ && word0(d) & (Exp_mask & ~Exp_msk1)
3110
+ #endif
3111
+ ) {
3112
+ /* The special case */
3113
+ b2 += Log2P;
3114
+ s2 += Log2P;
3115
+ spec_case = 1;
3116
+ }
3117
+ }
3118
+
3119
+ /* Arrange for convenient computation of quotients:
3120
+ * shift left if necessary so divisor has 4 leading 0 bits.
3121
+ *
3122
+ * Perhaps we should just compute leading 28 bits of S once
3123
+ * and for all and pass them and a shift to quorem, so it
3124
+ * can do shifts and ors to compute the numerator for q.
3125
+ */
3126
+ #ifdef Pack_32
3127
+ if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f) != 0)
3128
+ i = 32 - i;
3129
+ #else
3130
+ if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0xf) != 0)
3131
+ i = 16 - i;
3132
+ #endif
3133
+ if (i > 4) {
3134
+ i -= 4;
3135
+ b2 += i;
3136
+ m2 += i;
3137
+ s2 += i;
3138
+ }
3139
+ else if (i < 4) {
3140
+ i += 28;
3141
+ b2 += i;
3142
+ m2 += i;
3143
+ s2 += i;
3144
+ }
3145
+ if (b2 > 0) {
3146
+ b = lshift(b, b2);
3147
+ if (!b) goto nomem;
3148
+ }
3149
+ if (s2 > 0) {
3150
+ S = lshift(S, s2);
3151
+ if (!S) goto nomem;
3152
+ }
3153
+ if (k_check) {
3154
+ if (cmp(b,S) < 0) {
3155
+ k--;
3156
+ b = multadd(b, 10, 0); /* we botched the k estimate */
3157
+ if (!b) goto nomem;
3158
+ if (leftright) {
3159
+ mhi = multadd(mhi, 10, 0);
3160
+ if (!mhi) goto nomem;
3161
+ }
3162
+ ilim = ilim1;
3163
+ }
3164
+ }
3165
+ if (ilim <= 0 && (mode == 3 || mode == 5)) {
3166
+ if (ilim < 0 || cmp(b,S = multadd(S,5,0)) <= 0) {
3167
+ /* no digits, fcvt style */
3168
+ no_digits:
3169
+ k = -1 - ndigits;
3170
+ goto ret;
3171
+ }
3172
+ one_digit:
3173
+ *s++ = '1';
3174
+ k++;
3175
+ goto ret;
3176
+ }
3177
+ if (leftright) {
3178
+ if (m2 > 0) {
3179
+ mhi = lshift(mhi, m2);
3180
+ if (!mhi) goto nomem;
3181
+ }
3182
+
3183
+ /* Compute mlo -- check for special case
3184
+ * that d is a normalized power of 2.
3185
+ */
3186
+
3187
+ mlo = mhi;
3188
+ if (spec_case) {
3189
+ mhi = Balloc(mhi->k);
3190
+ if (!mhi) goto nomem;
3191
+ Bcopy(mhi, mlo);
3192
+ mhi = lshift(mhi, Log2P);
3193
+ if (!mhi) goto nomem;
3194
+ }
3195
+
3196
+ for (i = 1;;i++) {
3197
+ dig = quorem(b,S) + '0';
3198
+ /* Do we yet have the shortest decimal string
3199
+ * that will round to d?
3200
+ */
3201
+ j = cmp(b, mlo);
3202
+ delta = diff(S, mhi);
3203
+ if (!delta) goto nomem;
3204
+ j1 = delta->sign ? 1 : cmp(b, delta);
3205
+ Bfree(delta);
3206
+ #ifndef ROUND_BIASED
3207
+ if (j1 == 0 && mode != 1 && !(word1(d) & 1)
3208
+ #ifdef Honor_FLT_ROUNDS
3209
+ && rounding >= 1
3210
+ #endif
3211
+ ) {
3212
+ if (dig == '9')
3213
+ goto round_9_up;
3214
+ if (j > 0)
3215
+ dig++;
3216
+ #ifdef SET_INEXACT
3217
+ else if (!b->x[0] && b->wds <= 1)
3218
+ inexact = 0;
3219
+ #endif
3220
+ *s++ = dig;
3221
+ goto ret;
3222
+ }
3223
+ #endif
3224
+ if (j < 0 || (j == 0 && mode != 1
3225
+ #ifndef ROUND_BIASED
3226
+ && !(word1(d) & 1)
3227
+ #endif
3228
+ )) {
3229
+ if (!b->x[0] && b->wds <= 1) {
3230
+ #ifdef SET_INEXACT
3231
+ inexact = 0;
3232
+ #endif
3233
+ goto accept_dig;
3234
+ }
3235
+ #ifdef Honor_FLT_ROUNDS
3236
+ if (mode > 1)
3237
+ switch (rounding) {
3238
+ case 0: goto accept_dig;
3239
+ case 2: goto keep_dig;
3240
+ }
3241
+ #endif /*Honor_FLT_ROUNDS*/
3242
+ if (j1 > 0) {
3243
+ b = lshift(b, 1);
3244
+ if (!b) goto nomem;
3245
+ j1 = cmp(b, S);
3246
+ if ((j1 > 0 || (j1 == 0 && (dig & 1))) && dig++ == '9')
3247
+ goto round_9_up;
3248
+ }
3249
+ accept_dig:
3250
+ *s++ = dig;
3251
+ goto ret;
3252
+ }
3253
+ if (j1 > 0) {
3254
+ #ifdef Honor_FLT_ROUNDS
3255
+ if (!rounding)
3256
+ goto accept_dig;
3257
+ #endif
3258
+ if (dig == '9') { /* possible if i == 1 */
3259
+ round_9_up:
3260
+ *s++ = '9';
3261
+ goto roundoff;
3262
+ }
3263
+ *s++ = dig + 1;
3264
+ goto ret;
3265
+ }
3266
+ #ifdef Honor_FLT_ROUNDS
3267
+ keep_dig:
3268
+ #endif
3269
+ *s++ = dig;
3270
+ if (i == ilim)
3271
+ break;
3272
+ b = multadd(b, 10, 0);
3273
+ if (!b) goto nomem;
3274
+ if (mlo == mhi) {
3275
+ mlo = mhi = multadd(mhi, 10, 0);
3276
+ if (!mlo) goto nomem;
3277
+ }
3278
+ else {
3279
+ mlo = multadd(mlo, 10, 0);
3280
+ if (!mlo) goto nomem;
3281
+ mhi = multadd(mhi, 10, 0);
3282
+ if (!mhi) goto nomem;
3283
+ }
3284
+ }
3285
+ }
3286
+ else
3287
+ for (i = 1;; i++) {
3288
+ *s++ = dig = quorem(b,S) + '0';
3289
+ if (!b->x[0] && b->wds <= 1) {
3290
+ #ifdef SET_INEXACT
3291
+ inexact = 0;
3292
+ #endif
3293
+ goto ret;
3294
+ }
3295
+ if (i >= ilim)
3296
+ break;
3297
+ b = multadd(b, 10, 0);
3298
+ if (!b) goto nomem;
3299
+ }
3300
+
3301
+ /* Round off last digit */
3302
+
3303
+ #ifdef Honor_FLT_ROUNDS
3304
+ switch (rounding) {
3305
+ case 0: goto trimzeros;
3306
+ case 2: goto roundoff;
3307
+ }
3308
+ #endif
3309
+ b = lshift(b, 1);
3310
+ if (!b) goto nomem;
3311
+ j = cmp(b, S);
3312
+ if (j > 0 || (j == 0 && (dig & 1))) {
3313
+ roundoff:
3314
+ while (*--s == '9')
3315
+ if (s == s0) {
3316
+ k++;
3317
+ *s++ = '1';
3318
+ goto ret;
3319
+ }
3320
+ if (!half || (*s - '0') & 1)
3321
+ ++*s;
3322
+ }
3323
+ else {
3324
+ while (*--s == '0') ;
3325
+ }
3326
+ s++;
3327
+ ret:
3328
+ Bfree(S);
3329
+ if (mhi) {
3330
+ if (mlo && mlo != mhi)
3331
+ Bfree(mlo);
3332
+ Bfree(mhi);
3333
+ }
3334
+ ret1:
3335
+ #ifdef SET_INEXACT
3336
+ if (inexact) {
3337
+ if (!oldinexact) {
3338
+ word0(d) = Exp_1 + (70 << Exp_shift);
3339
+ word1(d) = 0;
3340
+ dval(d) += 1.;
3341
+ }
3342
+ }
3343
+ else if (!oldinexact)
3344
+ clear_inexact();
3345
+ #endif
3346
+ Bfree(b);
3347
+ *s = 0;
3348
+ *decpt = k + 1;
3349
+ if (rve)
3350
+ *rve = s;
3351
+ return s0;
3352
+ nomem:
3353
+ if (S) Bfree(S);
3354
+ if (mhi) {
3355
+ if (mlo && mlo != mhi)
3356
+ Bfree(mlo);
3357
+ Bfree(mhi);
3358
+ }
3359
+ if (b) Bfree(b);
3360
+ FREE(s0);
3361
+ return NULL;
3362
+ }
3363
+
3364
+ /*-
3365
+ * Copyright (c) 2004-2008 David Schultz <das@FreeBSD.ORG>
3366
+ * All rights reserved.
3367
+ *
3368
+ * Redistribution and use in source and binary forms, with or without
3369
+ * modification, are permitted provided that the following conditions
3370
+ * are met:
3371
+ * 1. Redistributions of source code must retain the above copyright
3372
+ * notice, this list of conditions and the following disclaimer.
3373
+ * 2. Redistributions in binary form must reproduce the above copyright
3374
+ * notice, this list of conditions and the following disclaimer in the
3375
+ * documentation and/or other materials provided with the distribution.
3376
+ *
3377
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
3378
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3379
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3380
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
3381
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3382
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3383
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3384
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3385
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3386
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3387
+ * SUCH DAMAGE.
3388
+ */
3389
+
3390
+ #define DBL_MANH_SIZE 20
3391
+ #define DBL_MANL_SIZE 32
3392
+ #define DBL_ADJ (DBL_MAX_EXP - 2)
3393
+ #define SIGFIGS ((DBL_MANT_DIG + 3) / 4 + 1)
3394
+ #define dexp_get(u) ((int)(word0(u) >> Exp_shift) & ~Exp_msk1)
3395
+ #define dexp_set(u,v) (word0(u) = (((int)(word0(u)) & ~Exp_mask) | ((v) << Exp_shift)))
3396
+ #define dmanh_get(u) ((uint32_t)(word0(u) & Frac_mask))
3397
+ #define dmanl_get(u) ((uint32_t)word1(u))
3398
+
3399
+
3400
+ /*
3401
+ * This procedure converts a double-precision number in IEEE format
3402
+ * into a string of hexadecimal digits and an exponent of 2. Its
3403
+ * behavior is bug-for-bug compatible with dtoa() in mode 2, with the
3404
+ * following exceptions:
3405
+ *
3406
+ * - An ndigits < 0 causes it to use as many digits as necessary to
3407
+ * represent the number exactly.
3408
+ * - The additional xdigs argument should point to either the string
3409
+ * "0123456789ABCDEF" or the string "0123456789abcdef", depending on
3410
+ * which case is desired.
3411
+ * - This routine does not repeat dtoa's mistake of setting decpt
3412
+ * to 9999 in the case of an infinity or NaN. INT_MAX is used
3413
+ * for this purpose instead.
3414
+ *
3415
+ * Note that the C99 standard does not specify what the leading digit
3416
+ * should be for non-zero numbers. For instance, 0x1.3p3 is the same
3417
+ * as 0x2.6p2 is the same as 0x4.cp3. This implementation always makes
3418
+ * the leading digit a 1. This ensures that the exponent printed is the
3419
+ * actual base-2 exponent, i.e., ilogb(d).
3420
+ *
3421
+ * Inputs: d, xdigs, ndigits
3422
+ * Outputs: decpt, sign, rve
3423
+ */
3424
+ char *
3425
+ hdtoa(double d, const char *xdigs, int ndigits, int *decpt, int *sign, char **rve)
3426
+ {
3427
+ U u;
3428
+ char *s, *s0;
3429
+ int bufsize;
3430
+ uint32_t manh, manl;
3431
+
3432
+ u.d = d;
3433
+ if (word0(u) & Sign_bit) {
3434
+ /* set sign for everything, including 0's and NaNs */
3435
+ *sign = 1;
3436
+ word0(u) &= ~Sign_bit; /* clear sign bit */
3437
+ }
3438
+ else
3439
+ *sign = 0;
3440
+
3441
+ if (isinf(d)) { /* FP_INFINITE */
3442
+ *decpt = INT_MAX;
3443
+ return rv_strdup(INFSTR, rve);
3444
+ }
3445
+ else if (isnan(d)) { /* FP_NAN */
3446
+ *decpt = INT_MAX;
3447
+ return rv_strdup(NANSTR, rve);
3448
+ }
3449
+ else if (d == 0.0) { /* FP_ZERO */
3450
+ *decpt = 1;
3451
+ return rv_strdup(ZEROSTR, rve);
3452
+ }
3453
+ else if (dexp_get(u)) { /* FP_NORMAL */
3454
+ *decpt = dexp_get(u) - DBL_ADJ;
3455
+ }
3456
+ else { /* FP_SUBNORMAL */
3457
+ u.d *= 5.363123171977039e+154 /* 0x1p514 */;
3458
+ *decpt = dexp_get(u) - (514 + DBL_ADJ);
3459
+ }
3460
+
3461
+ if (ndigits == 0) /* dtoa() compatibility */
3462
+ ndigits = 1;
3463
+
3464
+ /*
3465
+ * If ndigits < 0, we are expected to auto-size, so we allocate
3466
+ * enough space for all the digits.
3467
+ */
3468
+ bufsize = (ndigits > 0) ? ndigits : SIGFIGS;
3469
+ s0 = rv_alloc(bufsize+1);
3470
+ if (!s0) return NULL;
3471
+
3472
+ /* Round to the desired number of digits. */
3473
+ if (SIGFIGS > ndigits && ndigits > 0) {
3474
+ float redux = 1.0f;
3475
+ int offset = 4 * ndigits + DBL_MAX_EXP - 4 - DBL_MANT_DIG;
3476
+ dexp_set(u, offset);
3477
+ u.d += redux;
3478
+ u.d -= redux;
3479
+ *decpt += dexp_get(u) - offset;
3480
+ }
3481
+
3482
+ manh = dmanh_get(u);
3483
+ manl = dmanl_get(u);
3484
+ *s0 = '1';
3485
+ for (s = s0 + 1; s < s0 + bufsize; s++) {
3486
+ *s = xdigs[(manh >> (DBL_MANH_SIZE - 4)) & 0xf];
3487
+ manh = (manh << 4) | (manl >> (DBL_MANL_SIZE - 4));
3488
+ manl <<= 4;
3489
+ }
3490
+
3491
+ /* If ndigits < 0, we are expected to auto-size the precision. */
3492
+ if (ndigits < 0) {
3493
+ for (ndigits = SIGFIGS; s0[ndigits - 1] == '0'; ndigits--)
3494
+ ;
3495
+ }
3496
+
3497
+ s = s0 + ndigits;
3498
+ *s = '\0';
3499
+ if (rve != NULL)
3500
+ *rve = s;
3501
+ return (s0);
3502
+ }
3503
+
3504
+ #ifdef __cplusplus
3505
+ #if 0
3506
+ { /* satisfy cc-mode */
3507
+ #endif
3508
+ }
3509
+ #endif