summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix code stylePeng Wu2023-01-143-5/+3
|
* Add license header to unaligned_memory.hPeng Wu2022-11-301-0/+20
|
* Update class MemoryChunkPeng Wu2022-11-291-8/+4
|
* Fixup: fix build errorMatias Larsson2022-11-291-1/+2
| | | | Add the new header file to noinst_HEADERS.
* Fix libpinyin crash on ARMv7Matias Larsson2022-11-297-20/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the alignment trap in get_unigram_frequency(). Fix also other places where this same trap could happen (depending on compiler and surrounding code). The trap happened when the ARM GCC generated a SIMD instruction (specifically VLDR) to load 32 bits in a single instruction, and when the memory address was not aligned to 32 bits. VLDR traps if the address is not aligned. GCC generated the instruction because of the cast to uint32 from the address. The fix is to allocate a uint32 variable in stack and use memcpy to copy the data to that variable. This way we ensure that appropriate instructions are generated. **Links** About the issue with GCC: https://trust-in-soft.com/blog/2020/04/06/gcc-always-assumes-aligned-pointer-accesses/ How Linux does it: https://elixir.bootlin.com/linux/v5.10.155/source/include/linux/unaligned/memmove.h#L13 ARM documentation: https://documentation-service.arm.com/static/5f8dc043f86e16515cdbbc92?token= See 'A3.2.1 Unaligned data access'
* Fix segmentation fault on ARMv7Matias Larsson2022-11-291-2/+2
|
* Update pinyin.h for compatibilityPeng Wu2022-10-191-0/+5
|
* Update pinyin_choose_candidate functionPeng Wu2022-09-261-3/+24
|
* Improve pinyin_guess_predicted_candidates functionPeng Wu2022-09-261-2/+8
|
* Update pinyin_choose_candidate functionPeng Wu2022-09-231-1/+16
|
* Refactor sort_option_t enumPeng Wu2022-09-222-31/+44
|
* Support longer candidatePeng Wu2022-09-213-3/+86
|
* Write search_suggestion_with_matrix functionPeng Wu2022-09-143-0/+104
|
* Write FacadeChewingTable2::search_suggestion methodPeng Wu2022-09-091-0/+26
|
* Write ChewingLargeTable2::search_suggesion method for Kyoto CabinetPeng Wu2022-09-083-1/+167
|
* Write ChewingLargeTable2::search_suggesion method for Berkeley DBPeng Wu2022-09-072-0/+164
|
* Write ChewingTableEntry::search_suggestion methodPeng Wu2022-09-022-4/+82
|
* Fix Kyoto Cabinet usagePeng Wu2022-08-303-4/+9
|
* Fix pinyin.cppPeng Wu2022-08-292-31/+36
|
* Support prefix candidatePeng Wu2022-08-262-15/+81
|
* Write FacadePhraseTable3::search_suggestion methodPeng Wu2022-08-251-0/+25
|
* Fix a typoPeng Wu2022-08-251-1/+1
|
* Write search_suggestion methodPeng Wu2022-07-265-5/+119
|
* Write compare_phrase functionPeng Wu2022-07-192-0/+76
|
* Use abort function instead of assert macroPeng Wu2022-06-0616-53/+53
|
* Use check_result macro in src directoryPeng Wu2022-06-0116-73/+80
|
* Update Makefile.amPeng Wu2022-05-301-0/+1
|
* Write pinyin_utils.hPeng Wu2022-05-301-0/+32
|
* Switch from GrassDB to ProtoTreeDBPeng Wu2022-03-302-4/+4
|
* Fix libzhuyin linkage when using LLVM linkerCaleb Xu2021-09-181-1/+1
|
* Update special_table.h2.6.1Peng Wu2021-09-151-0/+1
|
* Improve pinyin_remember_user_input function for incomplete pinyinPeng Wu2021-05-201-0/+2
|
* Improve pinyin_remember_user_input functionPeng Wu2021-05-171-5/+11
|
* Fixes memory leak in pinyin_guess_predicted_candidates functionPeng Wu2021-05-101-3/+3
|
* Update full pinyin parser codePeng Wu2021-03-251-1/+1
|
* update special_table.hZhangyuan Nie2021-03-251-0/+1
|
* Check LLVM LD instead of Clang to determine LDFLAGWeixuan XIAO2020-12-231-4/+4
| | | | | Fix exported symbols according to the suggestion in https://github.com/libpinyin/libpinyin/pull/138
* Append an empty line to avoid ld warningWeixuan XIAO2020-12-232-2/+2
|
* Replace -version-script flag with -exported_symbols_list for LLVMWeixuan XIAO2020-11-263-0/+140
| | | | | | Detect whether $CXX is clang with gcc alias. Use -exported_symbols_list under Clang/LLVM env
* Fix delimiter for reading table files on macOSWeixuan XIAO2020-11-265-0/+25
| | | | | | | | | | | On macOS under llvm/clang++, the default delimiter for format string is weird: it cannot read full CJK characters from the table files. This patch adds macOS-specified code to make "\t" and " " the implicit delimiter. Ref: https://stackoverflow.com/questions/12885628/changing-the-scanf-delimiter
* update special_table.hPeng Wu2020-11-101-0/+1
|
* Fixes Berkeley DB cursor usagePeng Wu2020-10-144-0/+15
|
* Fixes copy_bdb functionPeng Wu2020-10-101-0/+4
|
* support database format in table.confPeng Wu2020-09-272-1/+48
|
* Improve pinyin_save functionPeng Wu2020-09-231-27/+100
|
* Use Kyoto Cabinet snapshot featurePeng Wu2020-09-234-0/+32
|
* Fix missing dynamic symbols in libzhuyin.soRuei-Yuan Lu2020-09-071-2/+2
| | | | | * zhuyin_get_zhuyin_key * zhuyin_get_zhuyin_key_rest
* improve Kyoto Cabinet usagePeng Wu2020-08-213-9/+9
|
* fixes merge_single_gram functionPeng Wu2020-08-211-0/+2
|
* fixes full pinyin in zhuyin.cppPeng Wu2020-08-191-1/+29
|