summaryrefslogtreecommitdiff
path: root/test.cc
AgeCommit message (Collapse)Author
2023-06-05Update res.exp and opt.exp: Take variadic parameters; Add inheritable error ↵HEADmasterGabriel Jensen
type (that may be used for exceptions): err; Implement trp in inline assembly; Raise SIGTRAP on some hosted environments in trp; Fix error in ARM64 syscal comment; Add (C++98 compatible) metaprogramming class for special values: val; Rework arrays; Add function for moving memory sequences: mov;
2023-06-02Remove isusgn; Replace C++ maxval, minval, is*typ, and issgn classes with ↵Gabriel Jensen
common metaprogramming class: typ; Add metaprogramming class for detecting reference types: isref; Fix infdl; Rename remqual to remcv; Fix nan and inf for qualified types;
2023-06-01Bump API version; Remove arr from dev;2.0.0-devGabriel Jensen
2023-06-01Define conversion function for opt; Make assignment operators return references;Gabriel Jensen
2023-06-01res: Overload oky and err with const-reference parameters; Don't make res ↵Gabriel Jensen
and opt constexpr; Define destructors for opt and res;
2023-05-31Add namespace for experimental features: dev; Move arr to this namespace; ↵Gabriel Jensen
Don't define methods in class definitions; Require C++11 for opt, res, and arr; Rework opt and res; Make opt and res constexpr (except for exp);
2023-05-30Rework opt; Add equivalent to C++ move: fwd; Inline some opt and res methods;Gabriel Jensen
2023-05-28Add move constructor for arr; Add method to arr for getting the underlying ↵Gabriel Jensen
pointer; Add copy constructor for arr; Add method for checking if the arr is okay;
2023-05-28Add type for dynamic arrays: arr; Make cpy, equ, fil, and srh run-time and ↵Gabriel Jensen
throwable; Bring back opt;
2023-05-28Add type for storing either errors or return values: res;1.1.0-devGabriel Jensen
2023-05-27Remove fmtlen; Temporarily disable fmt; Temporarily disable opt; Update file ↵Gabriel Jensen
structure of private headers; Use int short instead of short; Rename implementation file directory: imp => det; Fix *fil functions;
2023-05-25Add signed equivalent to siz: sizerr (size error); Remove nopos; Fix ptrdif ↵Gabriel Jensen
not being defined; Rename intptr to ptr; Use int long and int long long instead of long and long long; Update type identifiers; Fix long doulbe type suffixes;
2023-05-23Don't implement isnan as a macro; Fix syscal not being translated; Rename ↵Gabriel Jensen
targ variable to tar; Don't use fast optimisation;
2023-05-23Fix changelog; Add more math tests; Implement C++ isnan;Gabriel Jensen
2023-05-22Add optional type: opt; Remove minimum-width integral types; Guarantee ↵Gabriel Jensen
fixed-width integral types; Guarantee fixed-width floating-point types; Remove extended fixed-width integral types; Remove extended fixed-width floating-point types (including f01); Only overload mathematical functions for fixed-width types; Move inf and nan to zp; Fix urch not being renamed to unrch in C++; Remove constant mathematical functions;
2023-05-18Update header guards; Typedef structures again; Rename nthw to nothw; Add ↵Gabriel Jensen
missing prefix to divmod types; Use structure for version constant (use oldstyle in C); Use maxval for inf fallback;
2023-05-13Add matching concepts for C++20; Rename bs module to bas; Rename is* ↵Gabriel Jensen
metaprogramming classes back to is*typ; Rename isconsteval to iscstevl; Rename syscal to syscal; Don't declare C++ syscal as noexcept; Rename syscalid to syscalidt; Add more comments to headers; Update and fix standard-detection macros; Update target detection in makefile;
2023-05-07Update readme;Gabriel Jensen
2023-05-06Rename sz to siz;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-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-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-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-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-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;
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-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;