@delali/narsil-react-native 0.3.1-next.154 → 0.3.1-next.156
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/NOTICE +144 -0
- package/NarsilReactNative.podspec +2 -2
- package/android/CMakeLists.txt +1 -1
- package/cpp/HybridNarsilCoreAnalysis.cpp +277 -0
- package/cpp/HybridNarsilCoreImpl.hpp +43 -0
- package/cpp/HybridNarsilCoreKeyword.cpp +253 -0
- package/cpp/HybridNarsilCoreMath.cpp +47 -0
- package/cpp/core/include/narsil_analysis.h +86 -0
- package/cpp/core/include/narsil_core.h +1 -1
- package/cpp/core/include/narsil_keyword.h +110 -0
- package/cpp/core/include/narsil_math.h +36 -0
- package/cpp/core/src/analysis/analyse.c +281 -0
- package/cpp/core/src/analysis/analyser.h +49 -0
- package/cpp/core/src/analysis/languages.c +79 -0
- package/cpp/core/src/analysis/languages.h +42 -0
- package/cpp/core/src/analysis/normalise.c +242 -0
- package/cpp/core/src/analysis/normalise.h +28 -0
- package/cpp/core/src/analysis/split.c +183 -0
- package/cpp/core/src/analysis/split.h +27 -0
- package/cpp/core/src/analysis/stop_words.c +82 -0
- package/cpp/core/src/analysis/stop_words.h +19 -0
- package/cpp/core/src/analysis/term_cache.c +88 -0
- package/cpp/core/src/analysis/term_cache.h +36 -0
- package/cpp/core/src/analysis/text.c +161 -0
- package/cpp/core/src/analysis/text.h +45 -0
- package/cpp/core/src/analysis/transform.c +103 -0
- package/cpp/core/src/analysis/unicode.c +252 -0
- package/cpp/core/src/analysis/unicode.h +54 -0
- package/cpp/core/src/internal.h +4 -0
- package/cpp/core/src/keyword/pass.h +117 -0
- package/cpp/core/src/keyword/prune.c +324 -0
- package/cpp/core/src/keyword/request.c +179 -0
- package/cpp/core/src/keyword/rows.c +83 -0
- package/cpp/core/src/keyword/rows.h +18 -0
- package/cpp/core/src/keyword/score.c +257 -0
- package/cpp/core/src/keyword/score.h +17 -0
- package/cpp/core/src/keyword/scratch.c +226 -0
- package/cpp/core/src/keyword/scratch.h +55 -0
- package/cpp/core/src/keyword/select.c +155 -0
- package/cpp/core/src/keyword/select.h +17 -0
- package/cpp/core/src/languages/bulgarian_stemmer.c +114 -0
- package/cpp/core/src/languages/data/albanian.c +54 -0
- package/cpp/core/src/languages/data/amharic.c +93 -0
- package/cpp/core/src/languages/data/arabic.c +146 -0
- package/cpp/core/src/languages/data/armenian.c +46 -0
- package/cpp/core/src/languages/data/azerbaijani.c +68 -0
- package/cpp/core/src/languages/data/bambara.c +48 -0
- package/cpp/core/src/languages/data/basque.c +62 -0
- package/cpp/core/src/languages/data/belarusian.c +56 -0
- package/cpp/core/src/languages/data/bengali.c +63 -0
- package/cpp/core/src/languages/data/bosnian.c +73 -0
- package/cpp/core/src/languages/data/breton.c +52 -0
- package/cpp/core/src/languages/data/bulgarian.c +144 -0
- package/cpp/core/src/languages/data/burmese.c +48 -0
- package/cpp/core/src/languages/data/catalan.c +84 -0
- package/cpp/core/src/languages/data/chinese.c +70 -0
- package/cpp/core/src/languages/data/croatian.c +72 -0
- package/cpp/core/src/languages/data/czech.c +72 -0
- package/cpp/core/src/languages/data/dagbani.c +88 -0
- package/cpp/core/src/languages/data/danish.c +56 -0
- package/cpp/core/src/languages/data/declarations.h +114 -0
- package/cpp/core/src/languages/data/dutch.c +58 -0
- package/cpp/core/src/languages/data/english.c +172 -0
- package/cpp/core/src/languages/data/esperanto.c +71 -0
- package/cpp/core/src/languages/data/estonian.c +417 -0
- package/cpp/core/src/languages/data/ewe.c +89 -0
- package/cpp/core/src/languages/data/faroese.c +54 -0
- package/cpp/core/src/languages/data/fijian.c +44 -0
- package/cpp/core/src/languages/data/finnish.c +100 -0
- package/cpp/core/src/languages/data/french.c +74 -0
- package/cpp/core/src/languages/data/ga.c +83 -0
- package/cpp/core/src/languages/data/galician.c +70 -0
- package/cpp/core/src/languages/data/georgian.c +57 -0
- package/cpp/core/src/languages/data/german.c +96 -0
- package/cpp/core/src/languages/data/greek.c +202 -0
- package/cpp/core/src/languages/data/guarani.c +110 -0
- package/cpp/core/src/languages/data/gujarati.c +90 -0
- package/cpp/core/src/languages/data/haitian-creole.c +54 -0
- package/cpp/core/src/languages/data/hausa.c +85 -0
- package/cpp/core/src/languages/data/hawaiian.c +50 -0
- package/cpp/core/src/languages/data/hebrew.c +85 -0
- package/cpp/core/src/languages/data/hindi.c +91 -0
- package/cpp/core/src/languages/data/hungarian.c +98 -0
- package/cpp/core/src/languages/data/icelandic.c +73 -0
- package/cpp/core/src/languages/data/igbo.c +90 -0
- package/cpp/core/src/languages/data/indonesian.c +296 -0
- package/cpp/core/src/languages/data/irish.c +60 -0
- package/cpp/core/src/languages/data/italian.c +107 -0
- package/cpp/core/src/languages/data/japanese.c +52 -0
- package/cpp/core/src/languages/data/kannada.c +60 -0
- package/cpp/core/src/languages/data/kazakh.c +57 -0
- package/cpp/core/src/languages/data/khmer.c +71 -0
- package/cpp/core/src/languages/data/kinyarwanda.c +54 -0
- package/cpp/core/src/languages/data/kirundi.c +53 -0
- package/cpp/core/src/languages/data/korean.c +74 -0
- package/cpp/core/src/languages/data/kurmanji.c +43 -0
- package/cpp/core/src/languages/data/kyrgyz.c +65 -0
- package/cpp/core/src/languages/data/lao.c +46 -0
- package/cpp/core/src/languages/data/latin.c +46 -0
- package/cpp/core/src/languages/data/latvian.c +75 -0
- package/cpp/core/src/languages/data/lingala.c +88 -0
- package/cpp/core/src/languages/data/lithuanian.c +65 -0
- package/cpp/core/src/languages/data/luxembourgish.c +80 -0
- package/cpp/core/src/languages/data/macedonian.c +286 -0
- package/cpp/core/src/languages/data/malagasy.c +51 -0
- package/cpp/core/src/languages/data/malay.c +184 -0
- package/cpp/core/src/languages/data/malayalam.c +64 -0
- package/cpp/core/src/languages/data/maltese.c +102 -0
- package/cpp/core/src/languages/data/maori.c +52 -0
- package/cpp/core/src/languages/data/marathi.c +62 -0
- package/cpp/core/src/languages/data/nepali.c +72 -0
- package/cpp/core/src/languages/data/norwegian.c +74 -0
- package/cpp/core/src/languages/data/oromo.c +51 -0
- package/cpp/core/src/languages/data/persian.c +150 -0
- package/cpp/core/src/languages/data/polish.c +111 -0
- package/cpp/core/src/languages/data/portuguese.c +91 -0
- package/cpp/core/src/languages/data/punjabi.c +80 -0
- package/cpp/core/src/languages/data/registry.c +116 -0
- package/cpp/core/src/languages/data/romanian.c +93 -0
- package/cpp/core/src/languages/data/russian.c +76 -0
- package/cpp/core/src/languages/data/samoan.c +47 -0
- package/cpp/core/src/languages/data/sanskrit.c +53 -0
- package/cpp/core/src/languages/data/scottish-gaelic.c +119 -0
- package/cpp/core/src/languages/data/serbian.c +84 -0
- package/cpp/core/src/languages/data/shona.c +55 -0
- package/cpp/core/src/languages/data/sinhala.c +78 -0
- package/cpp/core/src/languages/data/slovak.c +135 -0
- package/cpp/core/src/languages/data/slovenian.c +139 -0
- package/cpp/core/src/languages/data/sorani.c +55 -0
- package/cpp/core/src/languages/data/spanish.c +84 -0
- package/cpp/core/src/languages/data/swahili.c +59 -0
- package/cpp/core/src/languages/data/swedish.c +60 -0
- package/cpp/core/src/languages/data/tagalog.c +75 -0
- package/cpp/core/src/languages/data/tamil.c +69 -0
- package/cpp/core/src/languages/data/tatar.c +548 -0
- package/cpp/core/src/languages/data/telugu.c +54 -0
- package/cpp/core/src/languages/data/thai.c +46 -0
- package/cpp/core/src/languages/data/tibetan.c +55 -0
- package/cpp/core/src/languages/data/tigrinya.c +73 -0
- package/cpp/core/src/languages/data/tongan.c +47 -0
- package/cpp/core/src/languages/data/turkish.c +100 -0
- package/cpp/core/src/languages/data/twi.c +88 -0
- package/cpp/core/src/languages/data/ukrainian.c +99 -0
- package/cpp/core/src/languages/data/urdu.c +174 -0
- package/cpp/core/src/languages/data/vietnamese.c +88 -0
- package/cpp/core/src/languages/data/welsh.c +143 -0
- package/cpp/core/src/languages/data/wolof.c +51 -0
- package/cpp/core/src/languages/data/xhosa.c +56 -0
- package/cpp/core/src/languages/data/yoruba.c +93 -0
- package/cpp/core/src/languages/data/zulu.c +58 -0
- package/cpp/core/src/languages/marks.c +64 -0
- package/cpp/core/src/languages/rules.c +63 -0
- package/cpp/core/src/languages/rules.h +68 -0
- package/cpp/core/src/languages/sanskrit_stemmer.c +50 -0
- package/cpp/core/src/languages/scripts.c +143 -0
- package/cpp/core/src/languages/slovenian_stemmer.c +46 -0
- package/cpp/core/src/languages/snowball/api.c +52 -0
- package/cpp/core/src/languages/snowball/api.h +43 -0
- package/cpp/core/src/languages/snowball/arabic_stemmer.c +1506 -0
- package/cpp/core/src/languages/snowball/arabic_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/armenian_stemmer.c +523 -0
- package/cpp/core/src/languages/snowball/armenian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/basque_stemmer.c +1089 -0
- package/cpp/core/src/languages/snowball/basque_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/catalan_stemmer.c +1380 -0
- package/cpp/core/src/languages/snowball/catalan_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/czech_stemmer.c +582 -0
- package/cpp/core/src/languages/snowball/czech_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/danish_stemmer.c +352 -0
- package/cpp/core/src/languages/snowball/danish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/dutch_stemmer.c +1657 -0
- package/cpp/core/src/languages/snowball/dutch_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/english_stemmer.c +1019 -0
- package/cpp/core/src/languages/snowball/english_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/esperanto_stemmer.c +716 -0
- package/cpp/core/src/languages/snowball/esperanto_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/estonian_stemmer.c +1361 -0
- package/cpp/core/src/languages/snowball/estonian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/finnish_stemmer.c +800 -0
- package/cpp/core/src/languages/snowball/finnish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/french_stemmer.c +1217 -0
- package/cpp/core/src/languages/snowball/french_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/german_stemmer.c +567 -0
- package/cpp/core/src/languages/snowball/german_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/greek_stemmer.c +3450 -0
- package/cpp/core/src/languages/snowball/greek_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/hindi_stemmer.c +325 -0
- package/cpp/core/src/languages/snowball/hindi_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/hungarian_stemmer.c +742 -0
- package/cpp/core/src/languages/snowball/hungarian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/indonesian_stemmer.c +443 -0
- package/cpp/core/src/languages/snowball/indonesian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/irish_stemmer.c +428 -0
- package/cpp/core/src/languages/snowball/irish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/italian_stemmer.c +983 -0
- package/cpp/core/src/languages/snowball/italian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/lithuanian_stemmer.c +794 -0
- package/cpp/core/src/languages/snowball/lithuanian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/nepali_stemmer.c +361 -0
- package/cpp/core/src/languages/snowball/nepali_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/norwegian_stemmer.c +332 -0
- package/cpp/core/src/languages/snowball/norwegian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/persian_stemmer.c +538 -0
- package/cpp/core/src/languages/snowball/persian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/polish_stemmer.c +501 -0
- package/cpp/core/src/languages/snowball/polish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/portuguese_stemmer.c +866 -0
- package/cpp/core/src/languages/snowball/portuguese_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/romanian_stemmer.c +940 -0
- package/cpp/core/src/languages/snowball/romanian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/russian_stemmer.c +598 -0
- package/cpp/core/src/languages/snowball/russian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/serbian_stemmer.c +6765 -0
- package/cpp/core/src/languages/snowball/serbian_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/snowball_runtime.h +122 -0
- package/cpp/core/src/languages/snowball/spanish_stemmer.c +955 -0
- package/cpp/core/src/languages/snowball/spanish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/swedish_stemmer.c +364 -0
- package/cpp/core/src/languages/snowball/swedish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/tamil_stemmer.c +1305 -0
- package/cpp/core/src/languages/snowball/tamil_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/turkish_stemmer.c +1700 -0
- package/cpp/core/src/languages/snowball/turkish_stemmer.h +24 -0
- package/cpp/core/src/languages/snowball/utilities.c +716 -0
- package/cpp/core/src/languages/substitutions.c +131 -0
- package/cpp/core/src/languages/swahili_stemmer.c +85 -0
- package/cpp/core/src/languages/ukrainian_stemmer.c +168 -0
- package/cpp/core/src/locks.c +2 -15
- package/cpp/core/src/math/apply.c +44 -0
- package/cpp/core/src/math/fdlibm.h +16 -0
- package/cpp/core/src/math/inverse.c +242 -0
- package/cpp/core/src/math/log.c +90 -0
- package/cpp/core/src/math/reduce.c +325 -0
- package/cpp/core/src/math/trig.c +188 -0
- package/cpp/core/src/math/words.h +45 -0
- package/cpp/core/src/thread_yield.h +18 -0
- package/cpp/core/src/unicode/decompositions.c +310 -0
- package/cpp/core/src/unicode/lowercase.c +172 -0
- package/cpp/core/src/unicode/properties.c +214 -0
- package/cpp/core/src/workspace.c +5 -1
- package/lib/engine/analysis.d.ts +3 -0
- package/lib/engine/analysis.js +76 -0
- package/lib/engine/core.js +5 -0
- package/lib/engine/keyword.d.ts +3 -0
- package/lib/engine/keyword.js +25 -0
- package/lib/specs/core.nitro.d.ts +1 -0
- package/nitrogen/generated/shared/c++/HybridNarsilCoreSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridNarsilCoreSpec.hpp +1 -0
- package/package.json +4 -3
- package/src/engine/analysis.ts +87 -0
- package/src/engine/core.ts +6 -0
- package/src/engine/keyword.ts +26 -0
- package/src/specs/core.nitro.ts +1 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
#include "../analysis/unicode.h"
|
|
2
|
+
|
|
3
|
+
#include <stdint.h>
|
|
4
|
+
|
|
5
|
+
const uint32_t narsil_unicode_lowercase[2974] = {
|
|
6
|
+
65, 97, 66, 98, 67, 99, 68, 100, 69, 101, 70, 102, 71, 103, 72, 104, 73, 105, 74, 106, 75, 107, 76, 108, 77, 109, 78,
|
|
7
|
+
110, 79, 111, 80, 112, 81, 113, 82, 114, 83, 115, 84, 116, 85, 117, 86, 118, 87, 119, 88, 120, 89, 121, 90, 122, 192,
|
|
8
|
+
224, 193, 225, 194, 226, 195, 227, 196, 228, 197, 229, 198, 230, 199, 231, 200, 232, 201, 233, 202, 234, 203, 235,
|
|
9
|
+
204, 236, 205, 237, 206, 238, 207, 239, 208, 240, 209, 241, 210, 242, 211, 243, 212, 244, 213, 245, 214, 246, 216,
|
|
10
|
+
248, 217, 249, 218, 250, 219, 251, 220, 252, 221, 253, 222, 254, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
|
|
11
|
+
266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
|
|
12
|
+
289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 306, 307, 308, 309, 310, 311, 313, 314,
|
|
13
|
+
315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338,
|
|
14
|
+
339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
|
|
15
|
+
362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 255, 377, 378, 379, 380, 381, 382, 385,
|
|
16
|
+
595, 386, 387, 388, 389, 390, 596, 391, 392, 393, 598, 394, 599, 395, 396, 398, 477, 399, 601, 400, 603, 401, 402,
|
|
17
|
+
403, 608, 404, 611, 406, 617, 407, 616, 408, 409, 412, 623, 413, 626, 415, 629, 416, 417, 418, 419, 420, 421, 422,
|
|
18
|
+
640, 423, 424, 425, 643, 428, 429, 430, 648, 431, 432, 433, 650, 434, 651, 435, 436, 437, 438, 439, 658, 440, 441,
|
|
19
|
+
444, 445, 452, 454, 453, 454, 455, 457, 456, 457, 458, 460, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
|
|
20
|
+
470, 471, 472, 473, 474, 475, 476, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
|
|
21
|
+
494, 495, 497, 499, 498, 499, 500, 501, 502, 405, 503, 447, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
|
|
22
|
+
515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
|
|
23
|
+
538, 539, 540, 541, 542, 543, 544, 414, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
|
|
24
|
+
561, 562, 563, 570, 11365, 571, 572, 573, 410, 574, 11366, 577, 578, 579, 384, 580, 649, 581, 652, 582, 583, 584, 585,
|
|
25
|
+
586, 587, 588, 589, 590, 591, 880, 881, 882, 883, 886, 887, 895, 1011, 902, 940, 904, 941, 905, 942, 906, 943, 908,
|
|
26
|
+
972, 910, 973, 911, 974, 913, 945, 914, 946, 915, 947, 916, 948, 917, 949, 918, 950, 919, 951, 920, 952, 921, 953,
|
|
27
|
+
922, 954, 923, 955, 924, 956, 925, 957, 926, 958, 927, 959, 928, 960, 929, 961, 931, 963, 932, 964, 933, 965, 934,
|
|
28
|
+
966, 935, 967, 936, 968, 937, 969, 938, 970, 939, 971, 975, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
|
|
29
|
+
994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1012, 952, 1015, 1016, 1017, 1010, 1018,
|
|
30
|
+
1019, 1021, 891, 1022, 892, 1023, 893, 1024, 1104, 1025, 1105, 1026, 1106, 1027, 1107, 1028, 1108, 1029, 1109, 1030,
|
|
31
|
+
1110, 1031, 1111, 1032, 1112, 1033, 1113, 1034, 1114, 1035, 1115, 1036, 1116, 1037, 1117, 1038, 1118, 1039, 1119,
|
|
32
|
+
1040, 1072, 1041, 1073, 1042, 1074, 1043, 1075, 1044, 1076, 1045, 1077, 1046, 1078, 1047, 1079, 1048, 1080, 1049,
|
|
33
|
+
1081, 1050, 1082, 1051, 1083, 1052, 1084, 1053, 1085, 1054, 1086, 1055, 1087, 1056, 1088, 1057, 1089, 1058, 1090,
|
|
34
|
+
1059, 1091, 1060, 1092, 1061, 1093, 1062, 1094, 1063, 1095, 1064, 1096, 1065, 1097, 1066, 1098, 1067, 1099, 1068,
|
|
35
|
+
1100, 1069, 1101, 1070, 1102, 1071, 1103, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131,
|
|
36
|
+
1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
|
|
37
|
+
1151, 1152, 1153, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177,
|
|
38
|
+
1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196,
|
|
39
|
+
1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
|
|
40
|
+
1216, 1231, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1232, 1233, 1234,
|
|
41
|
+
1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253,
|
|
42
|
+
1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272,
|
|
43
|
+
1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
|
|
44
|
+
1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310,
|
|
45
|
+
1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1329, 1377,
|
|
46
|
+
1330, 1378, 1331, 1379, 1332, 1380, 1333, 1381, 1334, 1382, 1335, 1383, 1336, 1384, 1337, 1385, 1338, 1386, 1339,
|
|
47
|
+
1387, 1340, 1388, 1341, 1389, 1342, 1390, 1343, 1391, 1344, 1392, 1345, 1393, 1346, 1394, 1347, 1395, 1348, 1396,
|
|
48
|
+
1349, 1397, 1350, 1398, 1351, 1399, 1352, 1400, 1353, 1401, 1354, 1402, 1355, 1403, 1356, 1404, 1357, 1405, 1358,
|
|
49
|
+
1406, 1359, 1407, 1360, 1408, 1361, 1409, 1362, 1410, 1363, 1411, 1364, 1412, 1365, 1413, 1366, 1414, 4256, 11520,
|
|
50
|
+
4257, 11521, 4258, 11522, 4259, 11523, 4260, 11524, 4261, 11525, 4262, 11526, 4263, 11527, 4264, 11528, 4265, 11529,
|
|
51
|
+
4266, 11530, 4267, 11531, 4268, 11532, 4269, 11533, 4270, 11534, 4271, 11535, 4272, 11536, 4273, 11537, 4274, 11538,
|
|
52
|
+
4275, 11539, 4276, 11540, 4277, 11541, 4278, 11542, 4279, 11543, 4280, 11544, 4281, 11545, 4282, 11546, 4283, 11547,
|
|
53
|
+
4284, 11548, 4285, 11549, 4286, 11550, 4287, 11551, 4288, 11552, 4289, 11553, 4290, 11554, 4291, 11555, 4292, 11556,
|
|
54
|
+
4293, 11557, 4295, 11559, 4301, 11565, 5024, 43888, 5025, 43889, 5026, 43890, 5027, 43891, 5028, 43892, 5029, 43893,
|
|
55
|
+
5030, 43894, 5031, 43895, 5032, 43896, 5033, 43897, 5034, 43898, 5035, 43899, 5036, 43900, 5037, 43901, 5038, 43902,
|
|
56
|
+
5039, 43903, 5040, 43904, 5041, 43905, 5042, 43906, 5043, 43907, 5044, 43908, 5045, 43909, 5046, 43910, 5047, 43911,
|
|
57
|
+
5048, 43912, 5049, 43913, 5050, 43914, 5051, 43915, 5052, 43916, 5053, 43917, 5054, 43918, 5055, 43919, 5056, 43920,
|
|
58
|
+
5057, 43921, 5058, 43922, 5059, 43923, 5060, 43924, 5061, 43925, 5062, 43926, 5063, 43927, 5064, 43928, 5065, 43929,
|
|
59
|
+
5066, 43930, 5067, 43931, 5068, 43932, 5069, 43933, 5070, 43934, 5071, 43935, 5072, 43936, 5073, 43937, 5074, 43938,
|
|
60
|
+
5075, 43939, 5076, 43940, 5077, 43941, 5078, 43942, 5079, 43943, 5080, 43944, 5081, 43945, 5082, 43946, 5083, 43947,
|
|
61
|
+
5084, 43948, 5085, 43949, 5086, 43950, 5087, 43951, 5088, 43952, 5089, 43953, 5090, 43954, 5091, 43955, 5092, 43956,
|
|
62
|
+
5093, 43957, 5094, 43958, 5095, 43959, 5096, 43960, 5097, 43961, 5098, 43962, 5099, 43963, 5100, 43964, 5101, 43965,
|
|
63
|
+
5102, 43966, 5103, 43967, 5104, 5112, 5105, 5113, 5106, 5114, 5107, 5115, 5108, 5116, 5109, 5117, 7305, 7306, 7312,
|
|
64
|
+
4304, 7313, 4305, 7314, 4306, 7315, 4307, 7316, 4308, 7317, 4309, 7318, 4310, 7319, 4311, 7320, 4312, 7321, 4313,
|
|
65
|
+
7322, 4314, 7323, 4315, 7324, 4316, 7325, 4317, 7326, 4318, 7327, 4319, 7328, 4320, 7329, 4321, 7330, 4322, 7331,
|
|
66
|
+
4323, 7332, 4324, 7333, 4325, 7334, 4326, 7335, 4327, 7336, 4328, 7337, 4329, 7338, 4330, 7339, 4331, 7340, 4332,
|
|
67
|
+
7341, 4333, 7342, 4334, 7343, 4335, 7344, 4336, 7345, 4337, 7346, 4338, 7347, 4339, 7348, 4340, 7349, 4341, 7350,
|
|
68
|
+
4342, 7351, 4343, 7352, 4344, 7353, 4345, 7354, 4346, 7357, 4349, 7358, 4350, 7359, 4351, 7680, 7681, 7682, 7683,
|
|
69
|
+
7684, 7685, 7686, 7687, 7688, 7689, 7690, 7691, 7692, 7693, 7694, 7695, 7696, 7697, 7698, 7699, 7700, 7701, 7702,
|
|
70
|
+
7703, 7704, 7705, 7706, 7707, 7708, 7709, 7710, 7711, 7712, 7713, 7714, 7715, 7716, 7717, 7718, 7719, 7720, 7721,
|
|
71
|
+
7722, 7723, 7724, 7725, 7726, 7727, 7728, 7729, 7730, 7731, 7732, 7733, 7734, 7735, 7736, 7737, 7738, 7739, 7740,
|
|
72
|
+
7741, 7742, 7743, 7744, 7745, 7746, 7747, 7748, 7749, 7750, 7751, 7752, 7753, 7754, 7755, 7756, 7757, 7758, 7759,
|
|
73
|
+
7760, 7761, 7762, 7763, 7764, 7765, 7766, 7767, 7768, 7769, 7770, 7771, 7772, 7773, 7774, 7775, 7776, 7777, 7778,
|
|
74
|
+
7779, 7780, 7781, 7782, 7783, 7784, 7785, 7786, 7787, 7788, 7789, 7790, 7791, 7792, 7793, 7794, 7795, 7796, 7797,
|
|
75
|
+
7798, 7799, 7800, 7801, 7802, 7803, 7804, 7805, 7806, 7807, 7808, 7809, 7810, 7811, 7812, 7813, 7814, 7815, 7816,
|
|
76
|
+
7817, 7818, 7819, 7820, 7821, 7822, 7823, 7824, 7825, 7826, 7827, 7828, 7829, 7838, 223, 7840, 7841, 7842, 7843, 7844,
|
|
77
|
+
7845, 7846, 7847, 7848, 7849, 7850, 7851, 7852, 7853, 7854, 7855, 7856, 7857, 7858, 7859, 7860, 7861, 7862, 7863,
|
|
78
|
+
7864, 7865, 7866, 7867, 7868, 7869, 7870, 7871, 7872, 7873, 7874, 7875, 7876, 7877, 7878, 7879, 7880, 7881, 7882,
|
|
79
|
+
7883, 7884, 7885, 7886, 7887, 7888, 7889, 7890, 7891, 7892, 7893, 7894, 7895, 7896, 7897, 7898, 7899, 7900, 7901,
|
|
80
|
+
7902, 7903, 7904, 7905, 7906, 7907, 7908, 7909, 7910, 7911, 7912, 7913, 7914, 7915, 7916, 7917, 7918, 7919, 7920,
|
|
81
|
+
7921, 7922, 7923, 7924, 7925, 7926, 7927, 7928, 7929, 7930, 7931, 7932, 7933, 7934, 7935, 7944, 7936, 7945, 7937,
|
|
82
|
+
7946, 7938, 7947, 7939, 7948, 7940, 7949, 7941, 7950, 7942, 7951, 7943, 7960, 7952, 7961, 7953, 7962, 7954, 7963,
|
|
83
|
+
7955, 7964, 7956, 7965, 7957, 7976, 7968, 7977, 7969, 7978, 7970, 7979, 7971, 7980, 7972, 7981, 7973, 7982, 7974,
|
|
84
|
+
7983, 7975, 7992, 7984, 7993, 7985, 7994, 7986, 7995, 7987, 7996, 7988, 7997, 7989, 7998, 7990, 7999, 7991, 8008,
|
|
85
|
+
8000, 8009, 8001, 8010, 8002, 8011, 8003, 8012, 8004, 8013, 8005, 8025, 8017, 8027, 8019, 8029, 8021, 8031, 8023,
|
|
86
|
+
8040, 8032, 8041, 8033, 8042, 8034, 8043, 8035, 8044, 8036, 8045, 8037, 8046, 8038, 8047, 8039, 8072, 8064, 8073,
|
|
87
|
+
8065, 8074, 8066, 8075, 8067, 8076, 8068, 8077, 8069, 8078, 8070, 8079, 8071, 8088, 8080, 8089, 8081, 8090, 8082,
|
|
88
|
+
8091, 8083, 8092, 8084, 8093, 8085, 8094, 8086, 8095, 8087, 8104, 8096, 8105, 8097, 8106, 8098, 8107, 8099, 8108,
|
|
89
|
+
8100, 8109, 8101, 8110, 8102, 8111, 8103, 8120, 8112, 8121, 8113, 8122, 8048, 8123, 8049, 8124, 8115, 8136, 8050,
|
|
90
|
+
8137, 8051, 8138, 8052, 8139, 8053, 8140, 8131, 8152, 8144, 8153, 8145, 8154, 8054, 8155, 8055, 8168, 8160, 8169,
|
|
91
|
+
8161, 8170, 8058, 8171, 8059, 8172, 8165, 8184, 8056, 8185, 8057, 8186, 8060, 8187, 8061, 8188, 8179, 8486, 969, 8490,
|
|
92
|
+
107, 8491, 229, 8498, 8526, 8544, 8560, 8545, 8561, 8546, 8562, 8547, 8563, 8548, 8564, 8549, 8565, 8550, 8566, 8551,
|
|
93
|
+
8567, 8552, 8568, 8553, 8569, 8554, 8570, 8555, 8571, 8556, 8572, 8557, 8573, 8558, 8574, 8559, 8575, 8579, 8580,
|
|
94
|
+
9398, 9424, 9399, 9425, 9400, 9426, 9401, 9427, 9402, 9428, 9403, 9429, 9404, 9430, 9405, 9431, 9406, 9432, 9407,
|
|
95
|
+
9433, 9408, 9434, 9409, 9435, 9410, 9436, 9411, 9437, 9412, 9438, 9413, 9439, 9414, 9440, 9415, 9441, 9416, 9442,
|
|
96
|
+
9417, 9443, 9418, 9444, 9419, 9445, 9420, 9446, 9421, 9447, 9422, 9448, 9423, 9449, 11264, 11312, 11265, 11313, 11266,
|
|
97
|
+
11314, 11267, 11315, 11268, 11316, 11269, 11317, 11270, 11318, 11271, 11319, 11272, 11320, 11273, 11321, 11274, 11322,
|
|
98
|
+
11275, 11323, 11276, 11324, 11277, 11325, 11278, 11326, 11279, 11327, 11280, 11328, 11281, 11329, 11282, 11330, 11283,
|
|
99
|
+
11331, 11284, 11332, 11285, 11333, 11286, 11334, 11287, 11335, 11288, 11336, 11289, 11337, 11290, 11338, 11291, 11339,
|
|
100
|
+
11292, 11340, 11293, 11341, 11294, 11342, 11295, 11343, 11296, 11344, 11297, 11345, 11298, 11346, 11299, 11347, 11300,
|
|
101
|
+
11348, 11301, 11349, 11302, 11350, 11303, 11351, 11304, 11352, 11305, 11353, 11306, 11354, 11307, 11355, 11308, 11356,
|
|
102
|
+
11309, 11357, 11310, 11358, 11311, 11359, 11360, 11361, 11362, 619, 11363, 7549, 11364, 637, 11367, 11368, 11369,
|
|
103
|
+
11370, 11371, 11372, 11373, 593, 11374, 625, 11375, 592, 11376, 594, 11378, 11379, 11381, 11382, 11390, 575, 11391,
|
|
104
|
+
576, 11392, 11393, 11394, 11395, 11396, 11397, 11398, 11399, 11400, 11401, 11402, 11403, 11404, 11405, 11406, 11407,
|
|
105
|
+
11408, 11409, 11410, 11411, 11412, 11413, 11414, 11415, 11416, 11417, 11418, 11419, 11420, 11421, 11422, 11423, 11424,
|
|
106
|
+
11425, 11426, 11427, 11428, 11429, 11430, 11431, 11432, 11433, 11434, 11435, 11436, 11437, 11438, 11439, 11440, 11441,
|
|
107
|
+
11442, 11443, 11444, 11445, 11446, 11447, 11448, 11449, 11450, 11451, 11452, 11453, 11454, 11455, 11456, 11457, 11458,
|
|
108
|
+
11459, 11460, 11461, 11462, 11463, 11464, 11465, 11466, 11467, 11468, 11469, 11470, 11471, 11472, 11473, 11474, 11475,
|
|
109
|
+
11476, 11477, 11478, 11479, 11480, 11481, 11482, 11483, 11484, 11485, 11486, 11487, 11488, 11489, 11490, 11491, 11499,
|
|
110
|
+
11500, 11501, 11502, 11506, 11507, 42560, 42561, 42562, 42563, 42564, 42565, 42566, 42567, 42568, 42569, 42570, 42571,
|
|
111
|
+
42572, 42573, 42574, 42575, 42576, 42577, 42578, 42579, 42580, 42581, 42582, 42583, 42584, 42585, 42586, 42587, 42588,
|
|
112
|
+
42589, 42590, 42591, 42592, 42593, 42594, 42595, 42596, 42597, 42598, 42599, 42600, 42601, 42602, 42603, 42604, 42605,
|
|
113
|
+
42624, 42625, 42626, 42627, 42628, 42629, 42630, 42631, 42632, 42633, 42634, 42635, 42636, 42637, 42638, 42639, 42640,
|
|
114
|
+
42641, 42642, 42643, 42644, 42645, 42646, 42647, 42648, 42649, 42650, 42651, 42786, 42787, 42788, 42789, 42790, 42791,
|
|
115
|
+
42792, 42793, 42794, 42795, 42796, 42797, 42798, 42799, 42802, 42803, 42804, 42805, 42806, 42807, 42808, 42809, 42810,
|
|
116
|
+
42811, 42812, 42813, 42814, 42815, 42816, 42817, 42818, 42819, 42820, 42821, 42822, 42823, 42824, 42825, 42826, 42827,
|
|
117
|
+
42828, 42829, 42830, 42831, 42832, 42833, 42834, 42835, 42836, 42837, 42838, 42839, 42840, 42841, 42842, 42843, 42844,
|
|
118
|
+
42845, 42846, 42847, 42848, 42849, 42850, 42851, 42852, 42853, 42854, 42855, 42856, 42857, 42858, 42859, 42860, 42861,
|
|
119
|
+
42862, 42863, 42873, 42874, 42875, 42876, 42877, 7545, 42878, 42879, 42880, 42881, 42882, 42883, 42884, 42885, 42886,
|
|
120
|
+
42887, 42891, 42892, 42893, 613, 42896, 42897, 42898, 42899, 42902, 42903, 42904, 42905, 42906, 42907, 42908, 42909,
|
|
121
|
+
42910, 42911, 42912, 42913, 42914, 42915, 42916, 42917, 42918, 42919, 42920, 42921, 42922, 614, 42923, 604, 42924,
|
|
122
|
+
609, 42925, 620, 42926, 618, 42928, 670, 42929, 647, 42930, 669, 42931, 43859, 42932, 42933, 42934, 42935, 42936,
|
|
123
|
+
42937, 42938, 42939, 42940, 42941, 42942, 42943, 42944, 42945, 42946, 42947, 42948, 42900, 42949, 642, 42950, 7566,
|
|
124
|
+
42951, 42952, 42953, 42954, 42955, 612, 42956, 42957, 42958, 42959, 42960, 42961, 42962, 42963, 42964, 42965, 42966,
|
|
125
|
+
42967, 42968, 42969, 42970, 42971, 42972, 411, 42997, 42998, 65313, 65345, 65314, 65346, 65315, 65347, 65316, 65348,
|
|
126
|
+
65317, 65349, 65318, 65350, 65319, 65351, 65320, 65352, 65321, 65353, 65322, 65354, 65323, 65355, 65324, 65356, 65325,
|
|
127
|
+
65357, 65326, 65358, 65327, 65359, 65328, 65360, 65329, 65361, 65330, 65362, 65331, 65363, 65332, 65364, 65333, 65365,
|
|
128
|
+
65334, 65366, 65335, 65367, 65336, 65368, 65337, 65369, 65338, 65370, 66560, 66600, 66561, 66601, 66562, 66602, 66563,
|
|
129
|
+
66603, 66564, 66604, 66565, 66605, 66566, 66606, 66567, 66607, 66568, 66608, 66569, 66609, 66570, 66610, 66571, 66611,
|
|
130
|
+
66572, 66612, 66573, 66613, 66574, 66614, 66575, 66615, 66576, 66616, 66577, 66617, 66578, 66618, 66579, 66619, 66580,
|
|
131
|
+
66620, 66581, 66621, 66582, 66622, 66583, 66623, 66584, 66624, 66585, 66625, 66586, 66626, 66587, 66627, 66588, 66628,
|
|
132
|
+
66589, 66629, 66590, 66630, 66591, 66631, 66592, 66632, 66593, 66633, 66594, 66634, 66595, 66635, 66596, 66636, 66597,
|
|
133
|
+
66637, 66598, 66638, 66599, 66639, 66736, 66776, 66737, 66777, 66738, 66778, 66739, 66779, 66740, 66780, 66741, 66781,
|
|
134
|
+
66742, 66782, 66743, 66783, 66744, 66784, 66745, 66785, 66746, 66786, 66747, 66787, 66748, 66788, 66749, 66789, 66750,
|
|
135
|
+
66790, 66751, 66791, 66752, 66792, 66753, 66793, 66754, 66794, 66755, 66795, 66756, 66796, 66757, 66797, 66758, 66798,
|
|
136
|
+
66759, 66799, 66760, 66800, 66761, 66801, 66762, 66802, 66763, 66803, 66764, 66804, 66765, 66805, 66766, 66806, 66767,
|
|
137
|
+
66807, 66768, 66808, 66769, 66809, 66770, 66810, 66771, 66811, 66928, 66967, 66929, 66968, 66930, 66969, 66931, 66970,
|
|
138
|
+
66932, 66971, 66933, 66972, 66934, 66973, 66935, 66974, 66936, 66975, 66937, 66976, 66938, 66977, 66940, 66979, 66941,
|
|
139
|
+
66980, 66942, 66981, 66943, 66982, 66944, 66983, 66945, 66984, 66946, 66985, 66947, 66986, 66948, 66987, 66949, 66988,
|
|
140
|
+
66950, 66989, 66951, 66990, 66952, 66991, 66953, 66992, 66954, 66993, 66956, 66995, 66957, 66996, 66958, 66997, 66959,
|
|
141
|
+
66998, 66960, 66999, 66961, 67000, 66962, 67001, 66964, 67003, 66965, 67004, 68736, 68800, 68737, 68801, 68738, 68802,
|
|
142
|
+
68739, 68803, 68740, 68804, 68741, 68805, 68742, 68806, 68743, 68807, 68744, 68808, 68745, 68809, 68746, 68810, 68747,
|
|
143
|
+
68811, 68748, 68812, 68749, 68813, 68750, 68814, 68751, 68815, 68752, 68816, 68753, 68817, 68754, 68818, 68755, 68819,
|
|
144
|
+
68756, 68820, 68757, 68821, 68758, 68822, 68759, 68823, 68760, 68824, 68761, 68825, 68762, 68826, 68763, 68827, 68764,
|
|
145
|
+
68828, 68765, 68829, 68766, 68830, 68767, 68831, 68768, 68832, 68769, 68833, 68770, 68834, 68771, 68835, 68772, 68836,
|
|
146
|
+
68773, 68837, 68774, 68838, 68775, 68839, 68776, 68840, 68777, 68841, 68778, 68842, 68779, 68843, 68780, 68844, 68781,
|
|
147
|
+
68845, 68782, 68846, 68783, 68847, 68784, 68848, 68785, 68849, 68786, 68850, 68944, 68976, 68945, 68977, 68946, 68978,
|
|
148
|
+
68947, 68979, 68948, 68980, 68949, 68981, 68950, 68982, 68951, 68983, 68952, 68984, 68953, 68985, 68954, 68986, 68955,
|
|
149
|
+
68987, 68956, 68988, 68957, 68989, 68958, 68990, 68959, 68991, 68960, 68992, 68961, 68993, 68962, 68994, 68963, 68995,
|
|
150
|
+
68964, 68996, 68965, 68997, 71840, 71872, 71841, 71873, 71842, 71874, 71843, 71875, 71844, 71876, 71845, 71877, 71846,
|
|
151
|
+
71878, 71847, 71879, 71848, 71880, 71849, 71881, 71850, 71882, 71851, 71883, 71852, 71884, 71853, 71885, 71854, 71886,
|
|
152
|
+
71855, 71887, 71856, 71888, 71857, 71889, 71858, 71890, 71859, 71891, 71860, 71892, 71861, 71893, 71862, 71894, 71863,
|
|
153
|
+
71895, 71864, 71896, 71865, 71897, 71866, 71898, 71867, 71899, 71868, 71900, 71869, 71901, 71870, 71902, 71871, 71903,
|
|
154
|
+
93760, 93792, 93761, 93793, 93762, 93794, 93763, 93795, 93764, 93796, 93765, 93797, 93766, 93798, 93767, 93799, 93768,
|
|
155
|
+
93800, 93769, 93801, 93770, 93802, 93771, 93803, 93772, 93804, 93773, 93805, 93774, 93806, 93775, 93807, 93776, 93808,
|
|
156
|
+
93777, 93809, 93778, 93810, 93779, 93811, 93780, 93812, 93781, 93813, 93782, 93814, 93783, 93815, 93784, 93816, 93785,
|
|
157
|
+
93817, 93786, 93818, 93787, 93819, 93788, 93820, 93789, 93821, 93790, 93822, 93791, 93823, 93856, 93883, 93857, 93884,
|
|
158
|
+
93858, 93885, 93859, 93886, 93860, 93887, 93861, 93888, 93862, 93889, 93863, 93890, 93864, 93891, 93865, 93892, 93866,
|
|
159
|
+
93893, 93867, 93894, 93868, 93895, 93869, 93896, 93870, 93897, 93871, 93898, 93872, 93899, 93873, 93900, 93874, 93901,
|
|
160
|
+
93875, 93902, 93876, 93903, 93877, 93904, 93878, 93905, 93879, 93906, 93880, 93907, 125184, 125218, 125185, 125219,
|
|
161
|
+
125186, 125220, 125187, 125221, 125188, 125222, 125189, 125223, 125190, 125224, 125191, 125225, 125192, 125226,
|
|
162
|
+
125193, 125227, 125194, 125228, 125195, 125229, 125196, 125230, 125197, 125231, 125198, 125232, 125199, 125233,
|
|
163
|
+
125200, 125234, 125201, 125235, 125202, 125236, 125203, 125237, 125204, 125238, 125205, 125239, 125206, 125240,
|
|
164
|
+
125207, 125241, 125208, 125242, 125209, 125243, 125210, 125244, 125211, 125245, 125212, 125246, 125213, 125247,
|
|
165
|
+
125214, 125248, 125215, 125249, 125216, 125250, 125217, 125251,
|
|
166
|
+
};
|
|
167
|
+
const uint32_t narsil_unicode_lowercase_length = 2974;
|
|
168
|
+
|
|
169
|
+
const uint32_t narsil_unicode_special_lowercase[3] = {
|
|
170
|
+
304, 105, 775,
|
|
171
|
+
};
|
|
172
|
+
const uint32_t narsil_unicode_special_lowercase_length = 3;
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
#include "../analysis/unicode.h"
|
|
2
|
+
|
|
3
|
+
#include <stdint.h>
|
|
4
|
+
|
|
5
|
+
const uint32_t narsil_unicode_property_values[144] = {
|
|
6
|
+
0, 8192, 1024, 20736, 4352, 10240, 53504, 37120, 256, 12544, 8448, 74470, 8934, 8936, 8924, 74456, 8906, 74460, 74442,
|
|
7
|
+
8705, 74241, 172774, 78576, 8704, 8937, 8938, 172288, 163840, 40960, 172032, 8926, 8932, 8714, 8715, 8716, 8717, 8718,
|
|
8
|
+
8719, 8720, 8721, 8722, 8723, 8724, 8725, 8726, 8727, 8728, 8729, 8734, 8735, 8736, 33024, 8731, 8732, 8733, 8737,
|
|
9
|
+
8738, 8739, 8740, 512, 74247, 8713, 164096, 8711, 66048, 33280, 74240, 41472, 8788, 74331, 74249, 5243136, 5251584,
|
|
10
|
+
5251687, 5251593, 5251328, 5251691, 5242880, 5243904, 6291712, 6300160, 6300278, 6300169, 6299904, 6300282, 6292480,
|
|
11
|
+
8920, 8833, 8834, 172544, 8836, 8388864, 8421632, 8389120, 8397312, 8462848, 8397319, 8397321, 8389632, 8388608,
|
|
12
|
+
8397532, 4194560, 521, 7340288, 7348736, 7340544, 7348745, 7340032, 7348480, 7348966, 7341056, 8918, 8922, 168192,
|
|
13
|
+
184576, 21504, 5120, 32768, 20480, 4096, 1048576, 1057024, 1049600, 4195040, 2097408, 2130176, 74248, 2105600,
|
|
14
|
+
2138368, 3145984, 3178752, 3154176, 3186944, 4194304, 3145728, 1048832, 8397056, 1212672, 8730, 65792, 1049094, 728,
|
|
15
|
+
738, 2097152,
|
|
16
|
+
};
|
|
17
|
+
const uint32_t narsil_unicode_property_values_length = 144;
|
|
18
|
+
|
|
19
|
+
const uint32_t narsil_unicode_property_runs[4179] = {
|
|
20
|
+
9984, 257, 1536, 257, 256, 2562, 257, 1536, 6659, 768, 257, 256, 257, 6660, 11520, 257, 256, 260, 512, 261, 256, 257,
|
|
21
|
+
512, 514, 257, 260, 256, 513, 258, 260, 256, 770, 256, 1542, 259, 2310, 259, 1542, 256, 259, 1286, 259, 260, 1543,
|
|
22
|
+
260, 2311, 260, 1543, 256, 260, 1287, 260, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
23
|
+
262, 263, 259, 260, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
24
|
+
263, 259, 260, 262, 263, 262, 263, 262, 263, 262, 263, 262, 260, 259, 260, 262, 263, 262, 263, 260, 262, 263, 262,
|
|
25
|
+
263, 262, 263, 259, 260, 259, 260, 262, 263, 262, 263, 262, 263, 260, 259, 260, 262, 263, 262, 263, 262, 263, 259,
|
|
26
|
+
260, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 259, 260, 262, 263,
|
|
27
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 518, 263, 262, 263, 262, 263, 516, 515, 260,
|
|
28
|
+
259, 260, 515, 260, 771, 516, 1027, 260, 515, 260, 771, 772, 515, 260, 259, 262, 263, 259, 260, 259, 260, 515, 260,
|
|
29
|
+
259, 516, 259, 260, 259, 262, 263, 771, 260, 259, 260, 515, 516, 264, 259, 772, 1032, 515, 260, 515, 260, 515, 260,
|
|
30
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 260, 262, 263, 262, 263, 262, 263,
|
|
31
|
+
259, 260, 262, 263, 262, 263, 262, 263, 262, 263, 262, 519, 515, 260, 262, 263, 515, 262, 263, 262, 263, 262, 263,
|
|
32
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
33
|
+
263, 262, 263, 262, 263, 262, 263, 259, 260, 262, 263, 259, 260, 259, 260, 259, 260, 262, 263, 262, 263, 262, 263,
|
|
34
|
+
262, 263, 262, 263, 262, 263, 262, 263, 1540, 515, 260, 515, 516, 259, 260, 1027, 260, 259, 260, 259, 260, 259, 260,
|
|
35
|
+
259, 17668, 520, 6660, 2313, 1802, 521, 1025, 3082, 3585, 1289, 1793, 266, 257, 266, 4353, 1291, 268, 1803, 524, 267,
|
|
36
|
+
268, 267, 268, 523, 269, 1038, 269, 271, 1294, 528, 1041, 530, 1038, 529, 270, 529, 526, 1043, 276, 1038, 780, 533,
|
|
37
|
+
267, 533, 278, 268, 782, 780, 526, 279, 780, 1038, 268, 269, 526, 268, 280, 537, 280, 537, 280, 3340, 259, 260, 259,
|
|
38
|
+
260, 282, 257, 259, 260, 512, 265, 772, 283, 259, 1024, 257, 284, 262, 285, 774, 256, 262, 256, 518, 263, 4355, 256,
|
|
39
|
+
1795, 518, 1287, 6404, 1287, 259, 772, 519, 772, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
40
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 1284, 259, 260, 256, 259, 260, 515, 516, 771, 518, 259, 262, 771, 262,
|
|
41
|
+
1027, 774, 2563, 262, 5635, 2308, 263, 5636, 519, 260, 263, 772, 263, 1028, 775, 260, 259, 260, 259, 260, 259, 260,
|
|
42
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 262, 263, 259, 260, 259, 260, 259,
|
|
43
|
+
260, 259, 260, 259, 260, 256, 1292, 535, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
44
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
45
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 262, 263, 259, 260, 259, 260,
|
|
46
|
+
259, 260, 259, 260, 259, 260, 259, 516, 262, 263, 262, 263, 259, 260, 262, 263, 259, 260, 262, 263, 262, 263, 262,
|
|
47
|
+
263, 259, 260, 262, 263, 262, 263, 262, 263, 259, 260, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
48
|
+
259, 260, 262, 263, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
49
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
50
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 256, 9731, 512, 266, 1280, 257, 10500, 2048, 270, 1036,
|
|
51
|
+
270, 780, 286, 270, 1548, 1550, 524, 270, 524, 286, 287, 268, 288, 289, 290, 291, 292, 293, 294, 295, 296, 553, 298,
|
|
52
|
+
299, 300, 256, 301, 256, 302, 303, 256, 268, 270, 256, 296, 2048, 6920, 1024, 1032, 256, 257, 2816, 1541, 2560, 2060,
|
|
53
|
+
304, 305, 306, 256, 261, 768, 520, 1331, 6408, 266, 2568, 308, 309, 310, 304, 305, 306, 311, 312, 523, 273, 270, 1292,
|
|
54
|
+
270, 524, 270, 2562, 1024, 520, 313, 20232, 307, 264, 307, 4104, 307, 256, 264, 1804, 261, 256, 1036, 270, 268, 522,
|
|
55
|
+
524, 256, 270, 524, 270, 520, 2562, 776, 512, 264, 3840, 261, 264, 314, 7688, 268, 270, 524, 270, 524, 782, 268, 526,
|
|
56
|
+
268, 270, 780, 270, 268, 270, 268, 270, 268, 270, 524, 512, 22792, 2839, 264, 3584, 2562, 8456, 1804, 270, 268, 522,
|
|
57
|
+
1024, 266, 512, 270, 512, 5640, 1036, 266, 2316, 266, 780, 266, 1292, 4608, 6408, 782, 1024, 2824, 1280, 6152, 257,
|
|
58
|
+
1800, 517, 1280, 524, 782, 1036, 10504, 266, 1292, 1294, 3596, 261, 270, 524, 270, 524, 270, 780, 782, 308, 309, 310,
|
|
59
|
+
780, 270, 524, 526, 1292, 791, 315, 9480, 307, 1800, 307, 520, 307, 1288, 279, 315, 316, 264, 827, 2071, 1083, 317,
|
|
60
|
+
571, 264, 268, 270, 524, 791, 2110, 520, 535, 512, 2562, 256, 266, 3848, 279, 571, 256, 2056, 512, 520, 512, 5640,
|
|
61
|
+
256, 1800, 256, 264, 768, 1032, 512, 319, 264, 320, 571, 1047, 512, 571, 512, 577, 317, 264, 2048, 320, 1024, 574,
|
|
62
|
+
256, 318, 520, 535, 512, 2562, 520, 512, 1538, 512, 264, 256, 268, 512, 535, 315, 256, 1544, 1024, 520, 512, 5640,
|
|
63
|
+
256, 1800, 256, 264, 318, 256, 264, 318, 256, 520, 512, 319, 256, 827, 535, 1024, 535, 512, 535, 317, 768, 279, 1792,
|
|
64
|
+
830, 264, 256, 318, 1792, 2562, 535, 776, 279, 2816, 535, 315, 256, 2312, 256, 776, 256, 5640, 256, 1800, 256, 520,
|
|
65
|
+
256, 1288, 512, 319, 264, 827, 1303, 256, 535, 315, 256, 571, 317, 512, 264, 3840, 520, 535, 512, 2562, 2304, 264,
|
|
66
|
+
1559, 256, 279, 571, 256, 2056, 512, 520, 512, 5640, 256, 1800, 256, 520, 256, 1288, 512, 319, 264, 320, 279, 315,
|
|
67
|
+
1047, 512, 315, 321, 512, 577, 317, 1792, 279, 322, 320, 1024, 574, 256, 776, 535, 512, 2562, 256, 264, 1538, 2560,
|
|
68
|
+
279, 264, 256, 1544, 768, 776, 256, 520, 307, 264, 768, 520, 256, 264, 256, 520, 768, 520, 768, 776, 768, 3080, 1024,
|
|
69
|
+
320, 315, 279, 571, 768, 827, 256, 833, 317, 512, 264, 1536, 320, 3584, 3330, 3328, 279, 827, 279, 2056, 256, 776,
|
|
70
|
+
256, 5896, 256, 4104, 512, 319, 264, 791, 1083, 256, 535, 323, 256, 791, 317, 1792, 324, 325, 256, 776, 256, 520, 512,
|
|
71
|
+
520, 535, 512, 2562, 2048, 1794, 256, 264, 279, 571, 256, 2056, 256, 776, 256, 5896, 256, 2568, 256, 1288, 512, 319,
|
|
72
|
+
264, 315, 279, 321, 315, 320, 571, 256, 279, 577, 256, 577, 279, 317, 1792, 576, 1280, 776, 256, 520, 535, 512, 2562,
|
|
73
|
+
256, 520, 315, 3072, 535, 571, 2312, 256, 776, 256, 10504, 573, 264, 320, 571, 1047, 256, 827, 256, 833, 317, 264,
|
|
74
|
+
1280, 776, 320, 1794, 776, 535, 512, 4866, 256, 1544, 256, 279, 571, 256, 4616, 768, 6152, 256, 2312, 256, 264, 512,
|
|
75
|
+
1800, 768, 326, 1024, 320, 571, 791, 256, 279, 256, 571, 321, 315, 833, 320, 1536, 2562, 512, 571, 3328, 12359, 328,
|
|
76
|
+
583, 1096, 585, 330, 1280, 1607, 331, 328, 1100, 840, 333, 2638, 589, 9472, 591, 256, 335, 256, 1359, 256, 6223, 256,
|
|
77
|
+
335, 256, 2639, 336, 591, 1104, 593, 338, 592, 335, 512, 1359, 256, 339, 256, 1108, 848, 256, 2645, 512, 1103, 8192,
|
|
78
|
+
264, 5888, 526, 1536, 5122, 256, 270, 256, 270, 256, 342, 1024, 571, 776, 318, 1032, 256, 1032, 318, 1032, 318, 1032,
|
|
79
|
+
318, 1032, 318, 3080, 318, 776, 1024, 343, 344, 345, 346, 601, 279, 345, 279, 1112, 279, 315, 344, 345, 524, 317, 256,
|
|
80
|
+
524, 1288, 1559, 345, 1047, 256, 1047, 345, 1047, 345, 1047, 345, 1047, 345, 3095, 345, 791, 2304, 270, 14592, 9819,
|
|
81
|
+
348, 1115, 605, 350, 351, 606, 349, 1374, 352, 349, 609, 605, 606, 347, 2658, 1635, 1627, 605, 606, 1115, 862, 347,
|
|
82
|
+
861, 603, 1885, 859, 1118, 3419, 350, 605, 606, 1629, 356, 347, 349, 2658, 861, 350, 611, 9731, 256, 259, 1280, 259,
|
|
83
|
+
512, 11012, 256, 265, 772, 65637, 18696, 256, 1032, 512, 1800, 256, 264, 256, 1032, 512, 10504, 256, 1032, 512, 8456,
|
|
84
|
+
256, 1032, 512, 1800, 256, 264, 256, 1032, 512, 3848, 256, 14600, 256, 1032, 512, 17160, 512, 780, 2304, 5122, 768,
|
|
85
|
+
4104, 4096, 22019, 512, 1540, 768, 158728, 512, 4360, 256, 6664, 1280, 19208, 768, 770, 2056, 1792, 4616, 535, 317,
|
|
86
|
+
358, 2304, 4872, 535, 358, 2816, 4616, 535, 3072, 3336, 256, 776, 256, 535, 3072, 13415, 616, 361, 1896, 2153, 360,
|
|
87
|
+
617, 2408, 362, 360, 875, 364, 1131, 359, 365, 512, 2670, 1536, 2670, 4352, 791, 261, 279, 2562, 1536, 8968, 266,
|
|
88
|
+
13576, 1792, 1288, 535, 8712, 287, 264, 1280, 17928, 2560, 7944, 256, 791, 1083, 535, 827, 1024, 571, 279, 1595, 286,
|
|
89
|
+
268, 270, 2560, 2562, 7688, 512, 1288, 2816, 11272, 1024, 6664, 1536, 2818, 1280, 8299, 5896, 268, 270, 571, 279,
|
|
90
|
+
1024, 13576, 315, 279, 315, 1815, 256, 317, 315, 279, 571, 2071, 1595, 535, 2060, 512, 270, 2562, 1536, 2562, 3328,
|
|
91
|
+
266, 2048, 1292, 1550, 524, 270, 279, 526, 524, 526, 1292, 270, 4620, 270, 512, 1548, 270, 1036, 281, 5120, 1047, 315,
|
|
92
|
+
264, 307, 264, 307, 264, 307, 264, 307, 264, 307, 776, 307, 8456, 319, 320, 1303, 321, 279, 321, 571, 577, 279, 321,
|
|
93
|
+
358, 2056, 768, 2562, 4352, 268, 270, 1804, 3072, 535, 315, 7688, 315, 1047, 571, 535, 358, 317, 535, 520, 2562,
|
|
94
|
+
11272, 319, 315, 535, 827, 279, 315, 791, 614, 3072, 9224, 2107, 2071, 571, 279, 319, 2048, 2562, 768, 776, 2562,
|
|
95
|
+
7688, 1546, 512, 2308, 259, 260, 1280, 11011, 512, 771, 4096, 780, 256, 275, 1294, 524, 1038, 268, 315, 1811, 1032,
|
|
96
|
+
270, 1544, 268, 520, 315, 524, 264, 1280, 11268, 16137, 3332, 265, 8708, 9481, 524, 270, 1804, 270, 524, 281, 367,
|
|
97
|
+
270, 272, 9484, 269, 543, 270, 368, 268, 280, 270, 268, 270, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
98
|
+
263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
99
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
100
|
+
263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
101
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
102
|
+
263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
103
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
104
|
+
1287, 260, 263, 516, 259, 260, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
105
|
+
263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
106
|
+
262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262,
|
|
107
|
+
263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263, 262, 263,
|
|
108
|
+
262, 263, 262, 263, 259, 260, 259, 260, 259, 260, 2055, 2054, 1543, 512, 1542, 512, 2055, 2054, 2055, 2054, 1543, 512,
|
|
109
|
+
1542, 512, 2055, 256, 262, 256, 262, 256, 262, 256, 262, 2055, 2054, 263, 369, 263, 369, 263, 369, 263, 369, 263, 369,
|
|
110
|
+
263, 369, 263, 369, 512, 2055, 2054, 2055, 2054, 2055, 2054, 1287, 256, 519, 774, 370, 262, 257, 369, 513, 284, 775,
|
|
111
|
+
256, 519, 262, 370, 262, 370, 262, 796, 775, 369, 512, 519, 774, 370, 256, 796, 775, 369, 1031, 774, 370, 262, 284,
|
|
112
|
+
541, 512, 775, 256, 519, 262, 370, 262, 370, 262, 285, 257, 256, 539, 2304, 1285, 2048, 513, 2560, 257, 512, 257, 512,
|
|
113
|
+
1285, 12544, 1285, 256, 2565, 258, 265, 512, 1538, 1280, 265, 2562, 1536, 3337, 13056, 524, 531, 1036, 787, 524, 1047,
|
|
114
|
+
268, 791, 531, 268, 270, 268, 531, 1038, 268, 4352, 260, 1024, 260, 512, 2564, 256, 260, 768, 1284, 1536, 260, 256,
|
|
115
|
+
370, 256, 260, 256, 626, 516, 256, 772, 259, 516, 1032, 260, 512, 1028, 1280, 1284, 1024, 260, 256, 4098, 4211, 4212,
|
|
116
|
+
770, 259, 260, 1282, 4096, 629, 4608, 373, 7680, 885, 13312, 373, 1024, 373, 512, 373, 5888, 373, 256, 373, 6656, 373,
|
|
117
|
+
512, 373, 512, 373, 256, 373, 5632, 373, 256, 373, 2560, 1397, 512, 629, 512, 629, 1536, 629, 512, 629, 512, 629,
|
|
118
|
+
8704, 1141, 12288, 1141, 1536, 1141, 15104, 539, 79104, 15362, 6656, 6774, 6775, 5634, 161280, 7682, 215040, 283,
|
|
119
|
+
74496, 12291, 12292, 259, 260, 771, 516, 259, 260, 259, 260, 259, 260, 1027, 260, 259, 516, 259, 1540, 521, 771, 260,
|
|
120
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
121
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
122
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
123
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
124
|
+
259, 260, 259, 260, 259, 516, 1536, 259, 260, 259, 260, 780, 259, 260, 2304, 258, 512, 9732, 256, 260, 1280, 260, 512,
|
|
125
|
+
14344, 1792, 266, 3840, 317, 5896, 2304, 1800, 256, 1800, 256, 1800, 256, 1800, 256, 1800, 256, 1800, 256, 1800, 256,
|
|
126
|
+
1800, 256, 8204, 12032, 266, 20480, 6776, 256, 22904, 3072, 54904, 12032, 377, 264, 378, 6400, 2426, 368, 287, 269,
|
|
127
|
+
286, 635, 256, 1290, 512, 890, 377, 264, 1024, 2940, 381, 380, 381, 380, 381, 380, 381, 380, 381, 380, 381, 380, 381,
|
|
128
|
+
380, 381, 380, 381, 380, 381, 380, 381, 380, 381, 636, 381, 380, 381, 380, 381, 1660, 637, 380, 637, 380, 637, 380,
|
|
129
|
+
637, 380, 637, 5756, 381, 636, 512, 638, 513, 383, 384, 380, 256, 2945, 386, 385, 386, 385, 386, 385, 386, 385, 386,
|
|
130
|
+
385, 386, 385, 386, 385, 386, 385, 386, 385, 386, 385, 386, 385, 386, 641, 386, 385, 386, 385, 386, 1665, 642, 385,
|
|
131
|
+
642, 385, 642, 385, 642, 385, 642, 5761, 386, 641, 1154, 256, 266, 387, 388, 385, 1280, 11016, 256, 24165, 768, 1026,
|
|
132
|
+
2560, 8200, 12288, 4225, 8069, 256, 2562, 7680, 2050, 256, 3842, 8069, 256, 2562, 9984, 3842, 4096, 12166, 256, 22662,
|
|
133
|
+
43008, 1687687, 16384, 5374087, 5384, 266, 292616, 17152, 10248, 1546, 512, 68616, 266, 768, 4104, 2562, 520, 5120,
|
|
134
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
135
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
136
|
+
264, 268, 791, 256, 2572, 256, 266, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
137
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 521, 524, 17928, 2562, 524, 3584, 5889, 2314, 513, 259,
|
|
138
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 772, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
139
|
+
259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
140
|
+
260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
141
|
+
259, 260, 259, 260, 259, 260, 265, 2052, 259, 260, 259, 260, 515, 260, 259, 260, 259, 260, 259, 260, 259, 260, 266,
|
|
142
|
+
513, 259, 260, 259, 260, 264, 259, 260, 259, 772, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
143
|
+
260, 259, 260, 259, 260, 259, 260, 1283, 260, 1283, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260,
|
|
144
|
+
259, 260, 1027, 260, 259, 260, 515, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259, 260, 259,
|
|
145
|
+
5120, 1033, 259, 260, 264, 521, 260, 1800, 279, 776, 317, 1032, 279, 5896, 571, 535, 315, 1024, 317, 768, 1538, 2560,
|
|
146
|
+
13320, 3072, 571, 12808, 4155, 317, 279, 2560, 2562, 1536, 4620, 1544, 768, 264, 256, 520, 279, 2562, 7176, 1303, 782,
|
|
147
|
+
512, 5896, 2839, 315, 358, 3072, 7525, 768, 791, 315, 12040, 319, 571, 1047, 571, 535, 571, 358, 3584, 266, 2562,
|
|
148
|
+
1536, 1371, 350, 392, 2395, 2658, 1371, 256, 10504, 1559, 571, 535, 571, 535, 2304, 776, 279, 2056, 279, 315, 512,
|
|
149
|
+
2562, 1536, 4187, 392, 1627, 867, 347, 349, 350, 349, 603, 12296, 268, 264, 524, 270, 520, 524, 1288, 524, 264, 268,
|
|
150
|
+
264, 6144, 520, 266, 512, 2824, 315, 535, 571, 512, 264, 522, 315, 317, 2560, 1544, 512, 1544, 512, 1544, 2304, 1800,
|
|
151
|
+
256, 1800, 256, 11012, 257, 1033, 2308, 265, 513, 1024, 20484, 8968, 571, 279, 571, 279, 571, 256, 315, 317, 512,
|
|
152
|
+
2562, 1536, 2860133, 3072, 5989, 1024, 12645, 2163712, 69257, 647, 393, 391, 393, 647, 2697, 391, 393, 391, 393, 647,
|
|
153
|
+
649, 903, 17545, 512, 27273, 9728, 1796, 3072, 1284, 1280, 318, 394, 318, 2312, 256, 3390, 256, 1342, 256, 318, 256,
|
|
154
|
+
574, 256, 574, 256, 2366, 25352, 4353, 4096, 92936, 4608, 16392, 512, 13832, 10240, 3080, 1024, 4119, 768, 257, 3072,
|
|
155
|
+
1804, 1806, 524, 8704, 257, 512, 257, 6656, 1288, 256, 34568, 512, 261, 1792, 257, 1536, 257, 256, 2562, 257, 1536,
|
|
156
|
+
6659, 768, 257, 256, 257, 6660, 2816, 2689, 266, 11649, 522, 8037, 768, 1637, 512, 1637, 512, 1637, 512, 869, 1536,
|
|
157
|
+
257, 5376, 773, 1024, 3080, 256, 6664, 256, 4872, 256, 520, 256, 3848, 512, 3592, 8704, 31496, 3072, 11522, 3072,
|
|
158
|
+
14594, 4352, 514, 28928, 270, 33280, 7432, 768, 12552, 3840, 270, 6914, 1024, 8200, 1026, 2304, 5128, 258, 2056, 258,
|
|
159
|
+
1280, 9736, 1292, 1280, 7688, 512, 9224, 1024, 2056, 256, 1282, 10752, 10243, 10244, 19976, 512, 2562, 1536, 9219,
|
|
160
|
+
1024, 9220, 1024, 10248, 2048, 13320, 3072, 2819, 256, 3843, 256, 1795, 256, 515, 256, 2820, 256, 3844, 256, 1796,
|
|
161
|
+
256, 516, 768, 2312, 307, 6664, 307, 3848, 3072, 79624, 2304, 5640, 2560, 2056, 6144, 265, 522, 777, 256, 10761, 256,
|
|
162
|
+
2313, 17664, 1544, 512, 264, 256, 11272, 256, 520, 768, 264, 512, 5896, 512, 2050, 5896, 512, 1794, 7944, 2048, 2306,
|
|
163
|
+
12288, 4872, 256, 520, 1280, 1282, 5640, 1538, 1024, 6664, 1536, 6664, 9728, 14344, 1024, 514, 520, 4098, 512, 11778,
|
|
164
|
+
264, 791, 256, 535, 1280, 279, 270, 279, 268, 1032, 256, 776, 256, 7432, 512, 268, 275, 270, 1024, 317, 2306, 5888,
|
|
165
|
+
7432, 514, 256, 7432, 770, 8192, 2056, 256, 7176, 268, 270, 1024, 1282, 4096, 13832, 2560, 5640, 512, 2050, 4872,
|
|
166
|
+
1280, 2050, 4616, 5888, 1794, 20480, 18696, 14080, 13059, 3328, 13060, 1792, 1538, 9224, 1036, 2048, 2562, 1536, 2562,
|
|
167
|
+
1032, 266, 264, 5635, 768, 1292, 256, 266, 5636, 55808, 7938, 256, 10760, 256, 524, 768, 520, 4096, 776, 266, 520,
|
|
168
|
+
12800, 526, 279, 782, 7432, 2562, 264, 2048, 5640, 526, 780, 270, 268, 1038, 1026, 6912, 4616, 268, 270, 268, 270,
|
|
169
|
+
10752, 5384, 1794, 5120, 5896, 2304, 315, 279, 315, 13576, 3607, 317, 2816, 7682, 317, 520, 535, 264, 2304, 317, 535,
|
|
170
|
+
315, 5896, 307, 264, 307, 3592, 307, 1032, 827, 1047, 571, 317, 316, 512, 261, 1024, 279, 2560, 261, 512, 6408, 1792,
|
|
171
|
+
2562, 1536, 780, 9224, 322, 1047, 315, 279, 579, 791, 573, 256, 2562, 1024, 264, 571, 264, 2048, 8968, 319, 512, 264,
|
|
172
|
+
2304, 535, 315, 12296, 827, 2327, 315, 358, 1032, 1024, 279, 319, 535, 256, 315, 279, 2562, 264, 256, 264, 1024, 5122,
|
|
173
|
+
2816, 4616, 256, 6408, 827, 791, 571, 279, 358, 319, 279, 1536, 279, 520, 279, 15872, 1800, 256, 264, 256, 1032, 256,
|
|
174
|
+
3848, 256, 2568, 1792, 12040, 279, 827, 1559, 319, 317, 1280, 2562, 1536, 535, 571, 256, 2056, 512, 520, 512, 5640,
|
|
175
|
+
256, 1800, 256, 520, 256, 1288, 256, 575, 264, 320, 315, 279, 1083, 512, 571, 512, 577, 358, 512, 264, 1536, 320,
|
|
176
|
+
1280, 1288, 571, 512, 1804, 768, 1292, 2816, 776, 307, 264, 307, 1032, 256, 264, 512, 307, 256, 264, 307, 9224, 256,
|
|
177
|
+
264, 320, 571, 322, 1303, 256, 320, 512, 321, 256, 577, 320, 315, 256, 571, 317, 358, 317, 264, 279, 264, 3328, 535,
|
|
178
|
+
7424, 13576, 827, 2071, 571, 317, 535, 315, 319, 1032, 1280, 2562, 1024, 268, 776, 7680, 12296, 320, 571, 1559, 315,
|
|
179
|
+
322, 577, 320, 321, 535, 315, 317, 319, 520, 256, 264, 2048, 2562, 42496, 12040, 320, 571, 1047, 512, 571, 577, 535,
|
|
180
|
+
315, 317, 319, 5888, 1032, 535, 8704, 12296, 827, 2071, 571, 279, 315, 317, 279, 768, 264, 2816, 2562, 9728, 11016,
|
|
181
|
+
279, 315, 279, 571, 1559, 358, 319, 264, 1792, 2562, 1536, 5218, 7168, 6920, 512, 279, 315, 279, 571, 1047, 315, 1047,
|
|
182
|
+
317, 1024, 3074, 1024, 1800, 47360, 11272, 827, 2327, 315, 317, 319, 25856, 8195, 8196, 4866, 3072, 2056, 512, 264,
|
|
183
|
+
512, 2056, 256, 520, 256, 6152, 320, 1339, 256, 315, 321, 512, 535, 358, 317, 264, 315, 264, 315, 319, 3072, 2562,
|
|
184
|
+
17920, 2056, 512, 9992, 827, 1047, 512, 535, 1083, 317, 264, 256, 264, 315, 6912, 264, 2583, 10248, 279, 317, 1047,
|
|
185
|
+
315, 264, 1047, 2048, 317, 2048, 264, 1559, 571, 791, 11784, 3351, 315, 279, 317, 768, 264, 4608, 18696, 26368, 279,
|
|
186
|
+
315, 791, 315, 279, 315, 22528, 8456, 3840, 2562, 1536, 2312, 256, 9480, 315, 1815, 256, 1559, 315, 317, 264, 3840,
|
|
187
|
+
7426, 1280, 7688, 512, 5655, 256, 315, 1815, 315, 535, 315, 535, 18688, 1800, 256, 520, 256, 9736, 1559, 768, 279,
|
|
188
|
+
256, 535, 256, 791, 319, 279, 573, 264, 279, 2048, 2562, 1536, 1544, 256, 520, 256, 8200, 1339, 256, 535, 256, 571,
|
|
189
|
+
279, 315, 317, 264, 1792, 2562, 1536, 10504, 266, 520, 1024, 2562, 62976, 4872, 535, 571, 2304, 535, 264, 315, 3336,
|
|
190
|
+
256, 8712, 571, 1303, 768, 571, 279, 358, 317, 3328, 2562, 279, 21760, 264, 3840, 5378, 11008, 236040, 26112, 28418,
|
|
191
|
+
4352, 50184, 674816, 24840, 3840, 274440, 4101, 279, 1544, 3863, 2560, 1022728, 1280, 149256, 1751296, 7688, 834,
|
|
192
|
+
2115, 322, 827, 535, 317, 2562, 443904, 145672, 1792, 7944, 256, 2562, 1536, 20232, 256, 2562, 1536, 7688, 512, 1299,
|
|
193
|
+
2816, 12296, 1804, 2304, 1034, 3072, 2562, 256, 1794, 256, 5384, 1280, 4872, 110592, 778, 9224, 395, 819, 522, 768,
|
|
194
|
+
2562, 50688, 8195, 8196, 5890, 2304, 6403, 512, 6404, 11264, 19208, 1024, 279, 264, 14139, 1792, 1047, 3338, 16384,
|
|
195
|
+
522, 376, 377, 279, 2816, 652, 633, 890, 2304, 1889800, 10496, 8200, 24832, 29448, 2227456, 1155, 256, 1923, 256, 643,
|
|
196
|
+
256, 385, 73596, 897, 3840, 380, 7424, 892, 512, 385, 3584, 1153, 2048, 101384, 590848, 27400, 1280, 3336, 768, 2312,
|
|
197
|
+
1792, 2568, 768, 279, 275, 256, 1029, 1068032, 2562, 132608, 11799, 512, 5911, 136960, 1819, 653, 787, 768, 398, 1421,
|
|
198
|
+
2053, 2062, 512, 1292, 526, 7680, 1036, 3328, 1563, 33024, 780, 31488, 5122, 3072, 5122, 27648, 6402, 34560, 21764,
|
|
199
|
+
256, 18180, 256, 516, 512, 260, 512, 516, 512, 1028, 256, 3076, 256, 260, 256, 1796, 256, 16644, 256, 1028, 512, 2052,
|
|
200
|
+
256, 1796, 256, 7172, 256, 1028, 256, 1284, 256, 260, 768, 1796, 256, 87044, 512, 6404, 256, 6404, 256, 7940, 256,
|
|
201
|
+
6404, 256, 7940, 256, 6404, 256, 7940, 256, 6404, 256, 7940, 256, 6404, 256, 2052, 512, 12802, 131072, 14103, 1024,
|
|
202
|
+
12823, 2048, 279, 3584, 279, 5632, 1303, 256, 3863, 282624, 2564, 264, 5124, 1536, 1540, 54528, 1804, 256, 4364, 512,
|
|
203
|
+
1804, 256, 524, 256, 1292, 1280, 15881, 8448, 268, 28672, 11528, 768, 1804, 1802, 512, 2562, 1024, 264, 82176, 7688,
|
|
204
|
+
268, 4352, 11272, 1036, 2562, 120320, 6920, 266, 525, 270, 268, 2562, 54784, 7688, 268, 270, 264, 2562, 50432, 7944,
|
|
205
|
+
256, 776, 268, 520, 268, 1800, 524, 1288, 268, 2048, 264, 266, 57344, 1800, 256, 1032, 256, 520, 256, 3848, 256,
|
|
206
|
+
50440, 512, 2306, 1806, 10496, 8707, 8708, 1548, 319, 266, 1024, 2562, 202496, 15106, 256, 770, 256, 1026, 19456,
|
|
207
|
+
11522, 256, 3842, 49664, 1032, 256, 6920, 256, 520, 256, 264, 512, 264, 256, 2568, 256, 1032, 256, 264, 256, 264,
|
|
208
|
+
1536, 264, 1024, 264, 256, 264, 256, 264, 256, 776, 256, 520, 256, 264, 512, 264, 256, 264, 256, 264, 256, 264, 256,
|
|
209
|
+
264, 256, 520, 256, 264, 512, 1032, 256, 1800, 256, 1032, 256, 1032, 256, 264, 256, 2568, 256, 4360, 1280, 776, 256,
|
|
210
|
+
1288, 256, 4360, 148480, 3330, 8960, 6775, 1536, 6775, 1536, 6775, 30208, 399, 129536, 1281, 520192, 2562, 263680,
|
|
211
|
+
10936455, 8192, 1121927, 512, 1478279, 512, 1913223, 3840, 159367, 631296, 138889, 385536, 1264519, 1280, 2173575,
|
|
212
|
+
181110528, 261, 7680, 24581, 32768, 61463, 50204672,
|
|
213
|
+
};
|
|
214
|
+
const uint32_t narsil_unicode_property_runs_length = 4179;
|
package/cpp/core/src/workspace.c
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#include "internal.h"
|
|
2
|
+
#include "keyword/scratch.h"
|
|
2
3
|
|
|
3
4
|
#include "../include/narsil_core.h"
|
|
4
5
|
|
|
@@ -14,6 +15,8 @@
|
|
|
14
15
|
|
|
15
16
|
int32_t narsil_core_abi_version(void) { return NARSIL_CORE_ABI_VERSION; }
|
|
16
17
|
|
|
18
|
+
keyword_scratch *workspace_keyword_scratch(narsil_workspace *workspace) { return &workspace->keyword; }
|
|
19
|
+
|
|
17
20
|
uint32_t grown_capacity(uint32_t first, uint32_t needed) {
|
|
18
21
|
uint32_t capacity = first;
|
|
19
22
|
while (capacity < needed) {
|
|
@@ -69,6 +72,7 @@ void narsil_workspace_destroy(narsil_workspace *workspace) {
|
|
|
69
72
|
free(workspace->selection_counts);
|
|
70
73
|
free(workspace->visited);
|
|
71
74
|
free(workspace->entry_points);
|
|
75
|
+
keyword_scratch_release(&workspace->keyword);
|
|
72
76
|
free(workspace);
|
|
73
77
|
}
|
|
74
78
|
|
|
@@ -110,7 +114,7 @@ size_t narsil_workspace_bytes(const narsil_workspace *workspace) {
|
|
|
110
114
|
return sizeof *workspace + ((size_t)workspace->frontier.capacity * heap_entry) +
|
|
111
115
|
((size_t)workspace->found.capacity * heap_entry) + ((size_t)workspace->visited_capacity * sizeof(uint32_t)) +
|
|
112
116
|
((size_t)workspace->entry_point_capacity * sizeof(int32_t)) + workspace->dimension_scratch_bytes +
|
|
113
|
-
link_bytes(workspace);
|
|
117
|
+
link_bytes(workspace) + keyword_scratch_bytes(&workspace->keyword);
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
narsil_status workspace_reserve_dimension(narsil_workspace *workspace, uint32_t dimension) {
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { withNativeCode } from './native-error';
|
|
2
|
+
const ANALYSIS_METHODS = [
|
|
3
|
+
'languageCount',
|
|
4
|
+
'languageName',
|
|
5
|
+
'languageRevision',
|
|
6
|
+
'languageStopWords',
|
|
7
|
+
'createStopWordSet',
|
|
8
|
+
'analyse',
|
|
9
|
+
'transform',
|
|
10
|
+
];
|
|
11
|
+
function rawMethodOf(core, name) {
|
|
12
|
+
const method = Reflect.get(core, name);
|
|
13
|
+
if (typeof method !== 'function') {
|
|
14
|
+
return () => {
|
|
15
|
+
throw new Error(`The native search core on this phone has no ${name} method, so it cannot analyse text.`);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return (...parameters) => {
|
|
19
|
+
try {
|
|
20
|
+
return Reflect.apply(method, core, parameters);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw withNativeCode(error);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function numberOf(value, name) {
|
|
28
|
+
if (typeof value !== 'number')
|
|
29
|
+
throw new Error(`The native search core returned no number from ${name}.`);
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
function textOf(value, name) {
|
|
33
|
+
if (typeof value !== 'string')
|
|
34
|
+
throw new Error(`The native search core returned no string from ${name}.`);
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
function textListOf(value, name) {
|
|
38
|
+
if (!Array.isArray(value) || !value.every(entry => typeof entry === 'string')) {
|
|
39
|
+
throw new Error(`The native search core returned no list of strings from ${name}.`);
|
|
40
|
+
}
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
function handleOf(value) {
|
|
44
|
+
if (typeof value !== 'object' || value === null) {
|
|
45
|
+
throw new Error('The native search core returned no stop word set from createStopWordSet.');
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
function analysisResultOf(value, name) {
|
|
50
|
+
if (value === null || typeof value === 'string' || typeof value === 'number')
|
|
51
|
+
return value;
|
|
52
|
+
throw new Error(`The native search core returned an unexpected value from ${name}.`);
|
|
53
|
+
}
|
|
54
|
+
export function adaptAnalysis(core) {
|
|
55
|
+
const languageCount = rawMethodOf(core, 'languageCount');
|
|
56
|
+
const languageName = rawMethodOf(core, 'languageName');
|
|
57
|
+
const languageRevision = rawMethodOf(core, 'languageRevision');
|
|
58
|
+
const languageStopWords = rawMethodOf(core, 'languageStopWords');
|
|
59
|
+
const createStopWordSet = rawMethodOf(core, 'createStopWordSet');
|
|
60
|
+
const analyse = rawMethodOf(core, 'analyse');
|
|
61
|
+
const transform = rawMethodOf(core, 'transform');
|
|
62
|
+
return {
|
|
63
|
+
languageCount: () => numberOf(languageCount(), 'languageCount'),
|
|
64
|
+
languageName: language => textOf(languageName(language), 'languageName'),
|
|
65
|
+
languageRevision: language => textOf(languageRevision(language), 'languageRevision'),
|
|
66
|
+
languageStopWords: language => textListOf(languageStopWords(language), 'languageStopWords'),
|
|
67
|
+
createStopWordSet: words => handleOf(createStopWordSet(words)),
|
|
68
|
+
analyse: (language, flags, text, stopWords, records) => analysisResultOf(analyse(language, flags, text, stopWords, records.buffer, records.byteOffset, records.length), 'analyse'),
|
|
69
|
+
transform(language, flags, token) {
|
|
70
|
+
const result = transform(language, flags, token);
|
|
71
|
+
if (typeof result === 'string' || typeof result === 'number')
|
|
72
|
+
return result;
|
|
73
|
+
throw new Error('The native search core returned an unexpected value from transform.');
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
package/lib/engine/core.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { adaptAnalysis } from './analysis';
|
|
2
|
+
import { adaptKeyword } from './keyword';
|
|
1
3
|
import { withNativeCode } from './native-error';
|
|
2
4
|
const ABSENT_REGION = { buffer: new ArrayBuffer(0), byteOffset: 0, byteLength: 0 };
|
|
3
5
|
function viewOf(array) {
|
|
@@ -79,6 +81,8 @@ function backgroundCalls(core) {
|
|
|
79
81
|
}
|
|
80
82
|
export function adaptCore(core, nativeThreads) {
|
|
81
83
|
return {
|
|
84
|
+
...adaptAnalysis(core),
|
|
85
|
+
...adaptKeyword(core),
|
|
82
86
|
abiVersion: () => core.abiVersion(),
|
|
83
87
|
workspaceBytes: () => core.workspaceBytes(),
|
|
84
88
|
attachGraph(memory) {
|
|
@@ -109,5 +113,6 @@ export function adaptCore(core, nativeThreads) {
|
|
|
109
113
|
connectUnreached: (graph, store, metric, nearby, threadSlot, wakes) => core.connectUnreached(graphOf(graph), storeOf(store), metric, viewOf(nearby), threadSlot, viewOf(wakes)),
|
|
110
114
|
measure: (store, metric, ordinals, count, totals) => core.measure(storeOf(store), metric, viewOf(ordinals), count, viewOf(totals)),
|
|
111
115
|
quantise: (store, metric, ordinals, count) => core.quantise(storeOf(store), metric, viewOf(ordinals), count),
|
|
116
|
+
applyMath: (operation, first, second, results) => core.applyMath(operation, viewOf(first), viewOf(second), viewOf(results)),
|
|
112
117
|
};
|
|
113
118
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { withNativeCode } from './native-error';
|
|
2
|
+
export function adaptKeyword(core) {
|
|
3
|
+
const method = Reflect.get(core, 'keywordScore');
|
|
4
|
+
if (typeof method !== 'function') {
|
|
5
|
+
return {
|
|
6
|
+
keywordScore() {
|
|
7
|
+
throw new Error('The native search core on this phone has no keywordScore method, so it cannot score text.');
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
keywordScore(...parameters) {
|
|
13
|
+
let status;
|
|
14
|
+
try {
|
|
15
|
+
status = Reflect.apply(method, core, parameters);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
throw withNativeCode(error);
|
|
19
|
+
}
|
|
20
|
+
if (typeof status !== 'number')
|
|
21
|
+
throw new Error('The native search core returned no status from keywordScore.');
|
|
22
|
+
return status;
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -76,4 +76,5 @@ export interface NarsilCore extends HybridObject<{
|
|
|
76
76
|
connectUnreachedAsync(graph: NarsilAttachedGraph, store: NarsilAttachedStore, metric: number, nearby: MemoryView, threadSlot: number): Promise<NativeConnectOutcome>;
|
|
77
77
|
measure(store: NarsilAttachedStore, metric: number, ordinals: MemoryView, count: number, totals: MemoryView): number;
|
|
78
78
|
quantise(store: NarsilAttachedStore, metric: number, ordinals: MemoryView, count: number): number;
|
|
79
|
+
applyMath(operation: number, first: MemoryView, second: MemoryView, results: MemoryView): number;
|
|
79
80
|
}
|
|
@@ -29,6 +29,7 @@ namespace margelo::nitro::narsil {
|
|
|
29
29
|
prototype.registerHybridMethod("connectUnreachedAsync", &HybridNarsilCoreSpec::connectUnreachedAsync);
|
|
30
30
|
prototype.registerHybridMethod("measure", &HybridNarsilCoreSpec::measure);
|
|
31
31
|
prototype.registerHybridMethod("quantise", &HybridNarsilCoreSpec::quantise);
|
|
32
|
+
prototype.registerHybridMethod("applyMath", &HybridNarsilCoreSpec::applyMath);
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
35
|
|
|
@@ -87,6 +87,7 @@ namespace margelo::nitro::narsil {
|
|
|
87
87
|
virtual std::shared_ptr<Promise<NativeConnectOutcome>> connectUnreachedAsync(const std::shared_ptr<HybridNarsilAttachedGraphSpec>& graph, const std::shared_ptr<HybridNarsilAttachedStoreSpec>& store, double metric, const MemoryView& nearby, double threadSlot) = 0;
|
|
88
88
|
virtual double measure(const std::shared_ptr<HybridNarsilAttachedStoreSpec>& store, double metric, const MemoryView& ordinals, double count, const MemoryView& totals) = 0;
|
|
89
89
|
virtual double quantise(const std::shared_ptr<HybridNarsilAttachedStoreSpec>& store, double metric, const MemoryView& ordinals, double count) = 0;
|
|
90
|
+
virtual double applyMath(double operation, const MemoryView& first, const MemoryView& second, const MemoryView& results) = 0;
|
|
90
91
|
|
|
91
92
|
protected:
|
|
92
93
|
// Hybrid Setup
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delali/narsil-react-native",
|
|
3
|
-
"version": "0.3.1-next.
|
|
3
|
+
"version": "0.3.1-next.156",
|
|
4
4
|
"description": "Narsil for React Native: keyword and vector search on the phone, with the index kept in durable files.",
|
|
5
5
|
"author": "Delali (https://sondelali.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -49,11 +49,12 @@
|
|
|
49
49
|
"app.plugin.js",
|
|
50
50
|
"react-native.config.js",
|
|
51
51
|
"LICENSE",
|
|
52
|
+
"NOTICE",
|
|
52
53
|
"README.md"
|
|
53
54
|
],
|
|
54
55
|
"sideEffects": false,
|
|
55
56
|
"peerDependencies": {
|
|
56
|
-
"@delali/narsil": "0.3.1-next.
|
|
57
|
+
"@delali/narsil": "0.3.1-next.156",
|
|
57
58
|
"expo": "*",
|
|
58
59
|
"react-native": "*",
|
|
59
60
|
"react-native-nitro-modules": "*",
|
|
@@ -75,7 +76,7 @@
|
|
|
75
76
|
"react-native-nitro-modules": "0.37.1",
|
|
76
77
|
"react-native-worklets": "0.13.0",
|
|
77
78
|
"typescript": "5.9.3",
|
|
78
|
-
"@delali/narsil": "0.3.1-next.
|
|
79
|
+
"@delali/narsil": "0.3.1-next.156"
|
|
79
80
|
},
|
|
80
81
|
"dependencies": {
|
|
81
82
|
"web-streams-polyfill": "4.3.0"
|