Commit Graph

430 Commits (main)

Author SHA1 Message Date
Brett 02c62a2d63 move blackboxes to system 2023-11-22 21:21:17 -05:00
Brett 6514736262 add format to cycles to make look nice 2023-11-22 20:39:46 -05:00
Brett 06f87c9734 fix missing cstring 2023-11-17 01:47:24 -05:00
Brett fd9fa5454d compiler support for blackbox 2023-11-14 01:05:28 -05:00
Brett 5472783bd7 it's still recursive but it's honest work 2023-11-13 15:32:39 -05:00
Brett 3d7abd2765 fix assert, working on loading 2023-11-13 15:15:27 -05:00
Brett 19baf8b048 include recursive 2023-11-13 14:27:51 -05:00
Brett 32e2d48cd3 worsen logging 2023-11-10 12:40:10 -05:00
Brett bd7976cf71 fix logging 2023-11-09 21:11:34 -05:00
Brett e912e7e272 ranges 2023-11-09 19:11:56 -05:00
Brett da7627dd3b memory 2023-11-09 19:07:24 -05:00
Brett e28f30bcec fix uninit error 2023-11-09 15:28:17 -05:00
Brett 97860853cf size check 2023-11-08 20:25:47 -05:00
Brett 1ada8d3912 we sexy man 2023-11-08 18:50:16 -05:00
Brett a555b53a61 update memory to check for size bounds: 2023-11-06 18:35:09 -05:00
Brett 1a72728aeb warning fix 2023-11-06 00:43:44 -05:00
Brett 288076ed02 improve scoped_buffer, it now handles copying 2023-11-05 19:05:32 -05:00
Brett 15bcd37834 make argparse work on c++ 17 2023-11-02 16:02:40 -04:00
Brett 1d8f9b4bbd fix memory leak 2023-10-27 14:32:15 -04:00
Brett 585429e345 order 2023-10-27 14:31:11 -04:00
Brett 0eb6db500b holy const batman 2023-10-27 14:30:16 -04:00
Brett 52c5f2b7b3 make reference 2023-10-27 14:29:41 -04:00
Brett f639b4f83c add default constructor to scoped_buffer 2023-10-27 14:26:31 -04:00
Brett 55c497475e why 2023-10-27 01:11:05 -04:00
Brett 827ee4bd55 move CPP20 constexpr to compat 2023-10-27 00:00:01 -04:00
Brett 8d2bb93b2d fs hack 2023-10-26 20:06:03 -04:00
Brett 5d539c1a2f fs hack 2023-10-26 20:01:01 -04:00
Brett a3179d1a36 compat 2023-10-26 19:44:44 -04:00
Brett 0d6f396a15 fun2 2023-10-26 16:36:27 -04:00
Brett cf49d155de fun 2023-10-26 16:35:42 -04:00
Brett a3d35b8e04 add support for gcc 8.5 2023-10-26 16:27:39 -04:00
Brett e059f1a7ef CONSTEXPR 20 2023-10-26 16:15:14 -04:00
Brett fcceff189b CONSTEXPR c++20 string functions 2023-10-25 14:30:24 -04:00
Brett 96af65a675 move 2023-10-25 01:26:44 -04:00
Brett 82583a444d .data() 2023-10-25 01:26:26 -04:00
Brett 6252525091 .data() 2023-10-25 01:23:33 -04:00
Brett 4010df0e3f const ptr 2023-10-25 01:23:16 -04:00
Brett d59cfd0d4a backwards compat 2023-10-24 21:44:24 -04:00
Brett 63ae93c6e6 move around to bytes and make it faster 2023-10-24 21:43:22 -04:00
Brett 5a07594e42 fix assert 2023-10-15 17:48:10 -04:00
Brett 76b2d57f05 add split for char 2023-10-15 16:43:20 -04:00
Brett 88ef415f8b add missing return 2023-10-14 18:36:32 -04:00
Brett 4f4ed1918b add string char contains overload 2023-10-14 18:35:11 -04:00
Brett ce642a30b7 rename 2023-10-14 17:06:10 -04:00
Brett f55e7d931b add string numbers check 2023-10-14 17:05:51 -04:00
Brett 4486edee60 add .get for argparse (does a get_cast), add rdtsc for profilers 2023-10-03 00:43:08 -04:00
Brett 0bbcb8eeef Merge remote-tracking branch 'github/main' 2023-09-21 23:24:03 -04:00
Brett 029132c622 macro sackro allocator get fuckedero 2023-09-21 23:23:27 -04:00
Brett a438baeca3 fix time returning only extra nanoseconds. function now returns the total nanoseconds sine starting the program
this might be changed in the future
2023-09-17 16:24:53 -04:00
Brett 6fc5496c76 remove path test 2023-09-13 16:52:23 -04:00
Brett e2d932ea78 cpu timer 2023-09-13 16:49:56 -04:00
Brett 215220f98b move defines to c++ 2023-09-07 00:23:13 -04:00
Brett 465f1a4fc8 fix assert not requiring ; at the end 2023-09-07 00:21:02 -04:00
Brett 650af9877f inline some string functions - disable warnings 2023-08-31 21:47:32 -04:00
Brett d3ed46686e add gcount to fs utils 2023-08-25 03:41:43 -04:00
Brett 1b4e36416a make exception API more consistent
blt_throw no longer halts execution
BLT_THROW has been added which throws the exception
2023-08-23 15:26:36 -04:00
Brett 9348207ffb Add exceptions / assertions
Only works for linux / GNU
2023-08-23 15:23:47 -04:00
Brett 1d03938f95 SQLite 2023-08-18 02:21:22 -04:00
Brett 6579a3f5cb remove static from random dev 2023-08-17 12:20:59 -04:00
Brett ea986bbc95 only allow uuid.h if openssl is included in parent project 2023-08-17 12:14:59 -04:00
Brett 1e8f431f9e UUID 2023-08-15 19:25:06 -04:00
Brett 7f9d9bf241 fix issue with blt:logging using non-namespaced log function in macro expansion 2023-08-14 22:49:32 -04:00
Brett 04fd3aec8b static, nbt, cassert, algoritmn, get exposed
Basically fix a bunch of stuff that came up in production
2023-08-09 21:48:30 -04:00
Brett 4ae730c9bb remove blt::logging from argparse
use std::cout now as it produces more logical outputs
2023-08-07 22:39:25 -04:00
Brett e91c915238 fix logging memory errors 2023-08-03 01:48:24 -04:00
Brett 4a3c03dd5e add -vvv support and add some actions + version 2023-08-02 14:00:11 -04:00
Brett 620a16574d update hashmap to include hash, eq and alloc 2023-07-30 14:04:59 -04:00
Brett 147c46a1a4 fix cmake lists and move hashmap decl to hashmap.h 2023-07-29 17:41:45 -04:00
Brett 7b7d9df67b NBT appears to be completely working 2023-07-28 01:35:01 -04:00
Brett 126faa0b03 NBT working!! 2023-07-27 01:47:11 -04:00
Brett c4c23e9cc6 NBT finished, need to add decoder / tests
- evil hacks are not fun (blt::nbt::_internal_ forward declares list and compound for use inside list / compound)
- list could be made faster by bulk allocating when type is known however i believe the compiler is smart enough to do this for me
- testing that should be a todo!
2023-07-26 13:09:41 -04:00
Brett cf7c6f2237 logging NONE will now output without format string 2023-07-25 14:06:04 -04:00
Brett 983d7de820 std::function is slow!!
maybe change blt::logging to use something a little faster. base class + virtual function isn't that slow!
2023-07-24 03:30:23 -04:00
Brett f5d6ef19a4 remove format changes 2023-07-24 02:55:03 -04:00
Brett 85fdc4fa65 Move constructing is now allowed for the scoped buffer, copy assignment disallowed.
Copy assignment isn't allowed because T cannot be guaranteed to be copyable and I don't want this class to involve type traits
2023-07-24 02:52:11 -04:00
Brett 31855dd0a4 move math functions to math.h
format contained a rounding function and power function, they are now in math.h
2023-07-24 02:44:25 -04:00
Brett 0d5abd143f readme update plus time functions and cleaner scoped_buffer WITH begin()/end()
scoped_buffer update will break most uses
2023-07-24 02:39:03 -04:00
Brett 7fd3fbadb3 change default to not log to file! 2023-07-23 23:21:16 -04:00
Brett ec16f5412b new randomness functions 2023-07-23 13:10:11 -04:00
Brett 529d996a38 fix minor date issue 2023-07-22 18:26:39 -04:00
Brett 8ce22fd53a Add STREAM macro varaints to the disabled logging section 2023-07-22 12:55:44 -04:00
Brett fa55b5e929 update cmake logging config and README.md 2023-07-21 22:45:23 -04:00
Brett f325d7aa83 BLT logging v2 2023-07-21 22:21:09 -04:00
Brett 0ba2254729 logging to file 2023-07-21 18:06:55 -04:00
Brett 7e1007526f add functions to change logging settings (global\!) 2023-07-21 16:52:44 -04:00
Brett b9b501d391 new blt logging works fine! 2023-07-21 16:49:48 -04:00
Brett f5069859c5 Merge remote-tracking branch 'github/main' 2023-07-21 03:56:11 -04:00
Brett db9c6c9446 strings 2023-07-21 03:54:06 -04:00
Brett 889f24d402 logging 2.0 is almost at first working build 2023-07-21 03:32:42 -04:00
Brett 58ba957b1d working on logging 2.0. Format defined, custom tags added. 2023-07-20 22:38:17 -04:00
Brett 7033474455 memory\!, working on logging! 2023-07-20 21:44:52 -04:00
Brett fc8aa8204a fix bug in useless string buffer (use += on std::string, faster) 2023-07-11 17:50:40 -04:00
Brett f15a89328f add string writing support to string buffer 2023-07-10 19:08:23 -04:00
Brett d883adaf5c Change toString() to str() to better replicate the std 2023-07-10 18:55:20 -04:00
Brett 5426aa8359 add template for string buffer 2023-07-10 18:54:04 -04:00
Brett d06c7ebeb6 String buffer 2023-07-10 18:45:43 -04:00
Brett a1331db389 blt logging 2023-06-26 21:33:42 -04:00
Brett 94624bddec Merge remote-tracking branch 'refs/remotes/tpgc/main' 2023-04-08 12:44:49 -04:00
Brett 5116981057 add prefix to LOG_LEVEL 2023-04-08 12:44:31 -04:00
Paragon-Win a6a2ee966c Fix windows! 2023-04-07 00:02:21 -04:00
Brett 89df343e4f fix most warnings 2023-04-05 17:21:19 -04:00
Brett 289af13171 fix incorrect translate function 2023-04-01 02:55:00 -04:00
Brett d50e13dcb6 add warning to round 2023-03-05 17:21:40 -05:00
Brett c025299ee4 rounding 2023-03-05 17:21:14 -05:00
Brett 62d929171c fromBytes 2023-03-05 17:06:07 -05:00
Brett 831a485209 unbdo 2023-03-05 13:01:38 -05:00
Brett 063a679278 pt 2023-03-05 13:00:24 -05:00
Brett 2b60b2621f nullptr_initalizer 2023-03-05 12:57:57 -05:00
Brett 48e126214b update queues for better stl complience 2023-03-05 12:00:45 -05:00
Brett bd89abb2f3 random tests 2023-03-04 22:38:25 -05:00
Brett cd4e4581ae move math.h to math subdir, update version to 5.0 2023-02-28 23:33:39 -05:00
Brett 7ff48d4916 cleanup math
-Moved matrix and vectors into their own file
-math.h now includes all math components
-math moved into sub-folder
-matrix class updated
-new vector types added
2023-02-28 23:20:56 -05:00
Brett c1f3f7f2b8 Trying 2023-02-16 00:13:26 -05:00
Brett bd5a2b9277 revert 2023-02-16 00:08:39 -05:00
Brett fa8b67b6c9 fix average 2023-02-16 00:06:36 -05:00
Brett 08524cd280 averagizer 2023-02-16 00:03:01 -05:00
Brett 596c75dc6f add ortho matrix 2023-02-15 00:41:06 -05:00
Brett e50cc74bf3 Added dot product 2023-02-11 15:25:28 -05:00
Brett 128fc2f9dc Fix system namespace 2023-02-11 12:53:32 -05:00
Brett f64535671d fix perspective matrix 2023-02-11 12:09:15 -05:00
Brett 1147d02c20 Another perspective change 2023-02-11 12:07:03 -05:00
Brett a01d5eba90 adjusting the perpsective formula 2023-02-11 12:05:47 -05:00
Brett 5ecb127519 Fix issue with loader.h linking 2023-02-10 17:54:27 -05:00
Brett 20ce0e2e9b Fix perspective calc 2023-02-08 23:21:25 -05:00
Brett ba35e4645b Perspective in math.h 2023-02-08 23:01:01 -05:00
Brett cf48035378 shader processing 2023-02-08 22:30:20 -05:00
Brett cbc703b852 Cleaned up logging and added file location + line number 2023-02-08 17:22:27 -05:00
Brett f1cb6f05f5 flush 2023-02-08 14:12:21 -05:00
Brett b4548166c3 Finally fully fix logging issue
-buffer size is now calculated
-overflows have been fixed
-temporary buffer is allocated on the heap.
2023-02-08 13:40:28 -05:00
Brett 3109ec13c0 vectors and matrix 2023-02-07 22:34:10 -05:00
Brett d25cdd9de0 minor warning fix 2023-02-06 21:54:01 -05:00
Brett 12a5985916 Push V0.3.2a 2023-01-29 23:36:42 -05:00
Brett 38e6abe4e3 Writing and Reading buffers 2023-01-29 22:27:48 -05:00
Brett 060e1a8efb Tables now have names 2023-01-29 17:10:36 -05:00
Brett 483713b265 tests cleanup, NBT UTF
The UTF8 implementaion is ripped from openjdk-source's java source code, adapted by me for c++
2023-01-29 15:24:33 -05:00
Brett 33b0b7bbbb Cleanup + making way for NBT! 2023-01-27 10:45:18 -05:00
Brett f68f23ae30 Update 0.3a!
Added table format (TODO: add title to table!)
printing of profiler
ordered table printing to come
TODO: add old table print back, default to table print!
2023-01-27 00:49:44 -05:00
Brett 8ec971f8ce Printing 2023-01-26 12:21:19 -05:00
Brett e58f20d16e Better profiler 2023-01-26 00:59:36 -05:00
Brett bc4bf76be7 Add stream version of the logging macros 2023-01-24 23:01:34 -05:00
Brett 51a1468cf0 Console logging 2023-01-24 17:56:48 -05:00
Brett 4562171205 Logging macros now print new line even if the supplied string does not include one.
this is done because the use of macros does not support complex line outputs and therefore there will never be a case where \n is not desired.
2023-01-24 15:19:44 -05:00
Brett 6816ddaf7a Logging is now working with all types + formatting
Can provide raw data types like ints, long, float, byte, double etc. Will be printed out as a full line. This cannot be avoided as writing requires the prefix, which cannot be calculated via discrete macro calls. At least not easily.
Performance of the logging needs to be tested
plus writing to filesystem is required.
2023-01-24 15:16:47 -05:00
Brett 5e1deefe48 Add time to the log output 2023-01-23 23:53:37 -05:00
Brett d025b0595c Logging works for the most part, more features need to be added 2023-01-23 17:52:32 -05:00
Brett cf96536468 Logging begin 2023-01-23 10:15:37 -05:00
Brett dee1c92532 string contains functions as well 2023-01-22 18:08:50 -05:00
Brett 69ab5d7079 Added some std::string functions from c++ 20 2023-01-22 17:54:24 -05:00
Brett e2a358ffd1 Basic window class 2023-01-16 14:08:28 -05:00
Brett 4a5c1799ce Fix delete function for dual children nodes 2023-01-12 23:11:17 -05:00
Brett 4b89ec2ee1 Two children delete is still broken. Single / no child delete works fine. 2023-01-12 14:09:34 -05:00
Brett 89f77e3aa9 Delete is broken 2023-01-12 12:18:39 -05:00
Brett 60c1371a9d Switching to recursive delete. Fixed search 2023-01-11 18:56:42 -05:00
Brett 33ee1f2dc7 Fix insert? 2023-01-10 22:58:49 -05:00
Brett 21aa7ed6ac Allow non-default constructor objects? 2023-01-10 22:48:02 -05:00
Brett e5613c8007 Fix insert root node with false default value 2023-01-10 22:46:27 -05:00
Brett 6a2a5948fb Fix null issue 2023-01-10 22:32:14 -05:00
Brett 15eaf59503 Fix search infinite loop on not foundo 2023-01-10 22:30:54 -05:00
Brett 0926d7cc00 Fix node return issue 2023-01-10 22:29:26 -05:00
Brett db27eae97b Switch to ** 2023-01-10 22:28:32 -05:00
Brett 5d76457678 fix 2023-01-10 22:21:23 -05:00
Brett 7ca975d6a0 Add some debug as insert appears to be broken 2023-01-10 22:16:57 -05:00
Brett a34b7e968b Fix binary tree 2023-01-10 22:05:47 -05:00
Brett fa18b01220 Working on binary trees 2023-01-10 10:45:11 -05:00
Brett 9c87a56ed0 Forgot++ 2023-01-05 12:40:08 -05:00
Brett 6ab916f287 Naming conflict 2023-01-05 12:37:15 -05:00
Brett 7fce270aec Add stack, revert queue 2023-01-05 12:34:14 -05:00
Brett 51be6c7e8e Finalized Queue 2023-01-05 12:10:38 -05:00
Brett 64776c291b Debug 2023-01-05 11:49:45 -05:00
Brett deb947653b Fix Queue to be a FIFO instead of FILO data structure 2023-01-05 11:45:27 -05:00
Brett beff47b8f0 Randoms, String refactor, Time, System, + Profiler improvements 2023-01-05 01:52:56 -05:00
Brett f1254d54c3 Minor memory leak fix 2023-01-04 14:38:17 -05:00
Brett 1587f342ad Randoms + Metaprogramming test.
Added randoms using C++ templates. Might be able to change the profiler class to a template template without the need of the config file.
2023-01-04 14:35:57 -05:00
Brett 1bbc7959b0 Profiler test 2022-12-26 23:36:34 -05:00
Brett e50d6ab469 flat queue 2022-12-26 01:10:37 -05:00
Brett a772fb42d5 qu 2022-12-26 01:02:46 -05:00
Brett 8b6f2978f5 constructor 2022-12-26 00:57:11 -05:00
Brett db7f826c04 Const 2022-12-26 00:55:49 -05:00
Brett a207d4f8a4 Strings 2022-12-26 00:34:48 -05:00
Brett 8aa071eb85 Basic Queue 2022-12-26 00:31:00 -05:00