| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix libpinyin crash on ARMv7 | Matias Larsson | 2022-11-29 | 1 | -4/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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' | ||||
| * | Use abort function instead of assert macro | Peng Wu | 2022-06-06 | 1 | -1/+1 |
| | | |||||
| * | Use check_result macro in src directory | Peng Wu | 2022-06-01 | 1 | -14/+14 |
| | | |||||
| * | fixes merge_single_gram function | Peng Wu | 2020-08-21 | 1 | -0/+2 |
| | | |||||
| * | Copy the data when merge into single ngram. | Weng Xuetian | 2020-08-18 | 1 | -4/+4 |
| | | | | | system and user single ngram might be invalidated later. | ||||
| * | update code license | Peng Wu | 2016-10-31 | 1 | -7/+6 |
| | | |||||
| * | add copy parameter to single gram constructor | Peng Wu | 2015-04-21 | 1 | -2/+5 |
| | | |||||
| * | re-factor Bigram | Peng Wu | 2015-04-09 | 1 | -250/+0 |
| | | |||||
| * | fixes berkeley db calls | Peng Wu | 2013-06-18 | 1 | -1/+17 |
| | | |||||
| * | write Bigram::mask_out | Peng Wu | 2012-10-30 | 1 | -1/+52 |
| | | |||||
| * | write SingleGram::mask_out | Peng Wu | 2012-10-30 | 1 | -0/+47 |
| | | |||||
| * | begin to write import iterator | Peng Wu | 2012-06-26 | 1 | -1/+1 |
| | | |||||
| * | update comments | Peng Wu | 2012-03-16 | 1 | -3/+0 |
| | | |||||
| * | add safe guard | Peng Wu | 2012-02-29 | 1 | -2/+2 |
| | | |||||
| * | fixes a typo | Peng Wu | 2012-01-17 | 1 | -1/+1 |
| | | |||||
| * | fixes compile | Peng Wu | 2011-12-05 | 1 | -1/+2 |
| | | |||||
| * | fixes merge single gram | Peng Wu | 2011-12-05 | 1 | -6/+6 |
| | | |||||
| * | add const modifiers | Peng Wu | 2011-12-05 | 1 | -4/+5 |
| | | |||||
| * | write merge single gram | Peng Wu | 2011-12-05 | 1 | -1/+84 |
| | | |||||
| * | fixes save_db | Peng Wu | 2011-10-27 | 1 | -1/+2 |
| | | |||||
| * | fixes load_db | Peng Wu | 2011-10-27 | 1 | -7/+9 |
| | | |||||
| * | fixes fsf address | Peng Wu | 2011-10-11 | 1 | -1/+1 |
| | | |||||
| * | refine namespace pinyin | Peng Wu | 2011-08-08 | 1 | -0/+2 |
| | | |||||
| * | add flexible n-gram signature check | Peng Wu | 2011-05-03 | 1 | -1/+1 |
| | | |||||
| * | add load/save bi-gram db | Peng Wu | 2011-04-20 | 1 | -14/+99 |
| | | |||||
| * | add an assert to bi-gram | Peng Wu | 2011-04-19 | 1 | -1/+1 |
| | | |||||
| * | add more test cases | Peng Wu | 2011-04-19 | 1 | -1/+2 |
| | | |||||
| * | refine bigram load | Peng Wu | 2011-04-18 | 1 | -4/+4 |
| | | |||||
| * | refine bi-gram | Peng Wu | 2011-04-18 | 1 | -93/+60 |
| | | |||||
| * | add insert/remove array item to flexible bi-gram | Peng Wu | 2011-04-18 | 1 | -1/+1 |
| | | |||||
| * | add insert/remove freq to bi-gram | Peng Wu | 2011-04-18 | 1 | -14/+58 |
| | | |||||
| * | refine code | Peng Wu | 2011-04-06 | 1 | -4/+4 |
| | | |||||
| * | refine code | Peng Wu | 2011-04-02 | 1 | -4/+4 |
| | | |||||
| * | add function retrieve_all. | Peng Wu | 2010-08-18 | 1 | -0/+22 |
| | | |||||
| * | rename to libpinyin in file headers. | Peng Wu | 2010-08-03 | 1 | -3/+2 |
| | | |||||
| * | import from pinyin. | Peng Wu | 2010-08-03 | 1 | -0/+283 |
