summaryrefslogtreecommitdiffstats
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix code stylePeng Wu2023-01-141-2/+0
|
* 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-292-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
|
* Use abort function instead of assert macroPeng Wu2022-06-061-1/+1
|
* Update Makefile.amPeng Wu2022-05-301-0/+1
|
* Write pinyin_utils.hPeng Wu2022-05-301-0/+32
|
* improve autoconf for libpinyin.la and libzhuyin.laPeng Wu2019-11-281-3/+3
|
* support zhuyin table in table_info.cppPeng Wu2017-05-111-0/+1
|
* fixes warningsPeng Wu2017-02-141-1/+1
|
* fixes phonetic_lookup_heap.hPeng Wu2017-02-071-0/+3
|
* rename MatchResults to MatchResultPeng Wu2017-02-041-1/+1
|
* fixes compilePeng Wu2016-11-291-1/+1
|
* update Makefile.amPeng Wu2016-10-311-5/+4
|
* update header licensePeng Wu2016-10-312-14/+12
|
* fixes warningsPeng Wu2016-10-281-3/+3
|
* add file length and checksum checks for MemoryChunkPeng Wu2016-10-261-10/+70
|
* write get_check_sum methodPeng Wu2016-10-251-0/+30
|
* import open-gram dictionaryPeng Wu2016-10-091-4/+5
|
* remove table_entry_header_tPeng Wu2016-02-031-2/+0
|
* declare class PhraseTableEntryPeng Wu2016-01-211-0/+3
|
* write pinyin_custom3.hPeng Wu2016-01-061-0/+6
|
* update APIPeng Wu2015-05-281-5/+0
|
* re-factor table infoPeng Wu2015-05-211-0/+5
|
* update table infoPeng Wu2015-05-201-13/+0
|
* update tablesPeng Wu2015-05-201-1/+15
|
* add phonetic table type to table infoPeng Wu2015-05-201-1/+3
|
* split load method into load and mmap of MemoryChunkPeng Wu2015-04-081-12/+38
|
* code style re-factorPeng Wu2015-04-081-108/+108
|
* remove LAMBDA_PARAMETERPeng Wu2013-04-121-2/+0
|
* fixes compilePeng Wu2013-04-081-11/+0
|
* update table infoPeng Wu2013-04-071-3/+3
|
* write table info in progressPeng Wu2013-04-031-1/+1
|
* use G_BEGIN/END_DECLSPeng Wu2013-03-221-3/+3
|
* fixes novel_types.hPeng Wu2013-03-201-3/+2
|
* update lambdaPeng Wu2013-03-071-1/+1
|
* update lambdaPeng Wu2013-03-041-1/+1
|
* update lambda parameterPeng Wu2013-02-271-1/+1
|
* add enum PHRASE_INDEX_LIBRARIESPeng Wu2013-02-191-0/+19
|
* fixes typoPeng Wu2013-02-051-2/+1
|
* re-factor load/savePeng Wu2013-02-041-20/+19
|
* add mmap supportPeng Wu2013-02-041-14/+44
|
* write mask out for facade tablesPeng Wu2012-11-121-1/+2
|
* fixes compilePeng Wu2012-09-071-0/+6
|
* refactor stl_lite.hPeng Wu2012-09-011-275/+12
|
* refine pinyin.hPeng Wu2012-08-251-0/+4
|
* add phrase_large_table2.hPeng Wu2012-08-251-1/+3
|
* refine asserts in large tablesPeng Wu2012-06-211-0/+1
|