Commit Graph

190 Commits

Author SHA1 Message Date
1c5fdc6ce1 Update quicksort/bsearch to use templates better 2018-07-15 20:09:55 +10:00
9d12c532d1 Add lazy init to array/hash, rename 64bit max num, minor bug fixes 2018-07-15 02:17:34 +10:00
964304d1b7 Use bucketsUsed variable and more error handling for VHashTable 2018-07-14 23:21:57 +10:00
8997364892 Add DqnVHashTable, hash table backed by virtual memory 2018-07-14 23:00:25 +10:00
f1efb6f8f1 Make DqnJson handle more cases 2018-07-13 00:46:08 +10:00
33cf476d29 Move static functions outside of DqnFile 2018-07-10 23:01:18 +10:00
25410c7aac Fix ReadEntireFile bug 2018-07-10 15:52:12 +10:00
7785e35f91 Restore win32 prototypes, add virtual mem allocation and array, add fixed pool 2018-07-10 00:53:54 +10:00
39d75ae5bf Fix DqnFixedString len bug 2018-07-07 01:10:43 +10:00
6fc26c7bb8 Fix DqnJson bug matching property too early 2018-07-05 12:20:19 +10:00
9ebb4f8f23 Fix DqnArray::Insert count bug, misc unix fixes 2018-07-05 11:26:04 +10:00
da4ba37771 Fix return to pool negative free indexes 2018-07-05 01:38:35 +10:00
602cc32744 Add DqnPool and minor cleanup 2018-07-05 01:04:49 +10:00
c5d26f09c4 Fix unit tests, re-fix DqnArray::Insert 2018-07-05 00:58:40 +10:00
a23e2687fe Improve platform defines, update sprintf 2018-07-05 00:47:11 +10:00
49577e2c27 Merge branch 'master' of https://github.com/Doy-lee/dqn 2018-07-03 23:02:36 +10:00
4ee040b6b0 Improve DqnArray::Insert 2018-07-03 23:01:15 +10:00
a0246bf996 Update for unix compliance again 2018-06-29 18:07:54 +10:00
6df3b32f4e Use simplified array from imgui 2018-06-28 23:25:25 +10:00
86d3418315 Fix DqnArray bugs 2018-06-26 15:50:47 +10:00
7e507ee470 Simplify nix get file size 2018-06-26 00:33:46 +10:00
cf648c2281 Change true/false to yes/no for enums 2018-06-25 20:54:38 +10:00
5d77aa3f4a Simplify DqnJson array iterator, fixed string ctor change 2018-06-25 20:51:18 +10:00
920df31c51 Add VirtualAlloc and fix up platform defines 2018-06-13 23:16:05 +10:00
5dee3d9f89 Simplify DqnRndPCG 2018-06-11 19:16:54 +10:00
0bf1b6d3ff Sprintf returns bytes copied. Add IS_DEBUG flag 2018-06-11 18:40:54 +10:00
d740efdf06 Compact operator overloads for FixedString 2018-06-11 18:03:18 +10:00
056c0b3aea Add DqnFixedString, remove DqnIni, minor cleanup 2018-06-11 16:26:57 +10:00
2c24eacc28 Clean up const func decls and vector constructors 2018-06-09 14:29:19 +10:00
6998fb84de Simplify DqnArray usage (zero is init), add multi-insert 2018-05-28 23:07:29 +10:00
8c34a0e6d1 Remove reliance on windows.h 2018-05-18 23:19:50 +10:00
101037b856 Tabs to spaces 2018-05-17 21:19:58 +10:00
0bc8a48dbd Fix off by 1 error in DqnString::Expand() 2018-03-11 21:26:18 +11:00
dc22ba2a02 Const overloads for DqnJson_Get, restore InitLiteralNoAlloc 2018-03-11 01:23:04 +11:00
6fcf111d2d Make library work on unix again 2018-03-09 02:03:05 +11:00
Doyle Thai
540deb4774 Update lib with named bool parameters and minor fixes 2018-02-20 00:21:00 +11:00
Doyle Thai
7f2950b3dd Add slices, make returned bufs are null terminated 2018-02-07 16:39:40 +11:00
Doyle Thai
b0217483db Fix mem leak in hash, add reset tail for allocator 2018-02-05 17:42:27 +11:00
Doyle Thai
701140287f Try separate mem apis for head/tail 2018-02-05 01:50:36 +11:00
Doyle Thai
019aad46ca Write tests for testing realloc stack 2018-02-03 23:11:14 +11:00
Doyle Thai
9be5194b17 Write more tests for push pop to tail 2018-02-03 21:39:15 +11:00
Doyle Thai
b8157a3c9f Draft double-ended stack allocator for temp malloc 2018-02-03 20:58:15 +11:00
Doyle Thai
7228a8b344 Fix memstack free not clearing metadata 2018-02-03 15:51:47 +11:00
Doyle Thai
21ff2f43dc Write basic tests for new revamped memstacks 2018-02-03 02:49:54 +11:00
Doyle Thai
1fc49c4fde Cleanup tests to be more structured 2018-02-02 23:26:05 +11:00
Doyle Thai
15a4c6ad22 Revamp MemStack with bounds guarding and simplify api 2018-02-02 19:34:44 +11:00
Doyle Thai
87b7d3362c Return true on resize to 0 for arrays 2018-02-01 00:08:42 +11:00
Doyle Thai
f838cc79bf Add strutil getlastbackslash 2018-01-29 19:03:20 +11:00
Doyle Thai
06b0f25f2a Fix realloc bug destroying memory in stack 2018-01-28 12:43:53 +11:00
Doyle Thai
86d2db397c Update array api 2018-01-26 14:54:03 +11:00
Doyle Thai
47bf005dbf Fix string init with 0 sized literal crash 2018-01-25 18:55:05 +11:00
Doyle Thai
b8aee7cef9 Fix off by 1byte error on tracking string free 2018-01-25 16:43:51 +11:00
Doyle Thai
9f25d5a98e Add msvc natvis for better debugging 2018-01-25 12:26:33 +11:00
Doyle Thai
a412bf0bfa Add file copy, better log, iterator for array 2018-01-24 14:58:03 +11:00
Doyle Thai
1464181cc2 Add clear function to hashtable 2018-01-21 21:18:34 +11:00
Doyle Thai
0468024f35 Fix array off by 1 in remove/get 2018-01-21 13:28:53 +11:00
Doyle Thai
7e996981d6 Fix memstack not freeing right size block 2018-01-20 21:08:04 +11:00
Doyle Thai
121c630126 Change memAPI to ptr, add mem info, improve assert 2018-01-20 19:03:29 +11:00
Doyle Thai
2d7b942010 Disable sso strings because problems. 2018-01-19 23:56:25 +11:00
Doyle Thai
398ca0bc96 Add SSO for strings, memStack quick initialiser 2018-01-19 21:52:34 +11:00
Doyle Thai
feeec0c610 Remove useless request api in DqnMemAPI 2018-01-19 13:48:01 +11:00
Doyle Thai
912ca43056 Fix formatting and clean up documentation 2018-01-18 20:25:44 +11:00
Doyle Thai
db25c5997f Minor fixes, add trim whitespace 2018-01-18 16:01:37 +11:00
Doyle Thai
7809185daa Fix string append crash on 0 len 2018-01-06 16:53:53 +11:00
Doyle Thai
fd00b9071c Minor const changes, string fix and name changes 2018-01-06 00:46:44 +11:00
Doyle Thai
5876c16abe Fix array resize crash on 0 initialisation 2018-01-04 16:27:50 +11:00
Doyle Thai
8209593f57 Fix literals not working with strings in structs 2018-01-04 16:07:18 +11:00
Doyle Thai
18967312d6 Clean up DqnFile to be more C++ and minor fixes 2018-01-04 00:40:27 +11:00
Doyle Thai
ee4f8eca17 Finally fix clip rect bug? 2017-12-06 19:08:49 +11:00
Doyle Thai
3d3d741ad6 Add missing default constructor for DqnV2i 2017-11-12 00:14:49 +11:00
Doyle Thai
25d6308a5f List removal for arrays, template specialize sort 2017-11-11 20:08:43 +11:00
Doyle Thai
88bac561ec Update vector and rect api to use constructors 2017-11-10 23:14:50 +11:00
Doyle Thai
2f6624fad7 Make DqnRnd a class, make array memapi aware 2017-11-08 21:32:06 +11:00
Doyle Thai
25098ca74c Add hash table and binary search to library 2017-10-29 20:30:07 +11:00
Doyle Thai
15dad9d8d2 Simplify DqnMemAPI and DqnMemStack api 2017-10-29 12:45:00 +11:00
Doyle Thai
d01e2fbc2f Remove the need for isFreeable in strings 2017-10-29 11:51:16 +11:00
Doyle Thai
b6a3600283 Clean up tests, fix DqnString bug, rename DqnDir 2017-10-29 11:41:26 +11:00
Doyle Thai
3ee5500124 Remove C-style api for strings, fix stack alloc bug 2017-10-28 23:25:17 +11:00
Doyle Thai
bfa00944c6 Various fixes, string lib, start removing C-style API 2017-10-28 19:58:09 +11:00
Doyle Thai
5533ad0b68 Fix typos, add utilties for wstr/file reading 2017-07-26 21:31:17 +10:00
Doyle Thai
d2ebb53322 Fix mat4 lookat, add translate[3f|v3] 2017-07-16 20:47:49 +10:00
Doyle Thai
be0b84a244 Static analysis cppcheck 2017-07-13 12:50:01 +10:00
979679470b Fix DqnMat4_Rotate not normalising axis 2017-07-04 14:22:24 +10:00
924aa84e7d Fix problem exposing platform w/o implementation 2017-07-03 15:17:09 +10:00
f8a4d4fe4b Fix crashes on unix using gcc -O3 2017-07-02 16:31:29 +10:00
2d163fa554 Add fix for strict-aliasing in DqnRnd 2017-07-02 14:47:38 +10:00
cbf7b4d606 Add quicksort generic to lib 2017-06-28 22:47:27 +10:00
825caefe4a Fix non-used param bugs, add minimal win32 sample 2017-06-27 17:45:51 +10:00
db1f76996c Add quicker filesize query, and ReadEntireFile() 2017-06-26 21:46:28 +10:00
866126e735 Make atomic add allow amounts not just +-1 2017-06-26 12:37:52 +10:00
fca8db0366 Port atomics, mutex lock and job queue to unix 2017-06-26 01:57:51 +10:00
19c427d756 Add opt. RAII-isms for destruction, fix thread bug
Thread Bug: Incorrectly using && operator for while
(DqnJobQueue_TryExecuteNextJob(queue) &&
!DqnJobQueue_AllJobsComplete(queue)) causing it to prematurely exit if
the main thread has completed its work before other threads have
completed the remainder. Should be using an || operator, so instead
creating a helper function which encapsulates this functionality.
2017-06-24 14:59:48 +10:00
886425eaa3 Add CPP api for dqn file and lock 2017-06-24 11:00:44 +10:00
45bc637773 Expose job queue, update init function 2017-06-23 23:12:20 +10:00
f9de41b6c0 Add cpp members to DqnArray 2017-06-23 21:17:26 +10:00
3d61d66388 Fix destructor premature call in memstack cpp api 2017-06-23 19:05:51 +10:00
9bb8efcf9d Add CPP member functions to DqnMemStack 2017-06-23 15:30:21 +10:00
187fc14d02 DqnTimer unix implementation 2017-06-22 18:10:44 +10:00
f464e869ec Add compile time asserts, table of contents 2017-06-22 16:16:28 +10:00
b2639447d0 Reorganise layout with table of contents 2017-06-22 14:43:53 +10:00