Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix code style | Peng Wu | 2023-01-14 | 3 | -5/+3 |
| | |||||
* | Add license header to unaligned_memory.h | Peng Wu | 2022-11-30 | 1 | -0/+20 |
| | |||||
* | Update class MemoryChunk | Peng Wu | 2022-11-29 | 1 | -8/+4 |
| | |||||
* | Fixup: fix build error | Matias Larsson | 2022-11-29 | 1 | -1/+2 |
| | | | | Add the new header file to noinst_HEADERS. | ||||
* | Fix libpinyin crash on ARMv7 | Matias Larsson | 2022-11-29 | 7 | -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 ARMv7 | Matias Larsson | 2022-11-29 | 1 | -2/+2 |
| | |||||
* | Update pinyin.h for compatibility | Peng Wu | 2022-10-19 | 1 | -0/+5 |
| | |||||
* | Update pinyin_choose_candidate function | Peng Wu | 2022-09-26 | 1 | -3/+24 |
| | |||||
* | Improve pinyin_guess_predicted_candidates function | Peng Wu | 2022-09-26 | 1 | -2/+8 |
| | |||||
* | Update pinyin_choose_candidate function | Peng Wu | 2022-09-23 | 1 | -1/+16 |
| | |||||
* | Refactor sort_option_t enum | Peng Wu | 2022-09-22 | 2 | -31/+44 |
| | |||||
* | Support longer candidate | Peng Wu | 2022-09-21 | 3 | -3/+86 |
| | |||||
* | Write search_suggestion_with_matrix function | Peng Wu | 2022-09-14 | 3 | -0/+104 |
| | |||||
* | Write FacadeChewingTable2::search_suggestion method | Peng Wu | 2022-09-09 | 1 | -0/+26 |
| | |||||
* | Write ChewingLargeTable2::search_suggesion method for Kyoto Cabinet | Peng Wu | 2022-09-08 | 3 | -1/+167 |
| | |||||
* | Write ChewingLargeTable2::search_suggesion method for Berkeley DB | Peng Wu | 2022-09-07 | 2 | -0/+164 |
| | |||||
* | Write ChewingTableEntry::search_suggestion method | Peng Wu | 2022-09-02 | 2 | -4/+82 |
| | |||||
* | Fix Kyoto Cabinet usage | Peng Wu | 2022-08-30 | 3 | -4/+9 |
| | |||||
* | Fix pinyin.cpp | Peng Wu | 2022-08-29 | 2 | -31/+36 |
| | |||||
* | Support prefix candidate | Peng Wu | 2022-08-26 | 2 | -15/+81 |
| | |||||
* | Write FacadePhraseTable3::search_suggestion method | Peng Wu | 2022-08-25 | 1 | -0/+25 |
| | |||||
* | Fix a typo | Peng Wu | 2022-08-25 | 1 | -1/+1 |
| | |||||
* | Write search_suggestion method | Peng Wu | 2022-07-26 | 5 | -5/+119 |
| | |||||
* | Write compare_phrase function | Peng Wu | 2022-07-19 | 2 | -0/+76 |
| | |||||
* | Use abort function instead of assert macro | Peng Wu | 2022-06-06 | 16 | -53/+53 |
| | |||||
* | Use check_result macro in src directory | Peng Wu | 2022-06-01 | 16 | -73/+80 |
| | |||||
* | Update Makefile.am | Peng Wu | 2022-05-30 | 1 | -0/+1 |
| | |||||
* | Write pinyin_utils.h | Peng Wu | 2022-05-30 | 1 | -0/+32 |
| | |||||
* | Switch from GrassDB to ProtoTreeDB | Peng Wu | 2022-03-30 | 2 | -4/+4 |
| | |||||
* | Fix libzhuyin linkage when using LLVM linker | Caleb Xu | 2021-09-18 | 1 | -1/+1 |
| | |||||
* | Update special_table.h2.6.1 | Peng Wu | 2021-09-15 | 1 | -0/+1 |
| | |||||
* | Improve pinyin_remember_user_input function for incomplete pinyin | Peng Wu | 2021-05-20 | 1 | -0/+2 |
| | |||||
* | Improve pinyin_remember_user_input function | Peng Wu | 2021-05-17 | 1 | -5/+11 |
| | |||||
* | Fixes memory leak in pinyin_guess_predicted_candidates function | Peng Wu | 2021-05-10 | 1 | -3/+3 |
| | |||||
* | Update full pinyin parser code | Peng Wu | 2021-03-25 | 1 | -1/+1 |
| | |||||
* | update special_table.h | Zhangyuan Nie | 2021-03-25 | 1 | -0/+1 |
| | |||||
* | Check LLVM LD instead of Clang to determine LDFLAG | Weixuan XIAO | 2020-12-23 | 1 | -4/+4 |
| | | | | | Fix exported symbols according to the suggestion in https://github.com/libpinyin/libpinyin/pull/138 | ||||
* | Append an empty line to avoid ld warning | Weixuan XIAO | 2020-12-23 | 2 | -2/+2 |
| | |||||
* | Replace -version-script flag with -exported_symbols_list for LLVM | Weixuan XIAO | 2020-11-26 | 3 | -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 macOS | Weixuan XIAO | 2020-11-26 | 5 | -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.h | Peng Wu | 2020-11-10 | 1 | -0/+1 |
| | |||||
* | Fixes Berkeley DB cursor usage | Peng Wu | 2020-10-14 | 4 | -0/+15 |
| | |||||
* | Fixes copy_bdb function | Peng Wu | 2020-10-10 | 1 | -0/+4 |
| | |||||
* | support database format in table.conf | Peng Wu | 2020-09-27 | 2 | -1/+48 |
| | |||||
* | Improve pinyin_save function | Peng Wu | 2020-09-23 | 1 | -27/+100 |
| | |||||
* | Use Kyoto Cabinet snapshot feature | Peng Wu | 2020-09-23 | 4 | -0/+32 |
| | |||||
* | Fix missing dynamic symbols in libzhuyin.so | Ruei-Yuan Lu | 2020-09-07 | 1 | -2/+2 |
| | | | | | * zhuyin_get_zhuyin_key * zhuyin_get_zhuyin_key_rest | ||||
* | improve Kyoto Cabinet usage | Peng Wu | 2020-08-21 | 3 | -9/+9 |
| | |||||
* | fixes merge_single_gram function | Peng Wu | 2020-08-21 | 1 | -0/+2 |
| | |||||
* | fixes full pinyin in zhuyin.cpp | Peng Wu | 2020-08-19 | 1 | -1/+29 |
| |