summaryrefslogblamecommitdiff
path: root/CHANGELOG.txt
blob: 6c1910f12ef61be23ef937eb29478446138510f1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                                                                          




                               










                                                                                                                           




                       












                                                                 















                                                                                   




                                                                         















                                                                          




                                                                                                      



                                         



                                                                




                                 










                                                                                                           









                                                                             












                                                           


          
| F

- Remove type specifier from version macro;
- Add mathematical functions abs and 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;

| E

- Fix incorrect version number;

| D

- Add function foreach: Run function on each element;
- Use directive globl 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;

| C

- Fix install target;
- Remove type literals;

| B

- memdup: Use sus_unlikely instead of __builtin_expect;
- Rename project to zap (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;

| A

- Installation script: Create installation directories if they don't already 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;

| 9

- Fix readme not reflecting that we now support all platforms;
- Rename the 'Building' section in the readme to 'Building & Installing';

| 8

- Use susinfo;
- Implement algorithms in C (with inline assembly on supported 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;

| 7

- Relicense under MPL2;
- Instead of throwing an error, define a macro when the header is included on an unsupported platform;

| 6

- Remove stupid debug return from memcpy;

| 5

- Fix compile flags not indicating new relative header location;

| 4

- Add install target to makefile;
- Merge makefiles;

| 3

- Enable compiler optimisations;
- Optimise memfill;
- Optimise memcpy: Use movdqu 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;

| 2

- Fix target purge in makefile not being labeled phony;
- Add machien 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;

| 1

- Fix indentation in license notices;
- Fix incorrect declaration for 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;

| 0

- Initial.