koffi 2.3.6 → 2.3.8

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 (280) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +2 -2
  3. package/src/cnoke/cnoke.js +3 -7
  4. package/src/cnoke/src/builder.js +7 -4
  5. package/src/cnoke/src/index.js +2 -2
  6. package/src/koffi/build/2.3.8/koffi_darwin_arm64/koffi.node +0 -0
  7. package/src/koffi/build/2.3.8/koffi_darwin_x64/koffi.node +0 -0
  8. package/src/koffi/build/2.3.8/koffi_freebsd_arm64/koffi.node +0 -0
  9. package/src/koffi/build/2.3.8/koffi_freebsd_ia32/koffi.node +0 -0
  10. package/src/koffi/build/2.3.8/koffi_freebsd_x64/koffi.node +0 -0
  11. package/src/koffi/build/2.3.8/koffi_linux_arm32hf/koffi.node +0 -0
  12. package/src/koffi/build/2.3.8/koffi_linux_arm64/koffi.node +0 -0
  13. package/src/koffi/build/2.3.8/koffi_linux_ia32/koffi.node +0 -0
  14. package/src/koffi/build/2.3.8/koffi_linux_riscv64hf64/koffi.node +0 -0
  15. package/src/koffi/build/2.3.8/koffi_linux_x64/koffi.node +0 -0
  16. package/src/koffi/build/2.3.8/koffi_openbsd_ia32/koffi.node +0 -0
  17. package/src/koffi/build/2.3.8/koffi_openbsd_x64/koffi.node +0 -0
  18. package/src/koffi/build/2.3.8/koffi_win32_arm64/koffi.node +0 -0
  19. package/src/koffi/build/2.3.8/koffi_win32_ia32/koffi.node +0 -0
  20. package/src/koffi/build/2.3.8/koffi_win32_x64/koffi.node +0 -0
  21. package/src/koffi/src/abi_arm64.cc +8 -2
  22. package/src/koffi/src/abi_x64_win.cc +8 -2
  23. package/src/koffi/src/abi_x86.cc +8 -2
  24. package/src/koffi/src/ffi.cc +3 -22
  25. package/src/koffi/src/index.d.ts +1 -1
  26. package/src/koffi/src/index.js +1 -0
  27. package/src/koffi/src/win32.hh +10 -4
  28. package/src/koffi/build/2.3.6/koffi_darwin_arm64/koffi.node +0 -0
  29. package/src/koffi/build/2.3.6/koffi_darwin_x64/koffi.node +0 -0
  30. package/src/koffi/build/2.3.6/koffi_freebsd_arm64/koffi.node +0 -0
  31. package/src/koffi/build/2.3.6/koffi_freebsd_ia32/koffi.node +0 -0
  32. package/src/koffi/build/2.3.6/koffi_freebsd_x64/koffi.node +0 -0
  33. package/src/koffi/build/2.3.6/koffi_linux_arm32hf/koffi.node +0 -0
  34. package/src/koffi/build/2.3.6/koffi_linux_arm64/koffi.node +0 -0
  35. package/src/koffi/build/2.3.6/koffi_linux_ia32/koffi.node +0 -0
  36. package/src/koffi/build/2.3.6/koffi_linux_riscv64hf64/koffi.node +0 -0
  37. package/src/koffi/build/2.3.6/koffi_linux_x64/koffi.node +0 -0
  38. package/src/koffi/build/2.3.6/koffi_openbsd_ia32/koffi.node +0 -0
  39. package/src/koffi/build/2.3.6/koffi_openbsd_x64/koffi.node +0 -0
  40. package/src/koffi/build/2.3.6/koffi_win32_arm64/koffi.node +0 -0
  41. package/src/koffi/build/2.3.6/koffi_win32_arm64/koffi.pdb +0 -0
  42. package/src/koffi/build/2.3.6/koffi_win32_ia32/koffi.node +0 -0
  43. package/src/koffi/build/2.3.6/koffi_win32_ia32/koffi.pdb +0 -0
  44. package/src/koffi/build/2.3.6/koffi_win32_x64/koffi.node +0 -0
  45. package/src/koffi/build/2.3.6/koffi_win32_x64/koffi.pdb +0 -0
  46. package/vendor/brotli/BUILD +0 -144
  47. package/vendor/brotli/CMakeLists.txt +0 -421
  48. package/vendor/brotli/CONTRIBUTING.md +0 -27
  49. package/vendor/brotli/LICENSE +0 -19
  50. package/vendor/brotli/MANIFEST.in +0 -17
  51. package/vendor/brotli/Makefile +0 -55
  52. package/vendor/brotli/Makefile.am +0 -38
  53. package/vendor/brotli/README +0 -15
  54. package/vendor/brotli/README.md +0 -104
  55. package/vendor/brotli/WORKSPACE +0 -21
  56. package/vendor/brotli/bootstrap +0 -35
  57. package/vendor/brotli/c/common/constants.c +0 -15
  58. package/vendor/brotli/c/common/constants.h +0 -200
  59. package/vendor/brotli/c/common/context.c +0 -156
  60. package/vendor/brotli/c/common/context.h +0 -113
  61. package/vendor/brotli/c/common/dictionary.c +0 -5914
  62. package/vendor/brotli/c/common/dictionary.h +0 -64
  63. package/vendor/brotli/c/common/platform.c +0 -22
  64. package/vendor/brotli/c/common/platform.h +0 -596
  65. package/vendor/brotli/c/common/transform.c +0 -291
  66. package/vendor/brotli/c/common/transform.h +0 -85
  67. package/vendor/brotli/c/common/version.h +0 -26
  68. package/vendor/brotli/c/dec/bit_reader.c +0 -76
  69. package/vendor/brotli/c/dec/bit_reader.h +0 -351
  70. package/vendor/brotli/c/dec/decode.c +0 -2608
  71. package/vendor/brotli/c/dec/huffman.c +0 -339
  72. package/vendor/brotli/c/dec/huffman.h +0 -121
  73. package/vendor/brotli/c/dec/prefix.h +0 -732
  74. package/vendor/brotli/c/dec/state.c +0 -159
  75. package/vendor/brotli/c/dec/state.h +0 -365
  76. package/vendor/brotli/c/enc/backward_references.c +0 -145
  77. package/vendor/brotli/c/enc/backward_references.h +0 -39
  78. package/vendor/brotli/c/enc/backward_references_hq.c +0 -843
  79. package/vendor/brotli/c/enc/backward_references_hq.h +0 -95
  80. package/vendor/brotli/c/enc/backward_references_inc.h +0 -163
  81. package/vendor/brotli/c/enc/bit_cost.c +0 -35
  82. package/vendor/brotli/c/enc/bit_cost.h +0 -63
  83. package/vendor/brotli/c/enc/bit_cost_inc.h +0 -127
  84. package/vendor/brotli/c/enc/block_encoder_inc.h +0 -34
  85. package/vendor/brotli/c/enc/block_splitter.c +0 -194
  86. package/vendor/brotli/c/enc/block_splitter.h +0 -51
  87. package/vendor/brotli/c/enc/block_splitter_inc.h +0 -440
  88. package/vendor/brotli/c/enc/brotli_bit_stream.c +0 -1314
  89. package/vendor/brotli/c/enc/brotli_bit_stream.h +0 -84
  90. package/vendor/brotli/c/enc/cluster.c +0 -56
  91. package/vendor/brotli/c/enc/cluster.h +0 -48
  92. package/vendor/brotli/c/enc/cluster_inc.h +0 -320
  93. package/vendor/brotli/c/enc/command.c +0 -28
  94. package/vendor/brotli/c/enc/command.h +0 -190
  95. package/vendor/brotli/c/enc/compress_fragment.c +0 -790
  96. package/vendor/brotli/c/enc/compress_fragment.h +0 -61
  97. package/vendor/brotli/c/enc/compress_fragment_two_pass.c +0 -645
  98. package/vendor/brotli/c/enc/compress_fragment_two_pass.h +0 -54
  99. package/vendor/brotli/c/enc/dictionary_hash.c +0 -1846
  100. package/vendor/brotli/c/enc/dictionary_hash.h +0 -25
  101. package/vendor/brotli/c/enc/encode.c +0 -1927
  102. package/vendor/brotli/c/enc/encoder_dict.c +0 -33
  103. package/vendor/brotli/c/enc/encoder_dict.h +0 -43
  104. package/vendor/brotli/c/enc/entropy_encode.c +0 -503
  105. package/vendor/brotli/c/enc/entropy_encode.h +0 -122
  106. package/vendor/brotli/c/enc/entropy_encode_static.h +0 -539
  107. package/vendor/brotli/c/enc/fast_log.c +0 -105
  108. package/vendor/brotli/c/enc/fast_log.h +0 -66
  109. package/vendor/brotli/c/enc/find_match_length.h +0 -79
  110. package/vendor/brotli/c/enc/hash.h +0 -488
  111. package/vendor/brotli/c/enc/hash_composite_inc.h +0 -125
  112. package/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +0 -293
  113. package/vendor/brotli/c/enc/hash_longest_match64_inc.h +0 -267
  114. package/vendor/brotli/c/enc/hash_longest_match_inc.h +0 -262
  115. package/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +0 -266
  116. package/vendor/brotli/c/enc/hash_rolling_inc.h +0 -212
  117. package/vendor/brotli/c/enc/hash_to_binary_tree_inc.h +0 -329
  118. package/vendor/brotli/c/enc/histogram.c +0 -100
  119. package/vendor/brotli/c/enc/histogram.h +0 -63
  120. package/vendor/brotli/c/enc/histogram_inc.h +0 -51
  121. package/vendor/brotli/c/enc/literal_cost.c +0 -175
  122. package/vendor/brotli/c/enc/literal_cost.h +0 -30
  123. package/vendor/brotli/c/enc/memory.c +0 -170
  124. package/vendor/brotli/c/enc/memory.h +0 -114
  125. package/vendor/brotli/c/enc/metablock.c +0 -663
  126. package/vendor/brotli/c/enc/metablock.h +0 -105
  127. package/vendor/brotli/c/enc/metablock_inc.h +0 -183
  128. package/vendor/brotli/c/enc/params.h +0 -46
  129. package/vendor/brotli/c/enc/prefix.h +0 -53
  130. package/vendor/brotli/c/enc/quality.h +0 -165
  131. package/vendor/brotli/c/enc/ringbuffer.h +0 -167
  132. package/vendor/brotli/c/enc/static_dict.c +0 -486
  133. package/vendor/brotli/c/enc/static_dict.h +0 -40
  134. package/vendor/brotli/c/enc/static_dict_lut.h +0 -5864
  135. package/vendor/brotli/c/enc/utf8_util.c +0 -85
  136. package/vendor/brotli/c/enc/utf8_util.h +0 -32
  137. package/vendor/brotli/c/enc/write_bits.h +0 -87
  138. package/vendor/brotli/c/include/brotli/decode.h +0 -344
  139. package/vendor/brotli/c/include/brotli/encode.h +0 -448
  140. package/vendor/brotli/c/include/brotli/port.h +0 -288
  141. package/vendor/brotli/c/include/brotli/types.h +0 -83
  142. package/vendor/brotli/c/tools/brotli.c +0 -1116
  143. package/vendor/brotli/c/tools/brotli.md +0 -107
  144. package/vendor/brotli/compiler_config_setting.bzl +0 -28
  145. package/vendor/brotli/configure +0 -8
  146. package/vendor/brotli/configure-cmake +0 -318
  147. package/vendor/brotli/configure.ac +0 -14
  148. package/vendor/brotli/docs/brotli.1 +0 -132
  149. package/vendor/brotli/docs/constants.h.3 +0 -47
  150. package/vendor/brotli/docs/decode.h.3 +0 -415
  151. package/vendor/brotli/docs/encode.h.3 +0 -586
  152. package/vendor/brotli/docs/types.h.3 +0 -117
  153. package/vendor/brotli/premake5.lua +0 -78
  154. package/vendor/brotli/python/Makefile +0 -57
  155. package/vendor/brotli/python/README.md +0 -54
  156. package/vendor/brotli/python/_brotli.cc +0 -753
  157. package/vendor/brotli/python/bro.py +0 -160
  158. package/vendor/brotli/python/brotli.py +0 -56
  159. package/vendor/brotli/python/tests/__init__.py +0 -0
  160. package/vendor/brotli/python/tests/_test_utils.py +0 -112
  161. package/vendor/brotli/python/tests/bro_test.py +0 -102
  162. package/vendor/brotli/python/tests/compress_test.py +0 -41
  163. package/vendor/brotli/python/tests/compressor_test.py +0 -94
  164. package/vendor/brotli/python/tests/decompress_test.py +0 -42
  165. package/vendor/brotli/python/tests/decompressor_test.py +0 -59
  166. package/vendor/brotli/scripts/libbrotlicommon.pc.in +0 -11
  167. package/vendor/brotli/scripts/libbrotlidec.pc.in +0 -12
  168. package/vendor/brotli/scripts/libbrotlienc.pc.in +0 -12
  169. package/vendor/brotli/scripts/sources.lst +0 -104
  170. package/vendor/brotli/setup.cfg +0 -5
  171. package/vendor/brotli/setup.py +0 -293
  172. package/vendor/brotli/tests/Makefile +0 -17
  173. package/vendor/brotli/tests/compatibility_test.sh +0 -25
  174. package/vendor/brotli/tests/roundtrip_test.sh +0 -36
  175. package/vendor/brotli/tests/run-compatibility-test.cmake +0 -31
  176. package/vendor/brotli/tests/run-roundtrip-test.cmake +0 -36
  177. package/vendor/brotli/tests/testdata/empty +0 -0
  178. package/vendor/brotli/tests/testdata/empty.compressed +0 -1
  179. package/vendor/brotli/tests/testdata/ukkonooa +0 -1
  180. package/vendor/brotli/tests/testdata/ukkonooa.compressed +0 -0
  181. package/vendor/dragonbox/CMakeLists.txt +0 -123
  182. package/vendor/dragonbox/LICENSE-Apache2-LLVM +0 -218
  183. package/vendor/dragonbox/LICENSE-Boost +0 -23
  184. package/vendor/dragonbox/README.md +0 -277
  185. package/vendor/dragonbox/cmake/dragonboxConfig.cmake +0 -1
  186. package/vendor/dragonbox/include/dragonbox/dragonbox.h +0 -2674
  187. package/vendor/dragonbox/include/dragonbox/dragonbox_to_chars.h +0 -108
  188. package/vendor/dragonbox/other_files/Dragonbox.pdf +0 -0
  189. package/vendor/dragonbox/other_files/Dragonbox_old.pdf +0 -0
  190. package/vendor/dragonbox/other_files/milo_benchmark.png +0 -0
  191. package/vendor/dragonbox/other_files/unknown_win64_vc2019.html +0 -540
  192. package/vendor/dragonbox/other_files/unknown_win64_vc2019_randomdigit_time.png +0 -0
  193. package/vendor/dragonbox/source/dragonbox_to_chars.cpp +0 -303
  194. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/CMakeLists.txt +0 -24
  195. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.cpp +0 -238
  196. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.h +0 -95
  197. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/grisu_exact.h +0 -2666
  198. package/vendor/dragonbox/subproject/3rdparty/ryu/CMakeLists.txt +0 -16
  199. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/common.h +0 -114
  200. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s.c +0 -509
  201. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_full_table.h +0 -367
  202. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_intrinsics.h +0 -357
  203. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/digit_table.h +0 -35
  204. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s.c +0 -345
  205. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_full_table.h +0 -55
  206. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_intrinsics.h +0 -128
  207. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/ryu.h +0 -46
  208. package/vendor/dragonbox/subproject/3rdparty/schubfach/CMakeLists.txt +0 -22
  209. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.cc +0 -699
  210. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.h +0 -31
  211. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.cc +0 -1354
  212. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.h +0 -31
  213. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/example_shaded_plots.m +0 -68
  214. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/license.txt +0 -25
  215. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution.m +0 -92
  216. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution_prctile.m +0 -121
  217. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_histogram_shaded.m +0 -99
  218. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_shaded.m +0 -93
  219. package/vendor/dragonbox/subproject/benchmark/CMakeLists.txt +0 -65
  220. package/vendor/dragonbox/subproject/benchmark/include/benchmark.h +0 -40
  221. package/vendor/dragonbox/subproject/benchmark/matlab/plot_benchmarks.m +0 -22
  222. package/vendor/dragonbox/subproject/benchmark/matlab/plot_digit_benchmark.m +0 -78
  223. package/vendor/dragonbox/subproject/benchmark/matlab/plot_uniform_benchmark.m +0 -95
  224. package/vendor/dragonbox/subproject/benchmark/results/digits_benchmark_binary32_clang.png +0 -0
  225. package/vendor/dragonbox/subproject/benchmark/results/digits_benchmark_binary32_msvc.png +0 -0
  226. package/vendor/dragonbox/subproject/benchmark/results/digits_benchmark_binary64_clang.png +0 -0
  227. package/vendor/dragonbox/subproject/benchmark/results/digits_benchmark_binary64_msvc.png +0 -0
  228. package/vendor/dragonbox/subproject/benchmark/results/uniform_benchmark_binary32_clang.png +0 -0
  229. package/vendor/dragonbox/subproject/benchmark/results/uniform_benchmark_binary32_msvc.png +0 -0
  230. package/vendor/dragonbox/subproject/benchmark/results/uniform_benchmark_binary64_clang.png +0 -0
  231. package/vendor/dragonbox/subproject/benchmark/results/uniform_benchmark_binary64_msvc.png +0 -0
  232. package/vendor/dragonbox/subproject/benchmark/source/benchmark.cpp +0 -238
  233. package/vendor/dragonbox/subproject/benchmark/source/dragonbox.cpp +0 -30
  234. package/vendor/dragonbox/subproject/benchmark/source/grisu_exact.cpp +0 -36
  235. package/vendor/dragonbox/subproject/benchmark/source/ryu.cpp +0 -27
  236. package/vendor/dragonbox/subproject/benchmark/source/schubfach.cpp +0 -31
  237. package/vendor/dragonbox/subproject/common/CMakeLists.txt +0 -42
  238. package/vendor/dragonbox/subproject/common/include/best_rational_approx.h +0 -97
  239. package/vendor/dragonbox/subproject/common/include/big_uint.h +0 -218
  240. package/vendor/dragonbox/subproject/common/include/continued_fractions.h +0 -174
  241. package/vendor/dragonbox/subproject/common/include/good_rational_approx.h +0 -267
  242. package/vendor/dragonbox/subproject/common/include/random_float.h +0 -182
  243. package/vendor/dragonbox/subproject/common/include/rational_continued_fractions.h +0 -57
  244. package/vendor/dragonbox/subproject/common/source/big_uint.cpp +0 -602
  245. package/vendor/dragonbox/subproject/meta/CMakeLists.txt +0 -41
  246. package/vendor/dragonbox/subproject/meta/results/binary32_generated_cache.txt +0 -82
  247. package/vendor/dragonbox/subproject/meta/results/binary64_compressed_cache_error_table.txt +0 -10
  248. package/vendor/dragonbox/subproject/meta/results/binary64_generated_cache.txt +0 -623
  249. package/vendor/dragonbox/subproject/meta/source/generate_cache.cpp +0 -126
  250. package/vendor/dragonbox/subproject/meta/source/live_test.cpp +0 -81
  251. package/vendor/dragonbox/subproject/meta/source/perf_test.cpp +0 -104
  252. package/vendor/dragonbox/subproject/meta/source/sandbox.cpp +0 -20
  253. package/vendor/dragonbox/subproject/test/CMakeLists.txt +0 -70
  254. package/vendor/dragonbox/subproject/test/results/binary32.csv +0 -255
  255. package/vendor/dragonbox/subproject/test/results/binary64.csv +0 -2047
  256. package/vendor/dragonbox/subproject/test/results/plot_required_bits.m +0 -18
  257. package/vendor/dragonbox/subproject/test/source/test_all_shorter_interval_cases.cpp +0 -88
  258. package/vendor/dragonbox/subproject/test/source/uniform_random_test.cpp +0 -95
  259. package/vendor/dragonbox/subproject/test/source/verify_cache_precision.cpp +0 -338
  260. package/vendor/dragonbox/subproject/test/source/verify_compressed_cache.cpp +0 -154
  261. package/vendor/dragonbox/subproject/test/source/verify_fast_multiplication.cpp +0 -168
  262. package/vendor/dragonbox/subproject/test/source/verify_log_computation.cpp +0 -251
  263. package/vendor/dragonbox/subproject/test/source/verify_magic_division.cpp +0 -113
  264. package/vendor/miniz/ChangeLog.md +0 -239
  265. package/vendor/miniz/LICENSE +0 -22
  266. package/vendor/miniz/examples/example1.c +0 -105
  267. package/vendor/miniz/examples/example2.c +0 -164
  268. package/vendor/miniz/examples/example3.c +0 -269
  269. package/vendor/miniz/examples/example4.c +0 -102
  270. package/vendor/miniz/examples/example5.c +0 -327
  271. package/vendor/miniz/examples/example6.c +0 -166
  272. package/vendor/miniz/miniz.c +0 -7835
  273. package/vendor/miniz/miniz.h +0 -1422
  274. package/vendor/miniz/readme.md +0 -46
  275. /package/src/koffi/build/{2.3.6 → 2.3.8}/koffi_win32_arm64/koffi.exp +0 -0
  276. /package/src/koffi/build/{2.3.6 → 2.3.8}/koffi_win32_arm64/koffi.lib +0 -0
  277. /package/src/koffi/build/{2.3.6 → 2.3.8}/koffi_win32_ia32/koffi.exp +0 -0
  278. /package/src/koffi/build/{2.3.6 → 2.3.8}/koffi_win32_ia32/koffi.lib +0 -0
  279. /package/src/koffi/build/{2.3.6 → 2.3.8}/koffi_win32_x64/koffi.exp +0 -0
  280. /package/src/koffi/build/{2.3.6 → 2.3.8}/koffi_win32_x64/koffi.lib +0 -0
@@ -1,108 +0,0 @@
1
- // Copyright 2020-2022 Junekey Jeon
2
- //
3
- // The contents of this file may be used under the terms of
4
- // the Apache License v2.0 with LLVM Exceptions.
5
- //
6
- // (See accompanying file LICENSE-Apache or copy at
7
- // https://llvm.org/foundation/relicensing/LICENSE.txt)
8
- //
9
- // Alternatively, the contents of this file may be used under the terms of
10
- // the Boost Software License, Version 1.0.
11
- // (See accompanying file LICENSE-Boost or copy at
12
- // https://www.boost.org/LICENSE_1_0.txt)
13
- //
14
- // Unless required by applicable law or agreed to in writing, this software
15
- // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
- // KIND, either express or implied.
17
-
18
- #ifndef JKJ_HEADER_DRAGONBOX_TO_CHARS
19
- #define JKJ_HEADER_DRAGONBOX_TO_CHARS
20
-
21
- #include "dragonbox/dragonbox.h"
22
-
23
- namespace jkj::dragonbox {
24
- namespace to_chars_detail {
25
- template <class Float, class FloatTraits>
26
- extern char* to_chars(typename FloatTraits::carrier_uint significand, int exponent,
27
- char* buffer) noexcept;
28
-
29
- // Avoid needless ABI overhead incurred by tag dispatch.
30
- template <class PolicyHolder, class Float, class FloatTraits>
31
- char* to_chars_n_impl(float_bits<Float, FloatTraits> br, char* buffer) noexcept {
32
- auto const exponent_bits = br.extract_exponent_bits();
33
- auto const s = br.remove_exponent_bits(exponent_bits);
34
-
35
- if (br.is_finite(exponent_bits)) {
36
- if (s.is_negative()) {
37
- *buffer = '-';
38
- ++buffer;
39
- }
40
- if (br.is_nonzero()) {
41
- auto result = to_decimal<Float, FloatTraits>(
42
- s, exponent_bits, policy::sign::ignore, policy::trailing_zero::remove,
43
- typename PolicyHolder::decimal_to_binary_rounding_policy{},
44
- typename PolicyHolder::binary_to_decimal_rounding_policy{},
45
- typename PolicyHolder::cache_policy{});
46
- return to_chars_detail::to_chars<Float, FloatTraits>(result.significand,
47
- result.exponent, buffer);
48
- }
49
- else {
50
- std::memcpy(buffer, "0E0", 3);
51
- return buffer + 3;
52
- }
53
- }
54
- else {
55
- if (s.has_all_zero_significand_bits()) {
56
- if (s.is_negative()) {
57
- *buffer = '-';
58
- ++buffer;
59
- }
60
- std::memcpy(buffer, "Infinity", 8);
61
- return buffer + 8;
62
- }
63
- else {
64
- std::memcpy(buffer, "NaN", 3);
65
- return buffer + 3;
66
- }
67
- }
68
- }
69
- }
70
-
71
- // Returns the next-to-end position
72
- template <class Float, class FloatTraits = default_float_traits<Float>, class... Policies>
73
- char* to_chars_n(Float x, char* buffer, Policies... policies) noexcept {
74
- using namespace jkj::dragonbox::detail::policy_impl;
75
- using policy_holder = decltype(make_policy_holder(
76
- base_default_pair_list<base_default_pair<decimal_to_binary_rounding::base,
77
- decimal_to_binary_rounding::nearest_to_even>,
78
- base_default_pair<binary_to_decimal_rounding::base,
79
- binary_to_decimal_rounding::to_even>,
80
- base_default_pair<cache::base, cache::full>>{},
81
- policies...));
82
-
83
- return to_chars_detail::to_chars_n_impl<policy_holder>(float_bits<Float, FloatTraits>(x),
84
- buffer);
85
- }
86
-
87
- // Null-terminate and bypass the return value of fp_to_chars_n
88
- template <class Float, class FloatTraits = default_float_traits<Float>, class... Policies>
89
- char* to_chars(Float x, char* buffer, Policies... policies) noexcept {
90
- auto ptr = to_chars_n<Float, FloatTraits>(x, buffer, policies...);
91
- *ptr = '\0';
92
- return ptr;
93
- }
94
-
95
- // Maximum required buffer size (excluding null-terminator)
96
- template <class FloatFormat>
97
- inline constexpr std::size_t max_output_string_length =
98
- std::is_same_v<FloatFormat, ieee754_binary32>
99
- ?
100
- // sign(1) + significand(9) + decimal_point(1) + exp_marker(1) + exp_sign(1) + exp(2)
101
- (1 + 9 + 1 + 1 + 1 + 2)
102
- :
103
- // format == ieee754_format::binary64
104
- // sign(1) + significand(17) + decimal_point(1) + exp_marker(1) + exp_sign(1) + exp(3)
105
- (1 + 17 + 1 + 1 + 1 + 3);
106
- }
107
-
108
- #endif
@@ -1,540 +0,0 @@
1
- <html>
2
- <head>
3
- <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
4
- <script src="http://www.google.com/jsapi?autoload={%22modules%22:[{%22name%22:%22visualization%22,%22version%22:%221%22,%22packages%22:[%22controls%22,%22charteditor%22]}]}"></script>
5
- <script src="jquery.csv.js"></script>
6
- <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
7
- <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
8
- <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
9
- <script>
10
- $(function() {
11
- google.load("visualization", "1", {packages:["corechart"]});
12
- google.setOnLoadCallback(function() {
13
-
14
- var csv = $('#textInput').val();
15
- var data = $.csv.toArrays(csv, {
16
- onParseValue: $.csv.hooks.castToScalar
17
- });
18
-
19
- // Convert data for bar chart (summing all digits)
20
- var timeData = {}; // type -> table
21
- var funcRowMap;
22
- var maxDigit = 0;
23
-
24
- for (var i = 1; i < data.length; i++) {
25
- var type = data[i][0];
26
- var func = data[i][1];
27
- var digit = data[i][2];
28
- var time = data[i][3];
29
- if (timeData[type] == null) {
30
- timeData[type] = [["Function", "Time (ns)"/*, { role: "style" }*/]];
31
- if (digit != 0)
32
- funcRowMap = {};
33
- }
34
-
35
- var table = timeData[type];
36
-
37
- if (digit != 0) {
38
- if (funcRowMap[func] == null)
39
- funcRowMap[func] = table.push([func, 0]) - 1;
40
-
41
- table[funcRowMap[func]][1] += time;
42
- }
43
- else
44
- table.push([func, time]);
45
-
46
- maxDigit = Math.max(maxDigit, digit);
47
- }
48
-
49
- // Compute average
50
- for (var type in timeData) {
51
- var table = timeData[type];
52
- for (var i = 1; i < table.length; i++)
53
- table[i][1] /= maxDigit;
54
- }
55
-
56
- // Convert data for drawing line chart per random digit
57
- var timeDigitData = {}; // type -> table
58
- var funcColumnMap;
59
-
60
- for (var i = 1; i < data.length; i++) {
61
- var type = data[i][0];
62
- var func = data[i][1];
63
- var digit = data[i][2];
64
- var time = data[i][3];
65
-
66
- if (digit == 0)
67
- continue;
68
-
69
- if (timeDigitData[type] == null) {
70
- timeDigitData[type] = [["Digit"]];
71
- funcColumnMap = {};
72
- }
73
-
74
- var table = timeDigitData[type];
75
-
76
- if (funcColumnMap[func] == null)
77
- funcColumnMap[func] = table[0].push(func) - 1;
78
-
79
- var row;
80
- for (row = 1; row < table.length; row++)
81
- if (table[row][0] == digit)
82
- break;
83
-
84
- if (row == table.length)
85
- table.push([digit]);
86
-
87
- table[row][funcColumnMap[func]] = time;
88
- }
89
-
90
- for (var type in timeData) {
91
- $("#main").append(
92
- $("<a>", {name: type}),
93
- $("<h2>", {style: "padding-top: 70px; margin-top: -70px;"}).append(type)
94
- );
95
-
96
- $("#section").append($("<li>").append($("<a>", {href: "#" + type}).append(type)));
97
-
98
- drawTable(type, timeData[type]);
99
- drawBarChart(type, timeData[type]);
100
- if (timeDigitData[type] != null)
101
- drawDigitChart(type, timeDigitData[type]);
102
- }
103
-
104
- $(".chart").each(function() {
105
- var chart = $(this);
106
- var d = $("#downloadDD").clone().css("display", "");
107
- $('li a', d).each(function() {
108
- $(this).click(function() {
109
- var svg = chart[0].getElementsByTagName('svg')[0].parentNode.innerHTML;
110
- svg=sanitize(svg);
111
- $('#imageFilename').val($("#title").html() + "_" + chart.data("filename"));
112
- $('#imageGetFormTYPE').val($(this).attr('dltype'));
113
- $('#imageGetFormSVG').val(svg);
114
- $('#imageGetForm').submit();
115
- });
116
- });
117
- $(this).after(d);
118
- });
119
-
120
- // Add configurations
121
- var thisConfig = "unknown_win64_vc2019";
122
- var configurations = ["corei7920@2.67_cygwin32_gcc4.8","corei7920@2.67_cygwin64_gcc4.8","corei7920@2.67_win32_vc2013","corei7920@2.67_win64_vc2013","unknown_mac32_clang7.0","unknown_mac64_clang7.0","unknown_win64_vc2019"];
123
-
124
- for (var i in configurations) {
125
- var c = configurations[i];
126
- $("#configuration").append($("<li>", {class : (c == thisConfig ? "active" : "")}).append($("<a>", {href: c + ".html"}).append(c)));
127
- }
128
- })
129
- });
130
-
131
- function drawTable(type, timeData) {
132
- var data = google.visualization.arrayToDataTable(timeData);
133
- data.addColumn('number', 'Speedup');
134
- data.sort([{ column: 1, desc: true }]);
135
- var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 3 });
136
- formatter1.format(data, 1);
137
-
138
- var div = document.createElement("div");
139
- div.className = "tablechart";
140
- $("#main").append(div);
141
- var table = new google.visualization.Table(div);
142
- redrawTable(0);
143
- table.setSelection([{ row: 0, column: null}]);
144
-
145
- function redrawTable(selectedRow) {
146
- // Compute relative time using the first row as basis
147
- var basis = data.getValue(selectedRow, 1);
148
- for (var rowIndex = 0; rowIndex < data.getNumberOfRows(); rowIndex++)
149
- data.setValue(rowIndex, 2, basis / data.getValue(rowIndex, 1));
150
-
151
- var formatter = new google.visualization.NumberFormat({suffix: 'x'});
152
- formatter.format(data, 2); // Apply formatter to second column
153
-
154
- table.draw(data);
155
- }
156
-
157
- google.visualization.events.addListener(table, 'select',
158
- function() {
159
- var selection = table.getSelection();
160
- if (selection.length > 0) {
161
- var item = selection[0];
162
- if (item.row != null)
163
- redrawTable(item.row);
164
- }
165
- });
166
-
167
- }
168
-
169
- function drawBarChart(type, timeData) {
170
- var defaultColors = ["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac","#b77322","#16d620","#b91383","#f4359e","#9c5935","#a9c413","#2a778d","#668d1c","#bea413","#0c5922","#743411"];
171
-
172
- var data = google.visualization.arrayToDataTable(timeData);
173
- data.addColumn({ type: "string", role: "style" })
174
- for (var rowIndex = 0; rowIndex < data.getNumberOfRows(); rowIndex++)
175
- data.setValue(rowIndex, 2, defaultColors[rowIndex]);
176
-
177
- data.sort([{ column: 1, desc: true }]);
178
- var options = {
179
- title: type,
180
- chartArea: {'width': '70%', 'height': '70%'},
181
- width: 800,
182
- height: 300,
183
- legend: { position: "none" },
184
- hAxis: { title: "Time (ns)" }
185
- };
186
- var div = document.createElement("div");
187
- div.className = "chart";
188
- $(div).data("filename", type + "_time");
189
- $("#main").append(div);
190
- var chart = new google.visualization.BarChart(div);
191
-
192
- chart.draw(data, options);
193
- }
194
-
195
- function drawDigitChart(type, timeDigitData) {
196
- var data = google.visualization.arrayToDataTable(timeDigitData);
197
-
198
- var options = {
199
- title: type,
200
- chartArea: {left:100, 'width': '60%', 'height': '80%'},
201
- hAxis: {
202
- title: "Digit",
203
- gridlines: { count: timeDigitData.length - 1 },
204
- maxAlternation: 1,
205
- minTextSpacing: 0
206
- },
207
- vAxis: {
208
- title: "Time (ns) in log scale",
209
- logScale: true,
210
- minorGridlines: { count: 0 },
211
- baseline: 0,
212
- viewWindow: {max: 150, min: 20},
213
- minorGridlines: {interval: [1,2,3,4,5,6,7,8,9,10]}
214
- },
215
- width: 800,
216
- height: 600
217
- };
218
- var div = document.createElement("div");
219
- div.className = "chart";
220
- $(div).data("filename", type + "_timedigit");
221
- $("#main").append(div);
222
- var chart = new google.visualization.LineChart(div);
223
-
224
- chart.draw(data, options);
225
- }
226
-
227
- // http://jsfiddle.net/P6XXM/
228
- function sanitize(svg) {
229
- svg = svg
230
- .replace(/\<svg/,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1"')
231
- .replace(/zIndex="[^"]+"/g, '')
232
- .replace(/isShadow="[^"]+"/g, '')
233
- .replace(/symbolName="[^"]+"/g, '')
234
- .replace(/jQuery[0-9]+="[^"]+"/g, '')
235
- .replace(/isTracker="[^"]+"/g, '')
236
- .replace(/url\([^#]+#/g, 'url(#')
237
- .replace('<svg xmlns:xlink="http://www.w3.org/1999/xlink" ', '<svg ')
238
- .replace(/ href=/g, ' xlink:href=')
239
- /*.replace(/preserveAspectRatio="none">/g, 'preserveAspectRatio="none"/>')*/
240
- /* This fails in IE < 8
241
- .replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight
242
- return s2 +'.'+ s3[0];
243
- })*/
244
-
245
- // IE specific
246
- .replace(/id=([^" >]+)/g, 'id="$1"')
247
- .replace(/class=([^" ]+)/g, 'class="$1"')
248
- .replace(/ transform /g, ' ')
249
- .replace(/:(path|rect)/g, '$1')
250
- .replace(/<img ([^>]*)>/gi, '<image $1 />')
251
- .replace(/<\/image>/g, '') // remove closing tags for images as they'll never have any content
252
- .replace(/<image ([^>]*)([^\/])>/gi, '<image $1$2 />') // closes image tags for firefox
253
- .replace(/width=(\d+)/g, 'width="$1"')
254
- .replace(/height=(\d+)/g, 'height="$1"')
255
- .replace(/hc-svg-href="/g, 'xlink:href="')
256
- .replace(/style="([^"]+)"/g, function (s) {
257
- return s.toLowerCase();
258
- });
259
-
260
- // IE9 beta bugs with innerHTML. Test again with final IE9.
261
- svg = svg.replace(/(url\(#highcharts-[0-9]+)&quot;/g, '$1')
262
- .replace(/&quot;/g, "'");
263
- if (svg.match(/ xmlns="/g).length == 2) {
264
- svg = svg.replace(/xmlns="[^"]+"/, '');
265
- }
266
-
267
- return svg;
268
- }
269
- </script>
270
- <style type="text/css">
271
- @media (min-width: 800px) {
272
- .container {
273
- max-width: 800px;
274
- }
275
- }
276
- textarea {
277
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
278
- }
279
- .tablechart {
280
- width: 700px;
281
- margin: auto;
282
- padding-top: 20px;
283
- padding-bottom: 20px;
284
- }
285
- .chart {
286
- padding-top: 20px;
287
- padding-bottom: 20px;
288
- }
289
- body { padding-top: 70px; }
290
- </style>
291
- </head>
292
- <body>
293
- <div class="container">
294
- <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
295
- <div class="container">
296
- <!-- Brand and toggle get grouped for better mobile display -->
297
- <div class="navbar-header">
298
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
299
- <span class="sr-only">Toggle navigation</span>
300
- <span class="icon-bar"></span>
301
- <span class="icon-bar"></span>
302
- <span class="icon-bar"></span>
303
- </button>
304
- <a class="navbar-brand" href="https://github.com/miloyip/dtoa-benchmark"><span class="glyphicon glyphicon-home"></span> dtoa-benchmark</a>
305
- </div>
306
-
307
- <!-- Collect the nav links, forms, and other content for toggling -->
308
- <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
309
- <ul class="nav navbar-nav">
310
- <li class="dropdown">
311
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Configuration <span class="caret"></span></a>
312
- <ul class="dropdown-menu" role="menu" id="configuration">
313
- </ul>
314
- </li>
315
- <li class="dropdown">
316
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Section <span class="caret"></span></a>
317
- <ul class="dropdown-menu" role="menu" id="section">
318
- </ul>
319
- </li>
320
- </ul>
321
- <p class="navbar-text navbar-right">Developed by <a href="https://github.com/miloyip" class="navbar-link">Milo Yip</a></p>
322
- </div><!-- /.navbar-collapse -->
323
- </div><!-- /.container-fluid -->
324
- </nav>
325
- <div class="page-header">
326
- <h1 id="title">unknown_win64_vc2019</h1>
327
- </div>
328
- <div id="main"></div>
329
- <h2>Source CSV</h2>
330
- <textarea id="textInput" class="form-control" rows="5" readonly>
331
- Type,Function,Digit,Time(ns)
332
- randomdigit,doubleconv,1,71.223000
333
- randomdigit,doubleconv,2,83.739000
334
- randomdigit,doubleconv,3,87.977000
335
- randomdigit,doubleconv,4,90.844000
336
- randomdigit,doubleconv,5,96.071000
337
- randomdigit,doubleconv,6,100.920000
338
- randomdigit,doubleconv,7,106.860000
339
- randomdigit,doubleconv,8,107.243000
340
- randomdigit,doubleconv,9,107.882000
341
- randomdigit,doubleconv,10,114.161000
342
- randomdigit,doubleconv,11,120.089000
343
- randomdigit,doubleconv,12,124.157000
344
- randomdigit,doubleconv,13,121.921000
345
- randomdigit,doubleconv,14,124.308000
346
- randomdigit,doubleconv,15,127.801000
347
- randomdigit,doubleconv,16,133.545000
348
- randomdigit,doubleconv,17,140.764000
349
- randomdigit,emyg,1,49.488000
350
- randomdigit,emyg,2,54.384000
351
- randomdigit,emyg,3,56.676000
352
- randomdigit,emyg,4,58.776000
353
- randomdigit,emyg,5,62.045000
354
- randomdigit,emyg,6,59.798000
355
- randomdigit,emyg,7,60.171000
356
- randomdigit,emyg,8,62.302000
357
- randomdigit,emyg,9,63.449000
358
- randomdigit,emyg,10,64.685000
359
- randomdigit,emyg,11,65.412000
360
- randomdigit,emyg,12,66.872000
361
- randomdigit,emyg,13,68.013000
362
- randomdigit,emyg,14,69.450000
363
- randomdigit,emyg,15,71.172000
364
- randomdigit,emyg,16,74.847000
365
- randomdigit,emyg,17,77.391000
366
- randomdigit,erthink,1,34.692000
367
- randomdigit,erthink,2,35.652000
368
- randomdigit,erthink,3,37.090000
369
- randomdigit,erthink,4,37.854000
370
- randomdigit,erthink,5,40.699000
371
- randomdigit,erthink,6,42.624000
372
- randomdigit,erthink,7,44.213000
373
- randomdigit,erthink,8,45.829000
374
- randomdigit,erthink,9,46.268000
375
- randomdigit,erthink,10,47.757000
376
- randomdigit,erthink,11,49.229000
377
- randomdigit,erthink,12,54.313000
378
- randomdigit,erthink,13,52.171000
379
- randomdigit,erthink,14,56.760000
380
- randomdigit,erthink,15,58.601000
381
- randomdigit,erthink,16,56.738000
382
- randomdigit,erthink,17,57.844000
383
- randomdigit,floaxie,1,32.675000
384
- randomdigit,floaxie,2,38.321000
385
- randomdigit,floaxie,3,42.846000
386
- randomdigit,floaxie,4,49.954000
387
- randomdigit,floaxie,5,56.737000
388
- randomdigit,floaxie,6,61.745000
389
- randomdigit,floaxie,7,69.012000
390
- randomdigit,floaxie,8,77.025000
391
- randomdigit,floaxie,9,83.648000
392
- randomdigit,floaxie,10,87.588000
393
- randomdigit,floaxie,11,92.134000
394
- randomdigit,floaxie,12,96.296000
395
- randomdigit,floaxie,13,98.109000
396
- randomdigit,floaxie,14,99.591000
397
- randomdigit,floaxie,15,100.592000
398
- randomdigit,floaxie,16,101.807000
399
- randomdigit,floaxie,17,101.887000
400
- randomdigit,fmt,1,53.977000
401
- randomdigit,fmt,2,57.743000
402
- randomdigit,fmt,3,58.027000
403
- randomdigit,fmt,4,57.938000
404
- randomdigit,fmt,5,57.543000
405
- randomdigit,fmt,6,58.663000
406
- randomdigit,fmt,7,58.296000
407
- randomdigit,fmt,8,59.124000
408
- randomdigit,fmt,9,62.657000
409
- randomdigit,fmt,10,63.963000
410
- randomdigit,fmt,11,63.576000
411
- randomdigit,fmt,12,64.037000
412
- randomdigit,fmt,13,61.003000
413
- randomdigit,fmt,14,60.267000
414
- randomdigit,fmt,15,61.596000
415
- randomdigit,fmt,16,64.429000
416
- randomdigit,fmt,17,64.504000
417
- randomdigit,grisu2,1,103.766000
418
- randomdigit,grisu2,2,113.021000
419
- randomdigit,grisu2,3,112.313000
420
- randomdigit,grisu2,4,114.278000
421
- randomdigit,grisu2,5,116.382000
422
- randomdigit,grisu2,6,118.683000
423
- randomdigit,grisu2,7,120.528000
424
- randomdigit,grisu2,8,124.457000
425
- randomdigit,grisu2,9,126.515000
426
- randomdigit,grisu2,10,127.444000
427
- randomdigit,grisu2,11,129.016000
428
- randomdigit,grisu2,12,131.285000
429
- randomdigit,grisu2,13,129.324000
430
- randomdigit,grisu2,14,131.143000
431
- randomdigit,grisu2,15,133.030000
432
- randomdigit,grisu2,16,134.716000
433
- randomdigit,grisu2,17,140.260000
434
- randomdigit,milo,1,51.258000
435
- randomdigit,milo,2,54.217000
436
- randomdigit,milo,3,56.843000
437
- randomdigit,milo,4,57.965000
438
- randomdigit,milo,5,60.638000
439
- randomdigit,milo,6,62.935000
440
- randomdigit,milo,7,64.241000
441
- randomdigit,milo,8,66.264000
442
- randomdigit,milo,9,67.355000
443
- randomdigit,milo,10,69.715000
444
- randomdigit,milo,11,72.008000
445
- randomdigit,milo,12,72.875000
446
- randomdigit,milo,13,81.763000
447
- randomdigit,milo,14,80.948000
448
- randomdigit,milo,15,85.340000
449
- randomdigit,milo,16,83.437000
450
- randomdigit,milo,17,96.519000
451
- randomdigit,ryu,1,54.887000
452
- randomdigit,ryu,2,55.220000
453
- randomdigit,ryu,3,54.280000
454
- randomdigit,ryu,4,52.602000
455
- randomdigit,ryu,5,51.612000
456
- randomdigit,ryu,6,50.740000
457
- randomdigit,ryu,7,49.837000
458
- randomdigit,ryu,8,48.804000
459
- randomdigit,ryu,9,46.491000
460
- randomdigit,ryu,10,48.427000
461
- randomdigit,ryu,11,46.493000
462
- randomdigit,ryu,12,44.799000
463
- randomdigit,ryu,13,43.150000
464
- randomdigit,ryu,14,42.205000
465
- randomdigit,ryu,15,40.604000
466
- randomdigit,ryu,16,39.912000
467
- randomdigit,ryu,17,39.437000
468
- randomdigit,dragonbox,1,29.427000
469
- randomdigit,dragonbox,2,31.778000
470
- randomdigit,dragonbox,3,30.199000
471
- randomdigit,dragonbox,4,31.238000
472
- randomdigit,dragonbox,5,29.360000
473
- randomdigit,dragonbox,6,30.439000
474
- randomdigit,dragonbox,7,28.457000
475
- randomdigit,dragonbox,8,30.089000
476
- randomdigit,dragonbox,9,29.953000
477
- randomdigit,dragonbox,10,30.676000
478
- randomdigit,dragonbox,11,31.074000
479
- randomdigit,dragonbox,12,30.812000
480
- randomdigit,dragonbox,13,29.128000
481
- randomdigit,dragonbox,14,28.778000
482
- randomdigit,dragonbox,15,30.860000
483
- randomdigit,dragonbox,16,28.859000
484
- randomdigit,dragonbox,17,33.514000
485
- randomdigit,dragonbox_comp,1,33.047000
486
- randomdigit,dragonbox_comp,2,35.702000
487
- randomdigit,dragonbox_comp,3,33.917000
488
- randomdigit,dragonbox_comp,4,36.103000
489
- randomdigit,dragonbox_comp,5,33.100000
490
- randomdigit,dragonbox_comp,6,34.315000
491
- randomdigit,dragonbox_comp,7,34.149000
492
- randomdigit,dragonbox_comp,8,36.791000
493
- randomdigit,dragonbox_comp,9,35.710000
494
- randomdigit,dragonbox_comp,10,36.800000
495
- randomdigit,dragonbox_comp,11,37.123000
496
- randomdigit,dragonbox_comp,12,36.863000
497
- randomdigit,dragonbox_comp,13,35.854000
498
- randomdigit,dragonbox_comp,14,35.038000
499
- randomdigit,dragonbox_comp,15,34.857000
500
- randomdigit,dragonbox_comp,16,34.560000
501
- randomdigit,dragonbox_comp,17,39.080000
502
- randomdigit,fmt_full_cache,1,45.122000
503
- randomdigit,fmt_full_cache,2,45.366000
504
- randomdigit,fmt_full_cache,3,49.022000
505
- randomdigit,fmt_full_cache,4,50.854000
506
- randomdigit,fmt_full_cache,5,51.579000
507
- randomdigit,fmt_full_cache,6,52.227000
508
- randomdigit,fmt_full_cache,7,51.044000
509
- randomdigit,fmt_full_cache,8,50.727000
510
- randomdigit,fmt_full_cache,9,54.859000
511
- randomdigit,fmt_full_cache,10,55.533000
512
- randomdigit,fmt_full_cache,11,53.122000
513
- randomdigit,fmt_full_cache,12,55.535000
514
- randomdigit,fmt_full_cache,13,53.757000
515
- randomdigit,fmt_full_cache,14,54.531000
516
- randomdigit,fmt_full_cache,15,54.673000
517
- randomdigit,fmt_full_cache,16,58.299000
518
- randomdigit,fmt_full_cache,17,60.408000
519
- </textarea>
520
- </div>
521
- <div class="row" id="downloadDD" style="display: none">
522
- <div class="btn-group pull-right" >
523
- <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-picture"></span></button>
524
- <ul class="dropdown-menu">
525
- <li><a tabindex="-1" href="#" dltype="image/jpeg">JPEG</a></li>
526
- <li><a tabindex="-1" href="#" dltype="image/png">PNG</a></li>
527
- <li><a tabindex="-1" href="#" dltype="application/pdf">PDF</a></li>
528
- <li><a tabindex="-1" href="#" dltype="image/svg+xml">SVG</a></li>
529
- </ul>
530
- </div>
531
- </div>
532
- <form method="post" action="http://export.highcharts.com/" id="imageGetForm">
533
- <input type="hidden" name="filename" id="imageFilename" value="" />
534
- <input type="hidden" name="type" id="imageGetFormTYPE" value="" />
535
- <input type="hidden" name="width" value="900" />
536
- <input type="hidden" name="svg" value="" id="imageGetFormSVG" />
537
- </form>
538
- </div>
539
- </body>
540
- </html>