Commit graph

104 commits

Author SHA1 Message Date
18e345cb48 Update res.exp and opt.exp: Take variadic parameters; Add inheritable error 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-05 20:15:06 +02:00
3d285c927d Remove isusgn; Replace C++ maxval, minval, is*typ, and issgn classes with 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-02 20:05:31 +02:00
eddaaf00c4 Make nulptr into a function; 2023-06-02 18:25:58 +02:00
0d9ba87efa Bump API version; Remove arr from dev; 2023-06-01 19:51:18 +02:00
71c711ffea Fix res dtor calls; Update logo colours; 2023-06-01 19:49:06 +02:00
74047840b1 Fix text paddings; Add algorithm for moving: mov; 2023-06-01 17:07:38 +02:00
bbe07e3b6d Define conversion function for opt; Make assignment operators return references; 2023-06-01 16:12:38 +02:00
d2b2a22713 res: Overload oky and err with const-reference parameters; Don't make res and opt constexpr; Define destructors for opt and res; 2023-06-01 15:27:04 +02:00
59724ad254 Add namespace for experimental features: dev; Move arr to this namespace; 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-31 18:53:12 +02:00
5b2d59b1c8 Rework opt; Add equivalent to C++ move: fwd; Inline some opt and res methods; 2023-05-30 18:35:16 +02:00
b6a84dd94a Update logo; 2023-05-28 14:52:09 +02:00
0317eda8a6 Update logo; 2023-05-28 14:29:58 +02:00
35df3b96cb Add move constructor for arr; Add method to arr for getting the underlying pointer; Add copy constructor for arr; Add method for checking if the arr is okay; 2023-05-28 14:05:22 +02:00
d36269cbf0 Add type for dynamic arrays: arr; Make cpy, equ, fil, and srh run-time and throwable; Bring back opt; 2023-05-28 13:03:12 +02:00
6b400fba6c Add type for storing either errors or return values: res; 2023-05-28 10:32:57 +02:00
08e2884876 Fix typings of vectors; 2023-05-27 18:13:33 +02:00
ccefdfdc78 Fix install target; Fix comments; 2023-05-27 18:11:25 +02:00
167900aabc Update logo colour; 2023-05-27 18:09:44 +02:00
c3318fb7d9 Revert logo resize; 2023-05-27 17:59:28 +02:00
4896323e40 Remove logo section from readme; Update logo; Remove u8c logos; 2023-05-27 17:55:49 +02:00
3314c39493 Rename sys identifiers: openbsd => opnbsd, freebsd => frebsd, drgnfly => drgfly, hurd => hrd, linux => lnx, minix => mnx, unix => unx; Rename imp identifiers: clang => cln, cray => cry, msvc => msc, tiny => tcc, watcom => wat; 2023-05-27 12:37:22 +02:00
d695ee3aa7 Bring back restr (as rsr and private); Fix text paddings; Fix utf32srh 2023-05-27 12:24:46 +02:00
4847271e32 Remove fmtlen; Temporarily disable fmt; Temporarily disable opt; Update file structure of private headers; Use int short instead of short; Rename implementation file directory: imp => det; Fix *fil functions; 2023-05-27 12:04:06 +02:00
ca04e9a00a Add signed equivalent to siz: sizerr (size error); Remove nopos; Fix ptrdif 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-25 09:39:47 +02:00
272db53edc Don't implement isnan as a macro; Fix syscal not being translated; Rename targ variable to tar; Don't use fast optimisation; 2023-05-23 18:08:48 +02:00
29fbd3fe67 Fix changelog; Add more math tests; Implement C++ isnan; 2023-05-23 11:47:45 +02:00
e2e380f276 Fix isnan not being present in C++ API; Fix prefixes and sufixes being present on C++ objects; 2023-05-23 09:52:01 +02:00
cd086898f8 Add optional type: opt; Remove minimum-width integral types; Guarantee 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-22 22:08:58 +02:00
71defca2e8 Fix trtval; 2023-05-18 22:18:29 +02:00
2b1c8b1848 Update header guards; Typedef structures again; Rename nthw to nothw; Add missing prefix to divmod types; Use structure for version constant (use oldstyle in C); Use maxval for inf fallback; 2023-05-18 22:16:44 +02:00
ab33244340 Fix installation target; 2023-05-18 15:57:06 +02:00
0f2216e209 Rename bas module to zp; Rename extver to ext; Rename ver to api; 2023-05-18 15:53:29 +02:00
5976675c83 Rename useq to unseq; Rename urch to unrch; Rename ulik to unlik; 2023-05-18 14:32:00 +02:00
2087ad9739 Rename nret back to noret; 2023-05-18 14:19:04 +02:00
3d14a58719 Fix install target; 2023-05-14 10:26:51 +02:00
c56a0631d8 Update readme; Add isnan to C++; Rename nthrw to nthw; Add constant-evaluated mathematical functions; Rename dist to dst; Implement cpy, equ, fil, and srh in C++11; Use shared implementation files; 2023-05-14 10:18:47 +02:00
034cf774d8 Add matching concepts for C++20; Rename bs module to bas; Rename is* 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-13 22:05:52 +02:00
570fd2db02 Update readme; 2023-05-07 20:49:47 +02:00
35b8d601b1 Rename sz to siz; 2023-05-06 18:33:03 +02:00
9c41ce4f3a Use tagging for development versions; Fix minval and maxval; 2023-05-06 14:16:05 +02:00
b913e594bd Fix installation target installating old private header directory; 2023-05-06 13:55:32 +02:00
2c175ee4bd Compile position-independent code; 2023-05-06 11:22:33 +02:00
4bf6073f91 Fix missing include in test; Disable metaprogramming classes in standards 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-06 10:54:34 +02:00
937463e5ec Support C++98; Make some facilities standard-dependent; Don't implement 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-05 21:23:35 +02:00
30735cc158 Clean up makefile; 2023-05-02 21:35:14 +02:00
619f96f8de Support C++11; Make constexpr conditional; Use raw metaprogramming classes; Remove specialisations for nulptrtyp; Rename private namespace: priv => prv; Rename isarith to isari; 2023-05-02 21:29:58 +02:00
b799358375 Fix wrong symbols; 2023-05-02 19:12:58 +02:00
cb3b528108 Fix object variable names in makefile; 2023-05-02 19:11:43 +02:00
d50b6de804 Update run-time test start message; Assemble missing objects; 2023-05-02 19:10:35 +02:00
f09d04750a Fix memcpy results on ARM; Fix order of parameters in memcpy on ARM; Add more assembly comments; 2023-05-02 19:06:10 +02:00