summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-03Update readme; Fix typo in makefile; Include headers inside header guard; ↵Gabriel Jensen
Remove unneeded includes; Rename private include directory: 'include-priv' => 'include-private'; Remove assembly support from (public) headers; Remove fastimpl (assembly algorithms are still used); Add copyright/license notices to makefiles; Seperate sources according to header; Require GNU Make; Move (most) C-implementations into a seperate project: zapx; Restructure assembly; Implement strfill in assembly; Use new versioning system (api.ver); Remove documentation; Add features from latest standard; Temporarily remove i386 implementations; Update readme format; Update changelog format; Remove impl; Remove stdver; Readd ver; Use git tagging;
2022-07-28Remove type specifier from version macro; Add mathematical functions abs and ↵Gabriel Jensen
fma; Update documentation; Remove nothrw attribute from foreach; Remove UB from foreach test; Fix parameter mismatch in foreach test; Use unsigned char instead of uint_least8_t; Remove unnecessary casts; Add new headers: 'zap/math.h' (for mathematical functions), 'zap/mem.h' (for memory sequence functions); Restructure makefile; Fix not using INT_LEAST8_MAX and INT_LEAST8_MIN instead of INT8_MAX and INT8_MIN; Remove '/build' from gitignore;
2022-07-19Fix incorrect version number;Gabriel Jensen
2022-07-19Add function foreach: Run function on each element; Use directive globl ↵Gabriel Jensen
instead of global in assembly; Use SIZE_MAX instead of negative one; Remove asflags from makefile; Don't require GNU Make; Change the type of fndbyte: (size_t (void const *,size_t,uint_least8_t)) => (size_t (void const *,size_t,unsigned char)); Change the type of memfill: (void (void *,size_t,uint_least8_t)) => (void (void *,size_t,unsigned char)); Update readme (add documentation for some functions); Update susinfo symbol names;
2022-07-11Fix install target; Remove type literals;Gabriel Jensen
2022-07-11memdup: Use sus_unlikely instead of __builtin_expect; Rename project to zap ↵Gabriel Jensen
(from rgo); Remove global license file (useless with MPL); Migrate test to C++ (for reasons which will be revealed later); Restructure headers; Add include guards to the private header; Add attribute useret to functions; Require GNU Make; Compile position independent code; Update readme;
2022-07-08Installation script: Create installation directories if they don't already ↵Gabriel Jensen
exist; Don't use susinfo types; Remove declarations for getbinver; Add memcmp, strcmp; Update makefile; Reimplement fastimpl as a global variable; Change type of fastimpl (uint_least8_t => _Bool); Change the return types of memeq and streq (uint_least8_t => _Bool); Enable compilation warnings; Add type literals (like those from susinfo); Use *int_leastN_t instead of *intN_t; Remove restrict-qualifications; Remove C++ version of memdup;
2022-06-25Fix readme not reflecting that we now support all platforms; Rename the ↵Gabriel Jensen
'Building' section in the readme to 'Building & Installing';
2022-06-25Use susinfo; Implement algorithms in C (with inline assembly on supported ↵Gabriel Jensen
platforms); Add comments; Fix strcpy counting the null-terminator; Fix strcpy taking a pointer-to-const as the output; Implement strcpy, streq in IA-32; Optimise streq: Only use the lower eight bytes for the return value; Optimise strlen: Use fewer registers; Fix memfill taking a pointer-to-const as the output; Fix strfill taking a pointer-to-const as the output; Update readme; Add private header; Remove assembly-specific version macro;
2022-06-06Relicense under MPL2; Instead of throwing an error, define a macro when the ↵Gabriel Jensen
header is included on an unsupported platform;
2022-06-02Remove stupid debug return from memcpy;Gabriel Jensen
2022-06-02Fix compile flags not indicating new relative header location;Gabriel Jensen
2022-06-02Add install target to makefile; Merge makefiles;Gabriel Jensen
2022-05-26Enable compiler optimisations; Optimise memfill; Optimise memcpy: Use movdqu ↵Gabriel Jensen
instead of movups (AMD64, i386 SSE2), add 256-bit copy (AMD64 AVX, i386 AVX); Update makefile; Implement fndbyte, fndchr, strlen in IA-32; Fix bug in test; Update readme; Add new planned architectures: Motorola 68000, Power ISA, RISC-V, Sparc;
2022-05-26Fix target purge in makefile not being labeled phony; Add machien ↵Gabriel Jensen
architecture check in header; Implement memcpy, memeq, memfill in IA-32; Fix some incorrect comments; Use a different register order for temporaries and optimise register usage; Fix bug in memeq: Should jump if zero, not if equal; Update readme;
2022-05-26Fix indentation in license notices; Fix incorrect declaration for ↵Gabriel Jensen
rgo_strcpy, rgo_streq; Implement fndbyte,memeq,strcpy,streq; Add new tests; Fix bug in memcpy: Should jump if zero, not if equal; Remove declaration for rgo_memcmp; Add macro rgo_ver, defined to the current version number; Add assembly declaration for rgo_fndchr, rgo_fndbyte; Fix some incorrect comments; Use movups instead of movdqu in memcpy;
2022-05-24Initial.Gabriel Jensen