react-native-executorch 0.10.5 → 0.10.7
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/README.md +10 -1
- package/android/build.gradle.kts +4 -3
- package/ios/RnExecutorch.mm +15 -17
- package/lib/module/fetcher/fetcher.js +35 -122
- package/lib/module/fetcher/fetcher.js.map +1 -1
- package/lib/module/fetcher/telemetry.js +1 -1
- package/lib/module/index.js +12 -13
- package/lib/module/index.js.map +1 -1
- package/lib/module/models.js +4 -2
- package/lib/module/models.js.map +1 -1
- package/lib/typescript/src/fetcher/fetcher.d.ts +3 -7
- package/lib/typescript/src/fetcher/fetcher.d.ts.map +1 -1
- package/lib/typescript/src/models.d.ts.map +1 -1
- package/package.json +9 -7
- package/react-native-executorch.podspec +6 -2
- package/src/fetcher/fetcher.ts +38 -131
- package/src/fetcher/telemetry.ts +1 -1
- package/src/models.ts +6 -1
- package/third-party/common/phonemis/CMakeLists.txt +70 -14
- package/third-party/common/phonemis/README.md +183 -33
- package/third-party/common/phonemis/THIRD_PARTY_NOTICES.md +57 -0
- package/third-party/common/phonemis/knowledge/code_style.md +642 -0
- package/third-party/common/phonemis/licenses/Unicode-3.0.txt +39 -0
- package/third-party/common/phonemis/licenses/misaki-Apache-2.0.txt +201 -0
- package/third-party/common/phonemis/licenses/nlohmann-json-MIT.txt +21 -0
- package/third-party/common/phonemis/licenses/xsimd-BSD-3-Clause.txt +29 -0
- package/third-party/common/phonemis/src/phonemis/base/config.h +6 -0
- package/third-party/common/phonemis/src/phonemis/base/ipipeline.cpp +75 -0
- package/third-party/common/phonemis/src/phonemis/base/ipipeline.h +21 -0
- package/third-party/common/phonemis/src/phonemis/base/phonemizer/constants.h +2 -5
- package/third-party/common/phonemis/src/phonemis/base/phonemizer/lexicon_phonemizer.cpp +3 -4
- package/third-party/common/phonemis/src/phonemis/base/phonemizer/nn/neural_phonemizer.cpp +17 -8
- package/third-party/common/phonemis/src/phonemis/base/phonemizer/nn/neural_phonemizer.h +4 -0
- package/third-party/common/phonemis/src/phonemis/base/phonemizer/nn/tokenizer.cpp +21 -6
- package/third-party/common/phonemis/src/phonemis/base/phonemizer/nn/tokenizer.h +13 -4
- package/third-party/common/phonemis/src/phonemis/base/pipeline.cpp +8 -0
- package/third-party/common/phonemis/src/phonemis/base/pipeline.h +19 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/conditions.cpp +37 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/conditions.h +45 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/constants.h +10 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/context.cpp +105 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/context.h +49 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/document.cpp +173 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/document.h +67 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/text.cpp +75 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/text.h +60 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/common/types.h +18 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/config.h +53 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layer.h +9 -7
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/normalize/constants.h +20 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/normalize/layer.cpp +89 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/normalize/layer.h +35 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/normalize/types.h +16 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/kind.h +40 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/layer.h +382 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/notation.h +30 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/numerals.cpp +51 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/numerals.h +31 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/pattern.h +30 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/pattern_set.cpp +17 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/pattern_set.h +31 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/patterns.cpp +811 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/patterns.h +285 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/primitives.cpp +64 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/primitives.h +23 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/num2word/types.h +94 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/sanitizer/layer.cpp +19 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/{sanitizer_layer.h → layers/sanitizer/layer.h} +8 -8
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/sym2word/layer.cpp +65 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/sym2word/layer.h +29 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/term2word/layer.cpp +170 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/term2word/layer.h +40 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/term2word/types.h +25 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/trim/layer.cpp +47 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/layers/trim/layer.h +19 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/preprocessor.cpp +60 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/preprocessor.h +45 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/processor.cpp +6 -7
- package/third-party/common/phonemis/src/phonemis/base/processor/processor.h +14 -10
- package/third-party/common/phonemis/src/phonemis/base/tagger/hmm_tagger.cpp +89 -52
- package/third-party/common/phonemis/src/phonemis/base/tagger/hmm_tagger.h +16 -9
- package/third-party/common/phonemis/src/phonemis/base/tokenizer/tokenizer.cpp +13 -12
- package/third-party/common/phonemis/src/phonemis/lang/de/constants.h +183 -19
- package/third-party/common/phonemis/src/phonemis/lang/de/num2word.cpp +355 -309
- package/third-party/common/phonemis/src/phonemis/lang/de/num2word.h +42 -17
- package/third-party/common/phonemis/src/phonemis/lang/de/patterns.cpp +56 -0
- package/third-party/common/phonemis/src/phonemis/lang/de/patterns.h +15 -0
- package/third-party/common/phonemis/src/phonemis/lang/de/pipeline.h +3 -3
- package/third-party/common/phonemis/src/phonemis/lang/en/constants.h +181 -30
- package/third-party/common/phonemis/src/phonemis/lang/en/hmm_tagger.cpp +5 -7
- package/third-party/common/phonemis/src/phonemis/lang/en/num2word.cpp +232 -135
- package/third-party/common/phonemis/src/phonemis/lang/en/num2word.h +41 -16
- package/third-party/common/phonemis/src/phonemis/lang/en/pipeline.h +3 -10
- package/third-party/common/phonemis/src/phonemis/lang/es/constants.h +182 -60
- package/third-party/common/phonemis/src/phonemis/lang/es/num2word.cpp +247 -212
- package/third-party/common/phonemis/src/phonemis/lang/es/num2word.h +38 -18
- package/third-party/common/phonemis/src/phonemis/lang/es/patterns.cpp +50 -0
- package/third-party/common/phonemis/src/phonemis/lang/es/patterns.h +15 -0
- package/third-party/common/phonemis/src/phonemis/lang/es/pipeline.h +3 -3
- package/third-party/common/phonemis/src/phonemis/lang/fr/constants.h +152 -26
- package/third-party/common/phonemis/src/phonemis/lang/fr/num2word.cpp +252 -179
- package/third-party/common/phonemis/src/phonemis/lang/fr/num2word.h +38 -15
- package/third-party/common/phonemis/src/phonemis/lang/fr/patterns.cpp +83 -0
- package/third-party/common/phonemis/src/phonemis/lang/fr/patterns.h +15 -0
- package/third-party/common/phonemis/src/phonemis/lang/fr/pipeline.h +3 -3
- package/third-party/common/phonemis/src/phonemis/lang/hi/constants.h +62 -10
- package/third-party/common/phonemis/src/phonemis/lang/hi/num2word.cpp +74 -123
- package/third-party/common/phonemis/src/phonemis/lang/hi/num2word.h +27 -16
- package/third-party/common/phonemis/src/phonemis/lang/hi/pipeline.h +5 -3
- package/third-party/common/phonemis/src/phonemis/lang/it/constants.h +122 -42
- package/third-party/common/phonemis/src/phonemis/lang/it/num2word.cpp +200 -207
- package/third-party/common/phonemis/src/phonemis/lang/it/num2word.h +30 -18
- package/third-party/common/phonemis/src/phonemis/lang/it/patterns.cpp +25 -0
- package/third-party/common/phonemis/src/phonemis/lang/it/patterns.h +15 -0
- package/third-party/common/phonemis/src/phonemis/lang/it/pipeline.h +3 -3
- package/third-party/common/phonemis/src/phonemis/lang/pl/constants.h +346 -77
- package/third-party/common/phonemis/src/phonemis/lang/pl/num2word.cpp +631 -246
- package/third-party/common/phonemis/src/phonemis/lang/pl/num2word.h +47 -15
- package/third-party/common/phonemis/src/phonemis/lang/pl/pipeline.h +6 -6
- package/third-party/common/phonemis/src/phonemis/lang/pt/constants.h +201 -0
- package/third-party/common/phonemis/src/phonemis/lang/pt/num2word.cpp +365 -0
- package/third-party/common/phonemis/src/phonemis/lang/pt/num2word.h +53 -0
- package/third-party/common/phonemis/src/phonemis/lang/pt/pipeline.h +4 -2
- package/third-party/common/phonemis/src/phonemis/main.cpp +42 -11
- package/third-party/common/phonemis/src/phonemis/protophone/meta.h +24 -0
- package/third-party/common/phonemis/src/phonemis/protophone/numeric.h +26 -0
- package/third-party/common/phonemis/src/phonemis/protophone/protophone.cpp +525 -0
- package/third-party/common/phonemis/src/phonemis/protophone/protophone.h +80 -0
- package/third-party/common/phonemis/src/phonemis/protophone/tensor.h +76 -0
- package/third-party/common/phonemis/src/phonemis/protophone/tensor_utils.h +89 -0
- package/third-party/common/phonemis/src/phonemis/protophone/tensor_view.h +125 -0
- package/third-party/common/phonemis/src/phonemis/protophone/types.h +43 -0
- package/third-party/common/phonemis/src/phonemis/utils/strings.h +20 -14
- package/third-party/common/phonemis/src/phonemis/utils/unicode.h +15 -1
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_arithmetic.hpp +267 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_bit.hpp +232 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_cast.hpp +43 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_complex.hpp +112 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_details.hpp +386 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_logical.hpp +240 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_math.hpp +2601 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_memory.hpp +1006 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_rounding.hpp +72 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_swizzle.hpp +260 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/common/xsimd_common_trigo.hpp +996 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/utils/shifts.hpp +82 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx.hpp +2111 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx2.hpp +1591 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx2_128.hpp +170 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512bw.hpp +724 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512cd.hpp +28 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512dq.hpp +270 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512er.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512f.hpp +2919 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512ifma.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512pf.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512vbmi.hpp +76 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512vbmi2.hpp +130 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512vnni_avx512bw.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx512vnni_avx512vbmi2.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avx_128.hpp +164 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_avxvnni.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_common.hpp +26 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_common_fwd.hpp +127 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_constants.hpp +393 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_emulated.hpp +787 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_fma3_avx.hpp +93 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_fma3_avx2.hpp +46 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_fma3_sse.hpp +97 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_fma4.hpp +92 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_i8mm_neon64.hpp +17 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_isa.hpp +148 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_neon.hpp +3580 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_neon64.hpp +1614 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_rvv.hpp +1515 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_scalar.hpp +1210 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_sse2.hpp +2333 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_sse3.hpp +66 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_sse4_1.hpp +510 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_sse4_2.hpp +44 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_ssse3.hpp +186 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_sve.hpp +1186 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_vsx.hpp +947 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_vxe.hpp +787 -0
- package/third-party/common/phonemis/src/third-party/xsimd/arch/xsimd_wasm.hpp +1819 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_arch.hpp +242 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_config.hpp +633 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpu_features.hpp +50 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpu_features_arm.hpp +132 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpu_features_ppc.hpp +54 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpu_features_riscv.hpp +95 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpu_features_s390x.hpp +56 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpu_features_x86.hpp +1121 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_cpuid.hpp +144 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_getauxval.hpp +159 -0
- package/third-party/common/phonemis/src/third-party/xsimd/config/xsimd_macros.hpp +78 -0
- package/third-party/common/phonemis/src/third-party/xsimd/math/xsimd_rem_pio2.hpp +707 -0
- package/third-party/common/phonemis/src/third-party/xsimd/memory/xsimd_aligned_allocator.hpp +349 -0
- package/third-party/common/phonemis/src/third-party/xsimd/memory/xsimd_alignment.hpp +102 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_all_registers.hpp +57 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_api.hpp +3106 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx2_register.hpp +57 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512bw_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512cd_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512dq_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512er_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512f_register.hpp +77 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512ifma_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512pf_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512vbmi2_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512vbmi_register.hpp +51 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512vnni_avx512bw_register.hpp +54 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx512vnni_avx512vbmi2_register.hpp +53 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avx_register.hpp +79 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_avxvnni_register.hpp +44 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_batch.hpp +1666 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_batch_constant.hpp +572 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_batch_fwd.hpp +41 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_common_arch.hpp +49 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_emulated_register.hpp +80 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_fma3_avx2_register.hpp +50 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_fma3_avx_register.hpp +50 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_fma3_sse_register.hpp +50 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_fma4_register.hpp +50 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_i8mm_neon64_register.hpp +55 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_neon64_register.hpp +55 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_neon_register.hpp +130 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_register.hpp +96 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_rvv_register.hpp +491 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_sse2_register.hpp +59 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_sse3_register.hpp +49 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_sse4_1_register.hpp +48 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_sse4_2_register.hpp +48 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_ssse3_register.hpp +48 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_sve_register.hpp +216 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_traits.hpp +409 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_utils.hpp +462 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_vsx_register.hpp +84 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_vxe_register.hpp +86 -0
- package/third-party/common/phonemis/src/third-party/xsimd/types/xsimd_wasm_register.hpp +59 -0
- package/third-party/common/phonemis/src/third-party/xsimd/utils/bits.hpp +122 -0
- package/third-party/common/phonemis/src/third-party/xsimd/utils/xsimd_type_traits.hpp +145 -0
- package/third-party/common/phonemis/src/third-party/xsimd/xsimd.hpp +43 -0
- package/third-party/common/phonemis/src/phonemis/base/processor/constants.h +0 -11
- package/third-party/common/phonemis/src/phonemis/base/processor/num2word/config.h +0 -16
- package/third-party/common/phonemis/src/phonemis/base/processor/num2word/layer.cpp +0 -271
- package/third-party/common/phonemis/src/phonemis/base/processor/num2word/layer.h +0 -45
- package/third-party/common/phonemis/src/phonemis/base/processor/num2word/types.h +0 -29
- package/third-party/common/phonemis/src/phonemis/base/processor/sanitizer_layer.cpp +0 -22
- package/third-party/common/phonemis/src/phonemis/base/processor/trim_layer.cpp +0 -40
- package/third-party/common/phonemis/src/phonemis/base/processor/trim_layer.h +0 -22
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
|
|
3
|
+
* Martin Renou *
|
|
4
|
+
* Copyright (c) QuantStack *
|
|
5
|
+
* Copyright (c) Serge Guelton *
|
|
6
|
+
* *
|
|
7
|
+
* Distributed under the terms of the BSD 3-Clause License. *
|
|
8
|
+
* *
|
|
9
|
+
* The full license is in the file LICENSE, distributed with this software. *
|
|
10
|
+
***************************************************************************/
|
|
11
|
+
|
|
12
|
+
#ifndef XSIMD_CPU_FEATURES_ARM_HPP
|
|
13
|
+
#define XSIMD_CPU_FEATURES_ARM_HPP
|
|
14
|
+
|
|
15
|
+
#include <cstddef>
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
|
|
18
|
+
#include "./xsimd_config.hpp"
|
|
19
|
+
#include "./xsimd_getauxval.hpp"
|
|
20
|
+
|
|
21
|
+
#if XSIMD_TARGET_ARM && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
22
|
+
// HWCAP_XXX masks to use on getauxval results.
|
|
23
|
+
// Header does not exists on all architectures and masks are architecture
|
|
24
|
+
// specific.
|
|
25
|
+
#include <asm/hwcap.h>
|
|
26
|
+
#endif // XSIMD_TARGET_ARM && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
27
|
+
|
|
28
|
+
namespace xsimd
|
|
29
|
+
{
|
|
30
|
+
|
|
31
|
+
namespace detail
|
|
32
|
+
{
|
|
33
|
+
using arm_reg64_t = std::uint64_t;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Return the SVE vector length in bytes for the current thread.
|
|
37
|
+
*
|
|
38
|
+
* SVE vector length can be restricted
|
|
39
|
+
* Contrary to `svcntb` this does not require to be compiles with SVE, which
|
|
40
|
+
* should not be done in a dynamic dispatch jump function.
|
|
41
|
+
*
|
|
42
|
+
* Safety: It is the user responsibility to first make sure that SVE is
|
|
43
|
+
* available.
|
|
44
|
+
*/
|
|
45
|
+
inline arm_reg64_t arm_rdvl_unsafe();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* An opinionated CPU feature detection utility for ARM.
|
|
50
|
+
*
|
|
51
|
+
* Combines compile-time knowledge with runtime detection when available.
|
|
52
|
+
* On Linux, runtime detection uses getauxval to query the auxiliary vector.
|
|
53
|
+
* On other platforms, only compile-time information is used.
|
|
54
|
+
*
|
|
55
|
+
* This is well defined on all architectures.
|
|
56
|
+
* It will always return false on non-ARM architectures.
|
|
57
|
+
*/
|
|
58
|
+
class arm_cpu_features : private linux_hwcap_backend_default
|
|
59
|
+
{
|
|
60
|
+
public:
|
|
61
|
+
inline bool neon() const noexcept;
|
|
62
|
+
inline bool neon64() const noexcept;
|
|
63
|
+
inline bool sve() const noexcept;
|
|
64
|
+
inline std::size_t sve_size_bytes() const noexcept;
|
|
65
|
+
inline bool i8mm() const noexcept;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/********************
|
|
69
|
+
* Implementation *
|
|
70
|
+
********************/
|
|
71
|
+
|
|
72
|
+
namespace detail
|
|
73
|
+
{
|
|
74
|
+
#if XSIMD_TARGET_ARM64 && (defined(__GNUC__) || defined(__clang__))
|
|
75
|
+
__attribute__((target("arch=armv8-a+sve"))) inline arm_reg64_t arm_rdvl_unsafe()
|
|
76
|
+
{
|
|
77
|
+
arm_reg64_t vl;
|
|
78
|
+
__asm__ volatile("rdvl %0, #1" : "=r"(vl));
|
|
79
|
+
return vl;
|
|
80
|
+
}
|
|
81
|
+
#else
|
|
82
|
+
inline arm_reg64_t arm_rdvl_unsafe() { return 0; }
|
|
83
|
+
#endif
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
inline bool arm_cpu_features::neon() const noexcept
|
|
87
|
+
{
|
|
88
|
+
#if XSIMD_TARGET_ARM && !XSIMD_TARGET_ARM64 && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
89
|
+
return hwcap().has_feature(HWCAP_NEON);
|
|
90
|
+
#else
|
|
91
|
+
return static_cast<bool>(XSIMD_WITH_NEON);
|
|
92
|
+
#endif
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
inline bool arm_cpu_features::neon64() const noexcept
|
|
96
|
+
{
|
|
97
|
+
return static_cast<bool>(XSIMD_WITH_NEON64);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
inline bool arm_cpu_features::sve() const noexcept
|
|
101
|
+
{
|
|
102
|
+
#if XSIMD_TARGET_ARM64 && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
103
|
+
return hwcap().has_feature(HWCAP_SVE);
|
|
104
|
+
#else
|
|
105
|
+
return false;
|
|
106
|
+
#endif
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
inline std::size_t arm_cpu_features::sve_size_bytes() const noexcept
|
|
110
|
+
{
|
|
111
|
+
if (sve())
|
|
112
|
+
{
|
|
113
|
+
return detail::arm_rdvl_unsafe();
|
|
114
|
+
}
|
|
115
|
+
return 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
inline bool arm_cpu_features::i8mm() const noexcept
|
|
119
|
+
{
|
|
120
|
+
#if XSIMD_TARGET_ARM64 && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
121
|
+
#ifdef HWCAP2_I8MM
|
|
122
|
+
return hwcap2().has_feature(HWCAP2_I8MM);
|
|
123
|
+
#else
|
|
124
|
+
// Possibly missing on older Linux distributions
|
|
125
|
+
return hwcap2().has_feature(1 << 13);
|
|
126
|
+
#endif
|
|
127
|
+
#else
|
|
128
|
+
return false;
|
|
129
|
+
#endif
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
#endif
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
|
|
3
|
+
* Martin Renou *
|
|
4
|
+
* Copyright (c) QuantStack *
|
|
5
|
+
* Copyright (c) Serge Guelton *
|
|
6
|
+
* *
|
|
7
|
+
* Distributed under the terms of the BSD 3-Clause License. *
|
|
8
|
+
* *
|
|
9
|
+
* The full license is in the file LICENSE, distributed with this software. *
|
|
10
|
+
***************************************************************************/
|
|
11
|
+
|
|
12
|
+
#ifndef XSIMD_CPU_FEATURES_PPC_HPP
|
|
13
|
+
#define XSIMD_CPU_FEATURES_PPC_HPP
|
|
14
|
+
|
|
15
|
+
#include "./xsimd_config.hpp"
|
|
16
|
+
#include "./xsimd_getauxval.hpp"
|
|
17
|
+
|
|
18
|
+
namespace xsimd
|
|
19
|
+
{
|
|
20
|
+
/**
|
|
21
|
+
* An opinionated CPU feature detection utility for PowerPC.
|
|
22
|
+
*
|
|
23
|
+
* On Linux, runtime detection uses getauxval to query the auxiliary vector.
|
|
24
|
+
* On other platforms, only compile-time information is used.
|
|
25
|
+
*
|
|
26
|
+
* This is well defined on all architectures.
|
|
27
|
+
* It will always return false on non-PowerPC architectures.
|
|
28
|
+
*/
|
|
29
|
+
class ppc_cpu_features : private linux_hwcap_backend_default
|
|
30
|
+
{
|
|
31
|
+
public:
|
|
32
|
+
inline bool vsx() const noexcept;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/********************
|
|
36
|
+
* Implementation *
|
|
37
|
+
********************/
|
|
38
|
+
|
|
39
|
+
inline bool ppc_cpu_features::vsx() const noexcept
|
|
40
|
+
{
|
|
41
|
+
#if XSIMD_TARGET_PPC && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
42
|
+
#ifdef PPC_FEATURE_HAS_VSX
|
|
43
|
+
return hwcap().has_feature(PPC_FEATURE_HAS_VSX);
|
|
44
|
+
#else
|
|
45
|
+
// Possibly missing on older Linux distributions
|
|
46
|
+
return hwcap().has_feature(0x00000080);
|
|
47
|
+
#endif
|
|
48
|
+
#else
|
|
49
|
+
return XSIMD_WITH_VSX;
|
|
50
|
+
#endif
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#endif
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
|
|
3
|
+
* Martin Renou *
|
|
4
|
+
* Copyright (c) QuantStack *
|
|
5
|
+
* Copyright (c) Serge Guelton *
|
|
6
|
+
* *
|
|
7
|
+
* Distributed under the terms of the BSD 3-Clause License. *
|
|
8
|
+
* *
|
|
9
|
+
* The full license is in the file LICENSE, distributed with this software. *
|
|
10
|
+
***************************************************************************/
|
|
11
|
+
|
|
12
|
+
#ifndef XSIMD_CPU_FEATURES_RISCV_HPP
|
|
13
|
+
#define XSIMD_CPU_FEATURES_RISCV_HPP
|
|
14
|
+
|
|
15
|
+
#include <cstddef>
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
|
|
18
|
+
#include "./xsimd_config.hpp"
|
|
19
|
+
#include "./xsimd_getauxval.hpp"
|
|
20
|
+
|
|
21
|
+
#if XSIMD_TARGET_RISCV && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
22
|
+
// HWCAP_XXX masks to use on getauxval results.
|
|
23
|
+
// Header does not exists on all architectures and masks are architecture
|
|
24
|
+
// specific.
|
|
25
|
+
#include <asm/hwcap.h>
|
|
26
|
+
#endif // XSIMD_TARGET_RISCV && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
27
|
+
|
|
28
|
+
namespace xsimd
|
|
29
|
+
{
|
|
30
|
+
namespace detail
|
|
31
|
+
{
|
|
32
|
+
using riscv_reg64_t = std::uint64_t;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Return the RVV vector length in bytes.
|
|
36
|
+
*
|
|
37
|
+
* This does not require to be compiles with SVE, which should not
|
|
38
|
+
* be done in a dynamic dispatch jump function.
|
|
39
|
+
*
|
|
40
|
+
* Safety: It is the user responsibility to first make sure that RVV is
|
|
41
|
+
* available.
|
|
42
|
+
*/
|
|
43
|
+
inline riscv_reg64_t riscv_csrr_unsafe();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
class riscv_cpu_features : private linux_hwcap_backend_default
|
|
47
|
+
{
|
|
48
|
+
public:
|
|
49
|
+
inline bool rvv() const noexcept;
|
|
50
|
+
inline std::size_t rvv_size_bytes() const noexcept;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/********************
|
|
54
|
+
* Implementation *
|
|
55
|
+
********************/
|
|
56
|
+
|
|
57
|
+
namespace detail
|
|
58
|
+
{
|
|
59
|
+
#if XSIMD_TARGET_RISCV && (defined(__GNUC__) || defined(__clang__))
|
|
60
|
+
__attribute__((target("arch=+v"))) inline riscv_reg64_t riscv_csrr_unsafe()
|
|
61
|
+
{
|
|
62
|
+
riscv_reg64_t vlenb;
|
|
63
|
+
__asm__ volatile("csrr %0, vlenb" : "=r"(vlenb));
|
|
64
|
+
return vlenb;
|
|
65
|
+
}
|
|
66
|
+
#else
|
|
67
|
+
inline riscv_reg64_t riscv_csrr_unsafe() { return 0; }
|
|
68
|
+
#endif
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
inline bool riscv_cpu_features::rvv() const noexcept
|
|
72
|
+
{
|
|
73
|
+
#if XSIMD_TARGET_RISCV && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
74
|
+
#ifdef HWCAP_V
|
|
75
|
+
return hwcap().has_feature(HWCAP_V);
|
|
76
|
+
#else
|
|
77
|
+
// Possibly missing on older Linux distributions
|
|
78
|
+
return hwcap().has_feature(1 << ('V' - 'A'));
|
|
79
|
+
#endif
|
|
80
|
+
#else
|
|
81
|
+
return false;
|
|
82
|
+
#endif
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
inline std::size_t riscv_cpu_features::rvv_size_bytes() const noexcept
|
|
86
|
+
{
|
|
87
|
+
if (rvv())
|
|
88
|
+
{
|
|
89
|
+
return detail::riscv_csrr_unsafe();
|
|
90
|
+
}
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#endif
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* Copyright (c) Andreas Krebbel *
|
|
3
|
+
* Based on xsimd_cpu_features_ppc.hpp *
|
|
4
|
+
* Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
|
|
5
|
+
* Martin Renou *
|
|
6
|
+
* Copyright (c) QuantStack *
|
|
7
|
+
* Copyright (c) Serge Guelton *
|
|
8
|
+
* *
|
|
9
|
+
* Distributed under the terms of the BSD 3-Clause License. *
|
|
10
|
+
* *
|
|
11
|
+
* The full license is in the file LICENSE, distributed with this software. *
|
|
12
|
+
****************************************************************************/
|
|
13
|
+
|
|
14
|
+
#ifndef XSIMD_CPU_FEATURES_S390X_HPP
|
|
15
|
+
#define XSIMD_CPU_FEATURES_S390X_HPP
|
|
16
|
+
|
|
17
|
+
#include "./xsimd_config.hpp"
|
|
18
|
+
#include "./xsimd_getauxval.hpp"
|
|
19
|
+
|
|
20
|
+
namespace xsimd
|
|
21
|
+
{
|
|
22
|
+
/**
|
|
23
|
+
* An opinionated CPU feature detection utility for IBM Z.
|
|
24
|
+
*
|
|
25
|
+
* On Linux, runtime detection uses getauxval to query the auxiliary vector.
|
|
26
|
+
* On other platforms, only compile-time information is used.
|
|
27
|
+
*
|
|
28
|
+
* This is well defined on all architectures.
|
|
29
|
+
* It will always return false on non-IBM Z architectures.
|
|
30
|
+
*/
|
|
31
|
+
class s390x_cpu_features : private linux_hwcap_backend_default
|
|
32
|
+
{
|
|
33
|
+
public:
|
|
34
|
+
inline bool vxe() const noexcept;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/********************
|
|
38
|
+
* Implementation *
|
|
39
|
+
********************/
|
|
40
|
+
|
|
41
|
+
inline bool s390x_cpu_features::vxe() const noexcept
|
|
42
|
+
{
|
|
43
|
+
#if XSIMD_TARGET_S390X && XSIMD_HAVE_LINUX_GETAUXVAL
|
|
44
|
+
#ifdef HWCAP_S390_VXE
|
|
45
|
+
return hwcap().has_feature(HWCAP_S390_VXE);
|
|
46
|
+
#else
|
|
47
|
+
// Possibly missing on older Linux distributions
|
|
48
|
+
return hwcap().has_feature(8192);
|
|
49
|
+
#endif
|
|
50
|
+
#else
|
|
51
|
+
return XSIMD_WITH_VXE;
|
|
52
|
+
#endif
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#endif
|