koffi 0.9.4 → 0.9.5
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.
- package/CMakeLists.txt +60 -60
- package/README.md +163 -153
- package/package.json +19 -18
- package/src/call.hh +27 -27
- package/src/call_arm64.cc +482 -482
- package/src/call_arm64_fwd.S +115 -115
- package/src/call_x64_sysv.cc +477 -477
- package/src/call_x64_sysv_fwd.S +131 -131
- package/src/call_x64_win.cc +243 -243
- package/src/call_x64_win_fwd.asm +105 -105
- package/src/call_x86.cc +259 -259
- package/src/call_x86_fwd.S +48 -48
- package/src/call_x86_fwd.asm +50 -50
- package/src/ffi.cc +504 -504
- package/src/ffi.hh +135 -135
- package/src/util.cc +296 -296
- package/src/util.hh +80 -80
- package/vendor/dragonbox/CMakeLists.txt +122 -122
- package/vendor/dragonbox/LICENSE-Apache2-LLVM +218 -218
- package/vendor/dragonbox/LICENSE-Boost +23 -23
- package/vendor/dragonbox/README.md +277 -277
- package/vendor/dragonbox/cmake/dragonboxConfig.cmake +1 -1
- package/vendor/dragonbox/include/dragonbox/dragonbox.h +2670 -2670
- package/vendor/dragonbox/include/dragonbox/dragonbox_to_chars.h +108 -108
- package/vendor/dragonbox/other_files/unknown_win64_vc2019.html +539 -539
- package/vendor/dragonbox/source/dragonbox_to_chars.cpp +303 -303
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/CMakeLists.txt +23 -23
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.cpp +238 -238
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.h +95 -95
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/grisu_exact.h +2666 -2666
- package/vendor/dragonbox/subproject/3rdparty/ryu/CMakeLists.txt +16 -16
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/common.h +114 -114
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s.c +509 -509
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_full_table.h +367 -367
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_intrinsics.h +357 -357
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/digit_table.h +35 -35
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s.c +345 -345
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_full_table.h +55 -55
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_intrinsics.h +128 -128
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/ryu.h +46 -46
- package/vendor/dragonbox/subproject/3rdparty/schubfach/CMakeLists.txt +21 -21
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.cc +699 -699
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.h +31 -31
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.cc +1354 -1354
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.h +31 -31
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/example_shaded_plots.m +68 -68
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/license.txt +25 -25
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution.m +92 -92
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution_prctile.m +121 -121
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_histogram_shaded.m +99 -99
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_shaded.m +93 -93
- package/vendor/dragonbox/subproject/benchmark/CMakeLists.txt +64 -64
- package/vendor/dragonbox/subproject/benchmark/include/benchmark.h +40 -40
- package/vendor/dragonbox/subproject/benchmark/matlab/plot_benchmarks.m +21 -21
- package/vendor/dragonbox/subproject/benchmark/matlab/plot_digit_benchmark.m +78 -78
- package/vendor/dragonbox/subproject/benchmark/matlab/plot_uniform_benchmark.m +95 -95
- package/vendor/dragonbox/subproject/benchmark/source/benchmark.cpp +237 -237
- package/vendor/dragonbox/subproject/benchmark/source/dragonbox.cpp +30 -30
- package/vendor/dragonbox/subproject/benchmark/source/grisu_exact.cpp +36 -36
- package/vendor/dragonbox/subproject/benchmark/source/ryu.cpp +27 -27
- package/vendor/dragonbox/subproject/benchmark/source/schubfach.cpp +31 -31
- package/vendor/dragonbox/subproject/common/CMakeLists.txt +41 -41
- package/vendor/dragonbox/subproject/common/include/best_rational_approx.h +96 -96
- package/vendor/dragonbox/subproject/common/include/big_uint.h +217 -217
- package/vendor/dragonbox/subproject/common/include/continued_fractions.h +173 -173
- package/vendor/dragonbox/subproject/common/include/good_rational_approx.h +266 -266
- package/vendor/dragonbox/subproject/common/include/random_float.h +182 -182
- package/vendor/dragonbox/subproject/common/include/rational_continued_fractions.h +56 -56
- package/vendor/dragonbox/subproject/common/source/big_uint.cpp +601 -601
- package/vendor/dragonbox/subproject/meta/CMakeLists.txt +40 -40
- package/vendor/dragonbox/subproject/meta/results/binary32_generated_cache.txt +81 -81
- package/vendor/dragonbox/subproject/meta/results/binary64_compressed_cache_error_table.txt +9 -9
- package/vendor/dragonbox/subproject/meta/results/binary64_generated_cache.txt +622 -622
- package/vendor/dragonbox/subproject/meta/source/generate_cache.cpp +126 -126
- package/vendor/dragonbox/subproject/meta/source/live_test.cpp +81 -81
- package/vendor/dragonbox/subproject/meta/source/perf_test.cpp +104 -104
- package/vendor/dragonbox/subproject/meta/source/sandbox.cpp +20 -20
- package/vendor/dragonbox/subproject/test/CMakeLists.txt +69 -69
- package/vendor/dragonbox/subproject/test/results/binary32.csv +255 -255
- package/vendor/dragonbox/subproject/test/results/binary64.csv +2047 -2047
- package/vendor/dragonbox/subproject/test/results/plot_required_bits.m +17 -17
- package/vendor/dragonbox/subproject/test/source/test_all_shorter_interval_cases.cpp +88 -88
- package/vendor/dragonbox/subproject/test/source/uniform_random_test.cpp +95 -95
- package/vendor/dragonbox/subproject/test/source/verify_cache_precision.cpp +337 -337
- package/vendor/dragonbox/subproject/test/source/verify_compressed_cache.cpp +154 -154
- package/vendor/dragonbox/subproject/test/source/verify_fast_multiplication.cpp +168 -168
- package/vendor/dragonbox/subproject/test/source/verify_log_computation.cpp +251 -251
- package/vendor/dragonbox/subproject/test/source/verify_magic_division.cpp +113 -113
- package/vendor/libcc/libcc.cc +7651 -7651
- package/vendor/libcc/libcc.hh +4312 -4312
- package/vendor/node-addon-api/CHANGELOG.md +859 -859
- package/vendor/node-addon-api/CODE_OF_CONDUCT.md +4 -4
- package/vendor/node-addon-api/CONTRIBUTING.md +93 -93
- package/vendor/node-addon-api/LICENSE.md +12 -12
- package/vendor/node-addon-api/README.md +293 -293
- package/vendor/node-addon-api/appveyor.yml +37 -37
- package/vendor/node-addon-api/benchmark/README.md +47 -47
- package/vendor/node-addon-api/benchmark/binding.gyp +25 -25
- package/vendor/node-addon-api/benchmark/function_args.cc +217 -217
- package/vendor/node-addon-api/benchmark/function_args.js +60 -60
- package/vendor/node-addon-api/benchmark/index.js +34 -34
- package/vendor/node-addon-api/benchmark/property_descriptor.cc +91 -91
- package/vendor/node-addon-api/benchmark/property_descriptor.js +37 -37
- package/vendor/node-addon-api/common.gypi +21 -21
- package/vendor/node-addon-api/doc/addon.md +163 -163
- package/vendor/node-addon-api/doc/array.md +81 -81
- package/vendor/node-addon-api/doc/array_buffer.md +155 -155
- package/vendor/node-addon-api/doc/async_context.md +86 -86
- package/vendor/node-addon-api/doc/async_operations.md +31 -31
- package/vendor/node-addon-api/doc/async_worker.md +427 -427
- package/vendor/node-addon-api/doc/async_worker_variants.md +557 -557
- package/vendor/node-addon-api/doc/bigint.md +97 -97
- package/vendor/node-addon-api/doc/boolean.md +68 -68
- package/vendor/node-addon-api/doc/buffer.md +150 -150
- package/vendor/node-addon-api/doc/callback_scope.md +54 -54
- package/vendor/node-addon-api/doc/callbackinfo.md +97 -97
- package/vendor/node-addon-api/doc/checker-tool.md +32 -32
- package/vendor/node-addon-api/doc/class_property_descriptor.md +115 -115
- package/vendor/node-addon-api/doc/cmake-js.md +68 -68
- package/vendor/node-addon-api/doc/conversion-tool.md +27 -27
- package/vendor/node-addon-api/doc/creating_a_release.md +62 -62
- package/vendor/node-addon-api/doc/dataview.md +248 -248
- package/vendor/node-addon-api/doc/date.md +68 -68
- package/vendor/node-addon-api/doc/env.md +196 -196
- package/vendor/node-addon-api/doc/error.md +120 -120
- package/vendor/node-addon-api/doc/error_handling.md +254 -254
- package/vendor/node-addon-api/doc/escapable_handle_scope.md +80 -80
- package/vendor/node-addon-api/doc/external.md +63 -63
- package/vendor/node-addon-api/doc/function.md +402 -402
- package/vendor/node-addon-api/doc/function_reference.md +238 -238
- package/vendor/node-addon-api/doc/generator.md +13 -13
- package/vendor/node-addon-api/doc/handle_scope.md +63 -63
- package/vendor/node-addon-api/doc/hierarchy.md +91 -91
- package/vendor/node-addon-api/doc/instance_wrap.md +408 -408
- package/vendor/node-addon-api/doc/maybe.md +76 -76
- package/vendor/node-addon-api/doc/memory_management.md +27 -27
- package/vendor/node-addon-api/doc/name.md +29 -29
- package/vendor/node-addon-api/doc/node-gyp.md +82 -82
- package/vendor/node-addon-api/doc/number.md +163 -163
- package/vendor/node-addon-api/doc/object.md +432 -432
- package/vendor/node-addon-api/doc/object_lifetime_management.md +83 -83
- package/vendor/node-addon-api/doc/object_reference.md +117 -117
- package/vendor/node-addon-api/doc/object_wrap.md +561 -561
- package/vendor/node-addon-api/doc/prebuild_tools.md +16 -16
- package/vendor/node-addon-api/doc/promises.md +79 -79
- package/vendor/node-addon-api/doc/property_descriptor.md +286 -286
- package/vendor/node-addon-api/doc/propertylvalue.md +50 -50
- package/vendor/node-addon-api/doc/range_error.md +59 -59
- package/vendor/node-addon-api/doc/reference.md +113 -113
- package/vendor/node-addon-api/doc/setup.md +110 -110
- package/vendor/node-addon-api/doc/string.md +93 -93
- package/vendor/node-addon-api/doc/symbol.md +60 -60
- package/vendor/node-addon-api/doc/threadsafe.md +121 -121
- package/vendor/node-addon-api/doc/threadsafe_function.md +290 -290
- package/vendor/node-addon-api/doc/type_error.md +59 -59
- package/vendor/node-addon-api/doc/typed_array.md +78 -78
- package/vendor/node-addon-api/doc/typed_array_of.md +137 -137
- package/vendor/node-addon-api/doc/typed_threadsafe_function.md +306 -306
- package/vendor/node-addon-api/doc/value.md +340 -340
- package/vendor/node-addon-api/doc/version_management.md +43 -43
- package/vendor/node-addon-api/except.gypi +25 -25
- package/vendor/node-addon-api/index.js +11 -11
- package/vendor/node-addon-api/napi-inl.deprecated.h +192 -192
- package/vendor/node-addon-api/napi-inl.h +6209 -6209
- package/vendor/node-addon-api/napi.h +2983 -2983
- package/vendor/node-addon-api/node_api.gyp +9 -9
- package/vendor/node-addon-api/noexcept.gypi +26 -26
- package/vendor/node-addon-api/package-support.json +21 -21
- package/vendor/node-addon-api/package.json +399 -399
- package/vendor/node-addon-api/test/README.md +91 -91
- package/vendor/node-addon-api/test/addon.cc +36 -36
- package/vendor/node-addon-api/test/addon.js +11 -11
- package/vendor/node-addon-api/test/addon_build/index.js +49 -49
- package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +17 -17
- package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +62 -62
- package/vendor/node-addon-api/test/addon_build/tpl/index.js +9 -9
- package/vendor/node-addon-api/test/addon_build/tpl/package.json +11 -11
- package/vendor/node-addon-api/test/addon_data.cc +99 -99
- package/vendor/node-addon-api/test/addon_data.js +46 -46
- package/vendor/node-addon-api/test/array_buffer.cc +243 -243
- package/vendor/node-addon-api/test/array_buffer.js +69 -69
- package/vendor/node-addon-api/test/async_context.cc +21 -21
- package/vendor/node-addon-api/test/async_context.js +86 -86
- package/vendor/node-addon-api/test/async_progress_queue_worker.cc +83 -83
- package/vendor/node-addon-api/test/async_progress_queue_worker.js +46 -46
- package/vendor/node-addon-api/test/async_progress_worker.cc +134 -134
- package/vendor/node-addon-api/test/async_progress_worker.js +61 -61
- package/vendor/node-addon-api/test/async_worker.cc +106 -106
- package/vendor/node-addon-api/test/async_worker.js +179 -179
- package/vendor/node-addon-api/test/async_worker_nocallback.js +13 -13
- package/vendor/node-addon-api/test/async_worker_persistent.cc +63 -63
- package/vendor/node-addon-api/test/async_worker_persistent.js +24 -24
- package/vendor/node-addon-api/test/basic_types/array.cc +40 -40
- package/vendor/node-addon-api/test/basic_types/array.js +35 -35
- package/vendor/node-addon-api/test/basic_types/boolean.cc +38 -38
- package/vendor/node-addon-api/test/basic_types/boolean.js +35 -35
- package/vendor/node-addon-api/test/basic_types/number.cc +99 -99
- package/vendor/node-addon-api/test/basic_types/number.js +114 -114
- package/vendor/node-addon-api/test/basic_types/value.cc +120 -120
- package/vendor/node-addon-api/test/basic_types/value.js +133 -133
- package/vendor/node-addon-api/test/bigint.cc +91 -91
- package/vendor/node-addon-api/test/bigint.js +53 -53
- package/vendor/node-addon-api/test/binding-swallowexcept.cc +12 -12
- package/vendor/node-addon-api/test/binding.cc +171 -171
- package/vendor/node-addon-api/test/binding.gyp +117 -117
- package/vendor/node-addon-api/test/buffer.cc +183 -183
- package/vendor/node-addon-api/test/buffer.js +69 -69
- package/vendor/node-addon-api/test/callbackscope.cc +22 -22
- package/vendor/node-addon-api/test/callbackscope.js +49 -49
- package/vendor/node-addon-api/test/common/index.js +113 -113
- package/vendor/node-addon-api/test/common/test_helper.h +61 -61
- package/vendor/node-addon-api/test/dataview/dataview.cc +48 -48
- package/vendor/node-addon-api/test/dataview/dataview.js +35 -35
- package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +115 -115
- package/vendor/node-addon-api/test/dataview/dataview_read_write.js +90 -90
- package/vendor/node-addon-api/test/date.cc +44 -44
- package/vendor/node-addon-api/test/date.js +18 -18
- package/vendor/node-addon-api/test/env_cleanup.cc +88 -88
- package/vendor/node-addon-api/test/env_cleanup.js +56 -56
- package/vendor/node-addon-api/test/error.cc +287 -287
- package/vendor/node-addon-api/test/error.js +81 -81
- package/vendor/node-addon-api/test/error_handling_for_primitives.cc +13 -13
- package/vendor/node-addon-api/test/error_handling_for_primitives.js +29 -29
- package/vendor/node-addon-api/test/error_terminating_environment.js +94 -94
- package/vendor/node-addon-api/test/external.cc +81 -81
- package/vendor/node-addon-api/test/external.js +88 -88
- package/vendor/node-addon-api/test/function.cc +295 -295
- package/vendor/node-addon-api/test/function.js +121 -121
- package/vendor/node-addon-api/test/function_reference.cc +202 -202
- package/vendor/node-addon-api/test/function_reference.js +157 -157
- package/vendor/node-addon-api/test/globalObject/global_object.cc +61 -61
- package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +31 -31
- package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +61 -61
- package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +40 -40
- package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +57 -57
- package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +28 -28
- package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +48 -48
- package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +30 -30
- package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +58 -58
- package/vendor/node-addon-api/test/handlescope.cc +60 -60
- package/vendor/node-addon-api/test/handlescope.js +14 -14
- package/vendor/node-addon-api/test/index.js +136 -136
- package/vendor/node-addon-api/test/maybe/check.cc +23 -23
- package/vendor/node-addon-api/test/maybe/index.js +38 -38
- package/vendor/node-addon-api/test/memory_management.cc +17 -17
- package/vendor/node-addon-api/test/memory_management.js +9 -9
- package/vendor/node-addon-api/test/movable_callbacks.cc +23 -23
- package/vendor/node-addon-api/test/movable_callbacks.js +21 -21
- package/vendor/node-addon-api/test/name.cc +108 -108
- package/vendor/node-addon-api/test/name.js +59 -59
- package/vendor/node-addon-api/test/napi_child.js +14 -14
- package/vendor/node-addon-api/test/object/delete_property.cc +38 -38
- package/vendor/node-addon-api/test/object/delete_property.js +41 -41
- package/vendor/node-addon-api/test/object/finalizer.cc +29 -29
- package/vendor/node-addon-api/test/object/finalizer.js +28 -28
- package/vendor/node-addon-api/test/object/get_property.cc +34 -34
- package/vendor/node-addon-api/test/object/get_property.js +40 -40
- package/vendor/node-addon-api/test/object/has_own_property.cc +34 -34
- package/vendor/node-addon-api/test/object/has_own_property.js +34 -34
- package/vendor/node-addon-api/test/object/has_property.cc +38 -38
- package/vendor/node-addon-api/test/object/has_property.js +37 -37
- package/vendor/node-addon-api/test/object/object.cc +348 -348
- package/vendor/node-addon-api/test/object/object.js +217 -217
- package/vendor/node-addon-api/test/object/object_deprecated.cc +66 -66
- package/vendor/node-addon-api/test/object/object_deprecated.js +47 -47
- package/vendor/node-addon-api/test/object/object_freeze_seal.cc +25 -25
- package/vendor/node-addon-api/test/object/object_freeze_seal.js +61 -61
- package/vendor/node-addon-api/test/object/set_property.cc +37 -37
- package/vendor/node-addon-api/test/object/set_property.js +29 -29
- package/vendor/node-addon-api/test/object/subscript_operator.cc +42 -42
- package/vendor/node-addon-api/test/object/subscript_operator.js +17 -17
- package/vendor/node-addon-api/test/object_reference.cc +219 -219
- package/vendor/node-addon-api/test/object_reference.js +259 -259
- package/vendor/node-addon-api/test/objectwrap.cc +268 -268
- package/vendor/node-addon-api/test/objectwrap.js +284 -284
- package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +26 -26
- package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +18 -18
- package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +30 -30
- package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +13 -13
- package/vendor/node-addon-api/test/objectwrap_removewrap.cc +45 -45
- package/vendor/node-addon-api/test/objectwrap_removewrap.js +40 -40
- package/vendor/node-addon-api/test/objectwrap_worker_thread.js +19 -19
- package/vendor/node-addon-api/test/promise.cc +29 -29
- package/vendor/node-addon-api/test/promise.js +18 -18
- package/vendor/node-addon-api/test/reference.cc +24 -24
- package/vendor/node-addon-api/test/reference.js +14 -14
- package/vendor/node-addon-api/test/run_script.cc +56 -56
- package/vendor/node-addon-api/test/run_script.js +45 -45
- package/vendor/node-addon-api/test/symbol.cc +79 -79
- package/vendor/node-addon-api/test/symbol.js +73 -73
- package/vendor/node-addon-api/test/testUtil.js +54 -54
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +195 -195
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +188 -188
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +63 -63
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +12 -12
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +115 -115
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +14 -14
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +26 -26
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +7 -7
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +225 -225
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +59 -59
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +42 -42
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +53 -53
- package/vendor/node-addon-api/test/thunking_manual.cc +140 -140
- package/vendor/node-addon-api/test/thunking_manual.js +17 -17
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +215 -215
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +188 -188
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +68 -68
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +12 -12
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +127 -127
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +14 -14
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +28 -28
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +7 -7
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +237 -237
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +59 -59
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +53 -53
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +53 -53
- package/vendor/node-addon-api/test/typedarray-bigint.js +58 -58
- package/vendor/node-addon-api/test/typedarray.cc +216 -216
- package/vendor/node-addon-api/test/typedarray.js +69 -69
- package/vendor/node-addon-api/test/version_management.cc +27 -27
- package/vendor/node-addon-api/test/version_management.js +31 -31
- package/vendor/node-addon-api/tools/README.md +73 -73
- package/vendor/node-addon-api/tools/check-napi.js +100 -100
- package/vendor/node-addon-api/tools/clang-format.js +68 -68
- package/vendor/node-addon-api/tools/conversion.js +309 -309
- package/vendor/node-addon-api/tools/eslint-format.js +71 -71
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
// Copyright 2020 Alexander Bolz
|
|
2
|
-
//
|
|
3
|
-
// Distributed under the Boost Software License, Version 1.0.
|
|
4
|
-
// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
|
|
5
|
-
|
|
6
|
-
#pragma once
|
|
7
|
-
|
|
8
|
-
namespace schubfach {
|
|
9
|
-
|
|
10
|
-
// char* output_end = Dtoa(buffer, value);
|
|
11
|
-
//
|
|
12
|
-
// Converts the given double-precision number into decimal form and stores the result in the given
|
|
13
|
-
// buffer.
|
|
14
|
-
//
|
|
15
|
-
// The buffer must be large enough, i.e. >= DtoaMinBufferLength.
|
|
16
|
-
// The output format is similar to printf("%g").
|
|
17
|
-
// The output is _not_ null-terminted.
|
|
18
|
-
//
|
|
19
|
-
// The output is optimal, i.e. the output string
|
|
20
|
-
// 1. rounds back to the input number when read in (using round-to-nearest-even)
|
|
21
|
-
// 2. is as short as possible,
|
|
22
|
-
// 3. is as close to the input number as possible.
|
|
23
|
-
//
|
|
24
|
-
// Note:
|
|
25
|
-
// This function may temporarily write up to DtoaMinBufferLength characters into the buffer.
|
|
26
|
-
|
|
27
|
-
constexpr int DtoaMinBufferLength = 64;
|
|
28
|
-
|
|
29
|
-
char* Dtoa(char* buffer, double value);
|
|
30
|
-
|
|
31
|
-
} // namespace schubfach
|
|
1
|
+
// Copyright 2020 Alexander Bolz
|
|
2
|
+
//
|
|
3
|
+
// Distributed under the Boost Software License, Version 1.0.
|
|
4
|
+
// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
|
|
5
|
+
|
|
6
|
+
#pragma once
|
|
7
|
+
|
|
8
|
+
namespace schubfach {
|
|
9
|
+
|
|
10
|
+
// char* output_end = Dtoa(buffer, value);
|
|
11
|
+
//
|
|
12
|
+
// Converts the given double-precision number into decimal form and stores the result in the given
|
|
13
|
+
// buffer.
|
|
14
|
+
//
|
|
15
|
+
// The buffer must be large enough, i.e. >= DtoaMinBufferLength.
|
|
16
|
+
// The output format is similar to printf("%g").
|
|
17
|
+
// The output is _not_ null-terminted.
|
|
18
|
+
//
|
|
19
|
+
// The output is optimal, i.e. the output string
|
|
20
|
+
// 1. rounds back to the input number when read in (using round-to-nearest-even)
|
|
21
|
+
// 2. is as short as possible,
|
|
22
|
+
// 3. is as close to the input number as possible.
|
|
23
|
+
//
|
|
24
|
+
// Note:
|
|
25
|
+
// This function may temporarily write up to DtoaMinBufferLength characters into the buffer.
|
|
26
|
+
|
|
27
|
+
constexpr int DtoaMinBufferLength = 64;
|
|
28
|
+
|
|
29
|
+
char* Dtoa(char* buffer, double value);
|
|
30
|
+
|
|
31
|
+
} // namespace schubfach
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
%% Shaded line plot
|
|
2
|
-
% Example showing the difference between the standard plot routine and the
|
|
3
|
-
% shaded routine
|
|
4
|
-
|
|
5
|
-
x = -2*pi:pi/100:2*pi;
|
|
6
|
-
fx = sin(x);
|
|
7
|
-
|
|
8
|
-
figure('Color','w');
|
|
9
|
-
subplot(1,2,1);
|
|
10
|
-
hold on
|
|
11
|
-
plot(x,fx);
|
|
12
|
-
plot(2*x+pi/2,0.5*fx+0.1*x);
|
|
13
|
-
hold off
|
|
14
|
-
title('plot');
|
|
15
|
-
|
|
16
|
-
subplot(1,2,2);
|
|
17
|
-
hold on
|
|
18
|
-
plot_shaded(x,fx);
|
|
19
|
-
plot_shaded(2*x+pi/2,0.5*fx+0.1*x);
|
|
20
|
-
hold off
|
|
21
|
-
title('plot\_shaded');
|
|
22
|
-
|
|
23
|
-
%% Histogram plot
|
|
24
|
-
% Plots two histograms for two different distributions
|
|
25
|
-
|
|
26
|
-
X1 = 3 + 2.0*randn([100000,1]);
|
|
27
|
-
X2 = 12 + 4.0*randn([100000,1]);
|
|
28
|
-
|
|
29
|
-
figure('Color','w');
|
|
30
|
-
hold on
|
|
31
|
-
plot_histogram_shaded(X1,'Alpha',0.3);
|
|
32
|
-
plot_histogram_shaded(X2);
|
|
33
|
-
hold off
|
|
34
|
-
title('plot\_histogram\_shaded');
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
%% Distribution plots
|
|
38
|
-
% Show different plot routines to visualize measurement errors/noise
|
|
39
|
-
|
|
40
|
-
X = 1:0.25:10;
|
|
41
|
-
Y = sin(X)+0.25*X;
|
|
42
|
-
Y_error = randn(1000,numel(Y));
|
|
43
|
-
Y_noisy = Y+Y_error.*repmat(0.1*X,[size(Y_error,1) 1]);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
figure('Color','w');
|
|
47
|
-
subplot(3,1,1);
|
|
48
|
-
plot(X,Y,'LineWidth',1.5);
|
|
49
|
-
title('plot (True value y=f(x))');
|
|
50
|
-
ylim([-1 5]);
|
|
51
|
-
|
|
52
|
-
subplot(3,1,2);
|
|
53
|
-
hold on
|
|
54
|
-
plot(X,Y,'LineWidth',1.5);
|
|
55
|
-
plot_distribution(X,Y_noisy);
|
|
56
|
-
hold off
|
|
57
|
-
title('plot\_distribution');
|
|
58
|
-
ylim([-1 5]);
|
|
59
|
-
|
|
60
|
-
subplot(3,1,3);
|
|
61
|
-
hold on
|
|
62
|
-
plot(X,Y,'LineWidth',1.5);
|
|
63
|
-
plot_distribution_prctile(X,Y_noisy,'Prctile',[25 50 75 90]);
|
|
64
|
-
hold off
|
|
65
|
-
title('plot\_distribution\_prctile');
|
|
66
|
-
ylim([-1 5]);
|
|
67
|
-
|
|
68
|
-
|
|
1
|
+
%% Shaded line plot
|
|
2
|
+
% Example showing the difference between the standard plot routine and the
|
|
3
|
+
% shaded routine
|
|
4
|
+
|
|
5
|
+
x = -2*pi:pi/100:2*pi;
|
|
6
|
+
fx = sin(x);
|
|
7
|
+
|
|
8
|
+
figure('Color','w');
|
|
9
|
+
subplot(1,2,1);
|
|
10
|
+
hold on
|
|
11
|
+
plot(x,fx);
|
|
12
|
+
plot(2*x+pi/2,0.5*fx+0.1*x);
|
|
13
|
+
hold off
|
|
14
|
+
title('plot');
|
|
15
|
+
|
|
16
|
+
subplot(1,2,2);
|
|
17
|
+
hold on
|
|
18
|
+
plot_shaded(x,fx);
|
|
19
|
+
plot_shaded(2*x+pi/2,0.5*fx+0.1*x);
|
|
20
|
+
hold off
|
|
21
|
+
title('plot\_shaded');
|
|
22
|
+
|
|
23
|
+
%% Histogram plot
|
|
24
|
+
% Plots two histograms for two different distributions
|
|
25
|
+
|
|
26
|
+
X1 = 3 + 2.0*randn([100000,1]);
|
|
27
|
+
X2 = 12 + 4.0*randn([100000,1]);
|
|
28
|
+
|
|
29
|
+
figure('Color','w');
|
|
30
|
+
hold on
|
|
31
|
+
plot_histogram_shaded(X1,'Alpha',0.3);
|
|
32
|
+
plot_histogram_shaded(X2);
|
|
33
|
+
hold off
|
|
34
|
+
title('plot\_histogram\_shaded');
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
%% Distribution plots
|
|
38
|
+
% Show different plot routines to visualize measurement errors/noise
|
|
39
|
+
|
|
40
|
+
X = 1:0.25:10;
|
|
41
|
+
Y = sin(X)+0.25*X;
|
|
42
|
+
Y_error = randn(1000,numel(Y));
|
|
43
|
+
Y_noisy = Y+Y_error.*repmat(0.1*X,[size(Y_error,1) 1]);
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
figure('Color','w');
|
|
47
|
+
subplot(3,1,1);
|
|
48
|
+
plot(X,Y,'LineWidth',1.5);
|
|
49
|
+
title('plot (True value y=f(x))');
|
|
50
|
+
ylim([-1 5]);
|
|
51
|
+
|
|
52
|
+
subplot(3,1,2);
|
|
53
|
+
hold on
|
|
54
|
+
plot(X,Y,'LineWidth',1.5);
|
|
55
|
+
plot_distribution(X,Y_noisy);
|
|
56
|
+
hold off
|
|
57
|
+
title('plot\_distribution');
|
|
58
|
+
ylim([-1 5]);
|
|
59
|
+
|
|
60
|
+
subplot(3,1,3);
|
|
61
|
+
hold on
|
|
62
|
+
plot(X,Y,'LineWidth',1.5);
|
|
63
|
+
plot_distribution_prctile(X,Y_noisy,'Prctile',[25 50 75 90]);
|
|
64
|
+
hold off
|
|
65
|
+
title('plot\_distribution\_prctile');
|
|
66
|
+
ylim([-1 5]);
|
|
67
|
+
|
|
68
|
+
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
Copyright (c) 2018, John A. Onofrey
|
|
2
|
-
All rights reserved.
|
|
3
|
-
|
|
4
|
-
Redistribution and use in source and binary forms, with or without
|
|
5
|
-
modification, are permitted provided that the following conditions are met:
|
|
6
|
-
|
|
7
|
-
* Redistributions of source code must retain the above copyright notice, this
|
|
8
|
-
list of conditions and the following disclaimer.
|
|
9
|
-
|
|
10
|
-
* Redistributions in binary form must reproduce the above copyright notice,
|
|
11
|
-
this list of conditions and the following disclaimer in the documentation
|
|
12
|
-
and/or other materials provided with the distribution
|
|
13
|
-
* Neither the name of Yale University nor the names of its
|
|
14
|
-
contributors may be used to endorse or promote products derived from this
|
|
15
|
-
software without specific prior written permission.
|
|
16
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
17
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
18
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
19
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
20
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
21
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
22
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
23
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
24
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
25
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1
|
+
Copyright (c) 2018, John A. Onofrey
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
8
|
+
list of conditions and the following disclaimer.
|
|
9
|
+
|
|
10
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
11
|
+
this list of conditions and the following disclaimer in the documentation
|
|
12
|
+
and/or other materials provided with the distribution
|
|
13
|
+
* Neither the name of Yale University nor the names of its
|
|
14
|
+
contributors may be used to endorse or promote products derived from this
|
|
15
|
+
software without specific prior written permission.
|
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
17
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
18
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
19
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
20
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
21
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
22
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
23
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
24
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
25
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
function plot_distribution(varargin)
|
|
2
|
-
% PLOT_DISTRIBUTION(X,Y) - Plots the mean with standard deviation errors as a shaded region in the open
|
|
3
|
-
% figure window.
|
|
4
|
-
% Inputs:
|
|
5
|
-
% X: vector of n domain values (the x-axis).
|
|
6
|
-
% Y: mxn matrix of distribution of range values (the y-axis), where m
|
|
7
|
-
% corresponds to the number of data samples for each value n.
|
|
8
|
-
%
|
|
9
|
-
% PLOT_DISTRIBUTION(X,Y,...)
|
|
10
|
-
% Parameter options include:
|
|
11
|
-
% 'Alpha': the alpha value of the shaded region, default 0.15.
|
|
12
|
-
% 'Color': the shaded region color.
|
|
13
|
-
% 'LineWidth': the contour line width, default = 2.0.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[X,Y,color_value,alpha_value,line_width] = parseinputs(varargin{:});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
MU = mean(Y);
|
|
20
|
-
SIGMA = std(Y);
|
|
21
|
-
|
|
22
|
-
hold on
|
|
23
|
-
% Create the polygons for the shaded region
|
|
24
|
-
|
|
25
|
-
Ptop = MU+SIGMA;
|
|
26
|
-
Pbot = MU-SIGMA;
|
|
27
|
-
|
|
28
|
-
for i=1:numel(X)-1
|
|
29
|
-
Px = [X(i) X(i+1) X(i+1) X(i)];
|
|
30
|
-
Py = [Ptop(i) Ptop(i+1) Pbot(i+1) Pbot(i)];
|
|
31
|
-
fill(Px,Py,color_value,'FaceAlpha',alpha_value,'EdgeColor','none');
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
plot(X,MU,'LineWidth',line_width,'Color',color_value);
|
|
35
|
-
hold off
|
|
36
|
-
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
function [X,Y,color_value,alpha_value,line_width] = parseinputs(varargin)
|
|
43
|
-
|
|
44
|
-
% Check the number of input args
|
|
45
|
-
minargs = 2;
|
|
46
|
-
numopts = 3;
|
|
47
|
-
maxargs = minargs + 2*numopts;
|
|
48
|
-
narginchk(minargs,maxargs);
|
|
49
|
-
|
|
50
|
-
ax = gca;
|
|
51
|
-
|
|
52
|
-
% Set the defaults
|
|
53
|
-
alpha_value = 0.15;
|
|
54
|
-
color_value = ax.ColorOrder(ax.ColorOrderIndex,:);
|
|
55
|
-
line_width = 2.0;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
% Get the inputs and check them
|
|
59
|
-
X = varargin{1};
|
|
60
|
-
validateattributes(X,{'numeric'},{'vector','nonnan','finite'},mfilename,'X',2);
|
|
61
|
-
Y = varargin{2};
|
|
62
|
-
validateattributes(Y,{'numeric'},{'2d','nonnan','finite','ncols',numel(X)},mfilename,'Y',2);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if nargin > minargs
|
|
66
|
-
for i=(minargs+1):2:nargin
|
|
67
|
-
PNAME = varargin{i};
|
|
68
|
-
PVALUE = varargin{i+1};
|
|
69
|
-
|
|
70
|
-
PNAME = validatestring(PNAME,{'Alpha','Color','LineWidth','Prctile'},...
|
|
71
|
-
mfilename,'ParameterName',i);
|
|
72
|
-
|
|
73
|
-
switch PNAME
|
|
74
|
-
case 'Alpha'
|
|
75
|
-
validateattributes(PVALUE,{'numeric'},{'scalar','nonnan','finite','nonnegative','<=',1.0},mfilename,PNAME,i+1);
|
|
76
|
-
alpha_value = PVALUE;
|
|
77
|
-
case 'Color'
|
|
78
|
-
validateattributes(PVALUE,{'numeric'},{'real','nonnegative','nonempty','vector','numel',3,'<=',1.0},mfilename,PNAME,i+1);
|
|
79
|
-
color_value = PVALUE;
|
|
80
|
-
case 'LineWidth'
|
|
81
|
-
validateattributes(PVALUE,{'numeric'},{'scalar','finite','nonnegative'},...
|
|
82
|
-
mfilename,PNAME,i+1);
|
|
83
|
-
line_width = PVALUE;
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
1
|
+
function plot_distribution(varargin)
|
|
2
|
+
% PLOT_DISTRIBUTION(X,Y) - Plots the mean with standard deviation errors as a shaded region in the open
|
|
3
|
+
% figure window.
|
|
4
|
+
% Inputs:
|
|
5
|
+
% X: vector of n domain values (the x-axis).
|
|
6
|
+
% Y: mxn matrix of distribution of range values (the y-axis), where m
|
|
7
|
+
% corresponds to the number of data samples for each value n.
|
|
8
|
+
%
|
|
9
|
+
% PLOT_DISTRIBUTION(X,Y,...)
|
|
10
|
+
% Parameter options include:
|
|
11
|
+
% 'Alpha': the alpha value of the shaded region, default 0.15.
|
|
12
|
+
% 'Color': the shaded region color.
|
|
13
|
+
% 'LineWidth': the contour line width, default = 2.0.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
[X,Y,color_value,alpha_value,line_width] = parseinputs(varargin{:});
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
MU = mean(Y);
|
|
20
|
+
SIGMA = std(Y);
|
|
21
|
+
|
|
22
|
+
hold on
|
|
23
|
+
% Create the polygons for the shaded region
|
|
24
|
+
|
|
25
|
+
Ptop = MU+SIGMA;
|
|
26
|
+
Pbot = MU-SIGMA;
|
|
27
|
+
|
|
28
|
+
for i=1:numel(X)-1
|
|
29
|
+
Px = [X(i) X(i+1) X(i+1) X(i)];
|
|
30
|
+
Py = [Ptop(i) Ptop(i+1) Pbot(i+1) Pbot(i)];
|
|
31
|
+
fill(Px,Py,color_value,'FaceAlpha',alpha_value,'EdgeColor','none');
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
plot(X,MU,'LineWidth',line_width,'Color',color_value);
|
|
35
|
+
hold off
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
function [X,Y,color_value,alpha_value,line_width] = parseinputs(varargin)
|
|
43
|
+
|
|
44
|
+
% Check the number of input args
|
|
45
|
+
minargs = 2;
|
|
46
|
+
numopts = 3;
|
|
47
|
+
maxargs = minargs + 2*numopts;
|
|
48
|
+
narginchk(minargs,maxargs);
|
|
49
|
+
|
|
50
|
+
ax = gca;
|
|
51
|
+
|
|
52
|
+
% Set the defaults
|
|
53
|
+
alpha_value = 0.15;
|
|
54
|
+
color_value = ax.ColorOrder(ax.ColorOrderIndex,:);
|
|
55
|
+
line_width = 2.0;
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
% Get the inputs and check them
|
|
59
|
+
X = varargin{1};
|
|
60
|
+
validateattributes(X,{'numeric'},{'vector','nonnan','finite'},mfilename,'X',2);
|
|
61
|
+
Y = varargin{2};
|
|
62
|
+
validateattributes(Y,{'numeric'},{'2d','nonnan','finite','ncols',numel(X)},mfilename,'Y',2);
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
if nargin > minargs
|
|
66
|
+
for i=(minargs+1):2:nargin
|
|
67
|
+
PNAME = varargin{i};
|
|
68
|
+
PVALUE = varargin{i+1};
|
|
69
|
+
|
|
70
|
+
PNAME = validatestring(PNAME,{'Alpha','Color','LineWidth','Prctile'},...
|
|
71
|
+
mfilename,'ParameterName',i);
|
|
72
|
+
|
|
73
|
+
switch PNAME
|
|
74
|
+
case 'Alpha'
|
|
75
|
+
validateattributes(PVALUE,{'numeric'},{'scalar','nonnan','finite','nonnegative','<=',1.0},mfilename,PNAME,i+1);
|
|
76
|
+
alpha_value = PVALUE;
|
|
77
|
+
case 'Color'
|
|
78
|
+
validateattributes(PVALUE,{'numeric'},{'real','nonnegative','nonempty','vector','numel',3,'<=',1.0},mfilename,PNAME,i+1);
|
|
79
|
+
color_value = PVALUE;
|
|
80
|
+
case 'LineWidth'
|
|
81
|
+
validateattributes(PVALUE,{'numeric'},{'scalar','finite','nonnegative'},...
|
|
82
|
+
mfilename,PNAME,i+1);
|
|
83
|
+
line_width = PVALUE;
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|