summaryrefslogtreecommitdiff
path: root/CHANGELOG.txt
AgeCommit message (Collapse)Author
2023-05-06Rename sz to siz;Gabriel Jensen
2023-05-06Use tagging for development versions; Fix minval and maxval;Gabriel Jensen
2023-05-06Fix installation target installating old private header directory;Gabriel Jensen
2023-05-06Compile position-independent code;Gabriel Jensen
2023-05-06Fix missing include in test; Disable metaprogramming classes in standards ↵Gabriel Jensen
before C++11; Use double long instead of long double; Overload metaprogramming classes with qualified types; Fix C++ memcpy; Add metaprogramming classes for removing references and pointers; Make test support C++17;
2023-05-05Support C++98; Make some facilities standard-dependent; Don't implement ↵Gabriel Jensen
one-line functions in seperate files; Remove restr; Update optimisation flags; Use reference for value in fil and srh; Qualify template parameters correctly; Update template typings; Make all C++ functions (except cpy, equ, isconsteval, fil, and srh) run-time; Implement some functions in C again; Add private header directory; Add function for filling strings: strfil; Don't always define nulptrtyp; Mind the digraphs; Combine tests; Support C90; Don't use C++-style comments; Fix typings of constants; Remove pair type (replace with divmodres); Remove member functions from vector classes; Don't implement mathematical functions as templates in C++; Update naming convention for vector functions; Add more trigonometric functions; Temporarily remove fmt;
2023-05-02Clean up makefile;Gabriel Jensen
2023-05-02Support C++11; Make constexpr conditional; Use raw metaprogramming classes; ↵Gabriel Jensen
Remove specialisations for nulptrtyp; Rename private namespace: priv => prv; Rename isarith to isari;
2023-05-02Fix wrong symbols;Gabriel Jensen
2023-05-02Fix object variable names in makefile;Gabriel Jensen
2023-05-02Update run-time test start message; Assemble missing objects;Gabriel Jensen
2023-05-02Fix memcpy results on ARM; Fix order of parameters in memcpy on ARM; Add ↵Gabriel Jensen
more assembly comments;
2023-05-01Add more run-time tests; Rename likly and ulikly to lik and ulik;Gabriel Jensen
2023-05-01Fix installation target;Gabriel Jensen
2023-05-01Use NASM on IA-32; Don't use libfmt in rttest; Fix uninitialised variable in ↵Gabriel Jensen
rttest; Make test support C++20; Fix out-of-bounds write in strcpy;
2023-05-01Implement remaining C functions in C++; Use NASM on AMD64; Remove build ↵Gabriel Jensen
artefacts; Switch back to GNU Make; Add u8c logos; Remove installation script; Update target detection script; Update gitingore;
2023-05-01Remove development branch; Revert u8c merge; Remove build artefacts; Rebase ↵Gabriel Jensen
(post-zp commits only);
2023-04-28Add development guidelines to readme; Fix nulptrtyp; Remove C++ nulptr; Add ↵Gabriel Jensen
license file; Actually don't build project in installation script; Remove logo from readme; List logo colours in readme; Add logo section to readme;
2023-04-28Rename arch-macros to arc; Update versioning scheme; Rename impl macros to ↵1.0.0-devGabriel Jensen
imp; Rename os macros to sys; Remove FEATURE-WHISHLIST and move relevavnt content to readme; Bump API version; Update readme (fix typo); Fix useq; Add more comments to headers; Rename sysclret to sysclres; Rename cpyret to cpyres; Update sysclid and sysclres types;
2023-04-27Update API-BREAK file; Don't call run-time functions from translation-time ↵0.1.0-devGabriel Jensen
functions; Remove Zap version tags; Implement memcpy on ARM; Update readme; Update logo; Implement memcpy on ARM64; Update run-time tests; Wrap arguments in parantheses in isnan; Return the one-after-the-end address of the destination from memfil and fil; Increment the extension version; Add metaprogramming class for determening pointer types: isptr; Fix run-time tests printing equal on inequality; Rename API-BREAK to FEATURE-WISHLIST; Don't build project in installation script; Add development branch 'development';
2023-04-25Migrate to CMake; Fix useres using the nodiscard attribute in all C++ ↵0.0.2Gabriel Jensen
editions; Fix the nodiscard attribute being used; Fix nthrw not always being specified; Don't use designated initialisation in C++; Fix trp definition in any; Add new file for listing potential API-breaks (API-BREAK.txt); Disable system calls by default; Fix getarch script on IA-32; Rename getarch script to getTarget; Add installation script; Update gitignore;
2023-04-24Fix unused parameter and invalid invocation in overload of srh;0.0.1Gabriel Jensen
2023-04-24Rename C++ cp to cpy; Rename C++ eq to equ; Rename C++ srch to srh; Rename C ↵0.0.0Gabriel Jensen
cp and C++ bytecp to memcpy; Rename C eq and C++ byteeq to memequ; Rename C fill and C++ bytefill to memfil; Add function for copying strings: strcpy; Add function for searching strings: strsrh; Rename cpyret.dest to cpyret.dst; Add new headers to makefile; Rename math to mth; Rename root to nrt; Rename unreach to urch; Make likly and ulikly public; Add extver to C++; Fix fixflt macros; Rename trap to trp; Add functions for UTF-16 encoding/decoding; Add C++ variants to UTF-8, UTF-16, and Windows-1252 functions; Move public C++ definitions to implementation files ('.ii); Make C++ string functions call their C equivalent at run-time; Add wide-string and UTF-32-string functions to C; Rename typeq to typequ; Use built-in type _Bool in C; Fix language-detection macros; Don't typedef cpyret; Fix C-implementation of cpy; Fix C-implementation of syscall; Define wchr as wchar_t in C++; Add minimum-width character types; Add minimum-width integral types; Update type codes; Remove type identifiers; Install implementation files; Fix non-existent source being referenced on ARM64; Use trailing return types; Fix isflttyp; Add more fixed-width floating-point types; Add more fixed-width integer types; Make ifconsteval public in the form of a compile-time function; Don't typedef pair; Add mathematical functions to C++; Add NaN constants; Add infinity constants to C; Add mathematical function for natural logarithm (unimplemented); Add mathematical function for binary logarithm (unimplemented); Add mathematical function for common logarithm (unimplemented); Add mathematical function for cube root (unimplemented); Add mathematical functions for distance (unimplemented); Add mathematical function for arc cosine (unimplemented); Add mathematical function for arc sine (unimplemented); Add mathematical function for arc tangens (unimplemented); Add mathematical function for logarithm (unimplemented)s Add mathematical functions for dot product; Add structures for vectors; Add classes for vector; Add mathematical function for fourth root (unimplemented); Assert arithmetic types in mathematical templates; Rename sign to sgn and usign to usgn; Add functions for adding vectors; Add functions for subtracting vectors; Implement 'any' architecture using C++; Add metaprogramming class for determening signed and unsigned types; Add UTF-8 encoders/decoders to C++; Add format to C++; Change type of fmtlen to sz; Remove attr prefix from attributes; Support shared libraries; Rename unuse to nuse; Remove sys and move members to bs; Add types for system call return values and system call identifier; Rename C srch and C++ bytesrch to memsrh; Restructure headers and implementations files; Add constant that defines the largest Unicode codepoint: unimax; Clean up code; Use binary literals; Rename is*typ to is*; Add functions for determening non-numbers; Add minimum-value and maximum-value constants to floating-point types; Define dos on DOS-like systems; Don't use file extensions for C++ headers; Update type codes; Change namespace to zp; Rename noret to nret; Rename project to zp (from zap); Add readme; Reset version epoch; Add logo; Add csys logo; Add null pointer type: nullptrtyp; Rename cmp to impl; Rename lang to std; Rename syscall to syscl; Add more comments to headers; Rename nullptr to nulptr; Add attribute for warning against unused results; Change type of ver and extver to i04m; Add type for storing the result of pointer subtraction: ptrdif; Rename ptr to intptr; Update gitignore; Rewrite test program;
2023-04-12Fix CSys still being included;Gabriel Jensen
2023-04-10Move C++ facilities to their own headers; Add more C++ variants; Add ↵Gabriel Jensen
fixed-width floating-point types; Make minimum-width integer types fixed-width; Update code style; Add new module 'sys'; Add syscall function; Add option to disable sys module; Add function to mark unreachable code; Make trap public; Remove version checks; Add floating-point mathematical functions; Add compiler detection macros; Fragmentate headers; Add character sign detection; (Temporarily) remove support for MIPS, POWER, and SPARC; Make noret public; Add attributes; Use MSVC constructs; Make restr public; Fix C++ srch; Install new headers; Add bytewise overloads for C++ memory functions; Add metaprogramming class for removing type qualifiers; Overload C++ maxval and minval for character types and the boolean type; Add wchr type to C; Add macros for detecting the language standard;
2023-03-25cp: Return structure with the one-after-the-end addresses of both dest and ↵Gabriel Jensen
src; Remove all mathematical functions except divmod (and C++ variants); Combine quotrem and frac into new type 'pair'; Use new versioning: api.ext.patch; Remove compatver (and add extver);
2023-03-19Return the one-after-the-emd address from cp; (amd64) Fix wrong registers ↵Gabriel Jensen
being used in cp and the function not working at all; Add compatibility version constant; Add compile-time string functions for C++; Check type in compile-time functions; Add more type checking constants for C++;
2023-03-18Enable debug symbols;Gabriel Jensen
2023-03-17Add integer-string format functions; Move string-related facilities to new ↵Gabriel Jensen
module 'str'; Update code style; Add aliases for C++; Add C++ metaprogramming classes; Fix C/C++ standard detections; Add more attributes to functions; Implement mathematical functions in C++; Implement mathematical functions using basic arithmetic types, including (depending on the function) signed, unsigned, and floating-point; Add fraction structure;
2023-02-26Add functions for null-terminated strings: streq (for equality checking), ↵Gabriel Jensen
strlen (for getting the length); Add type limit macros; Rename bytesz to bytelen; Remove byte type; Remove bool type (and related macros); Remove chr8, chr01, and chr02 types; Update nullptr definition; Update nopos definition;
2023-01-31Fix segmentation fault in fill caused by usage of wrong register (amd64);Gabriel Jensen
2023-01-30cp: Use vmovdqu instead of vmovups (amd64);Gabriel Jensen
2023-01-29Optimise fill (amd64); Optimise cp (amd64);Gabriel Jensen
2023-01-28Update assembly comments; Implement fill in AMD64; Remove signal support; ↵Gabriel Jensen
Fix exp;
2023-01-27Implement exp; Fix bad directory name; Fix makefile;Gabriel Jensen
2023-01-27Implement cp and abs in AMD64; Fix indentations; Implement cp and abs in ARM64;Gabriel Jensen
2023-01-22Add install target to makefile; Fix csys usage;Gabriel Jensen
2023-01-22Rewrite project (the following is the current feature set); Add ↵Gabriel Jensen
minimum-width unsigned integer types: i8, i01, i02, i04; Add minimum-width signed integer types: i8s, i01s, i02s, i04s; Add type for object sizes: sz; Add type for pointer values: ptr; Add function for logical values: bool; Add logical constants: false, true; Add function for memory sequence copying: cp; Add function for memory sequence filling: fill; Add types for storing quotients and remainders: quotrem8, quotrem01, quotrem02, quotrem04; Add function for division and modulo: divmod; Add function for getting absolute values: abs; Add function for memory sequence comparison: eq; Add function for radication: root (unimplemented); Add function for exponentiation: exp (unimplemented); Add function for bytes value searching: srch: Add constant for indicating invalid positions: nopos; Add constant for indicating null pointers: nullptr; Add types for UTF-8, UTF-16,a and UTF-32 values: chr8, chr01, chr02; Add function for UTF-8 encoding: utf8enc; Add function for UTF-8 decoding: utf8dec; Add function for UTF-32 to UTF-8 length calculations: utf8enclen; Add function for UTF-8 to UTF-32 length calculations: utf8declen; Add function for Windows-1252 encoding: win1252enc; Add function for Windows-1252 decoding: win1252dec; Add function for logarithming: log (unimplemented);
2022-11-23mem: Implement; docs: Add example definition to mem;Gabriel Jensen
2022-11-23Add new module mth; Add mathematical functions: abs, div, exp, log, mul, nrt ↵Gabriel Jensen
(currently, only abs has been implemented); Add structure for fractions (frac); Fix version; Re-add documentation; Add maximum and minimum values for types;
2022-11-20memcat: Remove; strcat: Remove; memcp: Return number of copied bytes; ↵Gabriel Jensen
memfill: Return number of filled bytes;
2022-11-06Implement memcnt in assembly;Gabriel Jensen
2022-11-05Add counting function; Rename foreach to memfor; Rename fndbtyte to memfnd; ↵Gabriel Jensen
Rename fndchr to strfnd;
2022-11-05Improve assembly readability (save utf8enc and utf8enclen for later); Update ↵Gabriel Jensen
readme; Fix memory leak in demo;
2022-11-03Remove typing of nullptr;Gabriel Jensen
2022-11-03Add function for getting the length of UTF-32 strings;Gabriel Jensen
2022-10-31Fix install target;Gabriel Jensen
2022-10-31Remove memcmp and strcmp; Restructure sources; Remove root makefile;Gabriel Jensen
2022-10-03Don't use susinfo;Gabriel Jensen
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;