Commit Graph

435 Commits (9950fd3c94d2fd52e6f953bfd188962e16e55a08)

Author SHA1 Message Date
Brett 8defbaf70d hot chocolate 2023-12-07 16:03:38 -05:00
Brett da891be991 fix memory leak in assert, add demangling and link options to find function names 2023-12-07 15:59:26 -05:00
Brett de84f9573b Merge remote-tracking branch 'refs/remotes/tpgc/main' + explict fixes 2023-12-03 17:02:50 -05:00
Brett 743cb4ae91 sexy columns 2023-12-03 17:01:51 -05:00
Brett 03c63cdf90 formatting broken 2023-12-01 15:03:47 -05:00
Brett 34451b5b86 please make all men gay -brett (to santa, xmas forever list) 2023-12-01 12:02:20 -05:00
Brett 98b5f6fa1e minor formatting 2023-11-30 20:14:18 -05:00
Brett e2b278e8bd working now 2023-11-30 19:56:45 -05:00
Brett da32f9b98a Autism (Ascii trees)
making ascii trees because fun
2023-11-29 21:36:22 -05:00
Brett 583807af96 fix profiler sorting 2023-11-26 18:05:38 -05:00
Brett f5886416bf move blackbox to utility 2023-11-26 17:35:06 -05:00
Brett f99ea36a85 utility is useless 2023-11-24 13:45:14 -05:00
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 e81cddf6ba fix posargs 2023-11-08 21:31:53 -05:00
Brett 97dd77d9c9 i hate you (fixed arg_parse ambig 2023-11-08 21:22:54 -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 fbd067e69e add ability for std::string in args.get<T> 2023-10-09 21:50:41 -04:00
Brett 9c712402f3 profiler_v2 seems to be completely functional 2023-10-05 01:48:54 -04:00
Brett ab24a8733b add partial API compatability with profiler v1
the general idea is the same however due to how profiles are handled after calling write or print profile the intervals inside are no longer valid.
(they are deleted and will be removed from the internal hashmap)
print profile is also now consistent with the new API, old calls will need to be updated.
2023-10-05 01:40:36 -04:00
Brett 3266a7b102 fix profiler disable macro 2023-10-05 01:31:54 -04:00
Brett 620c8b9e33 auto_interval, formatting see details for information
auto_interval now accepts an interval_t* which must be created manually. allows for clean RAII
format now switches to seconds after 1000ms instead of after 100ms. This feels more natural
2023-10-05 01:18:47 -04:00
Brett fd3eb73008 profiler_v2 is WIP. seems to work but isn't fully tested 2023-10-04 01:39:43 -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 0b907867a2 argparse get_cast update to work with all is_arithmetic types 2023-09-17 15:22:37 -04:00
Brett 7a07f4a729 rename internal fields away from help to subcommand 2023-09-16 17:50:37 -04:00
Brett 02a1dc1a8c rename help disabler to SUBCOMMAND action type 2023-09-16 17:40:35 -04:00
Brett 9db6dd8456 fix bug with postional args preventing the warning of missing args
add option to print full filename
fix issue with some help printing full filename
2023-09-16 17:22:15 -04:00
Brett 1e293c7dba argparse update
a "janky" solution has been added to the argparse module of BLT.
The new update allows for the creation of "help disablers" which are basically akin to how git operates with
git submodule
git commit
etc
the primary command "git" can have flags (in the case of the tests, --no-color)
while having multiple help disabling sub commands (currently graphics and blt)
everything before the sub command arg will be processed as a primary command flag
everything after the sub command arg will be processed by the sub command arg_parse
this allows for effective namespacing of command modules

TODO:
- Make this as an action?
- cleanup the code
- use a name that makes more sense than "help disabler"
2023-09-16 16:27:48 -04:00
Brett 04cef480bd argparse 2023-09-13 17:29:50 -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 9e4bfad087 add more features to argparse
can now add git [name] [args] type calls
2023-09-10 15:33:11 -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 34536e2a63 blt::mustache? 2023-08-21 01:03:05 -04:00
Brett bbbf0ba2e5 fix lvalue reference issue with stoi, get_cast now exists 2023-08-18 19:22:12 -04:00
Brett 0e17dff862 update variant access in arg_parse::get 2023-08-18 19:15:21 -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 d1e9d5daef Merge remote-tracking branch 'refs/remotes/origin/main' 2023-08-14 22:50:04 -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 f78eec792b make contains work with -- - or non flagged checks 2023-08-11 12:10:00 -04:00
Brett e176030868 Merge remote-tracking branch 'github/main' 2023-08-10 02:30:39 -04:00
Brett e68d7aa87f files? 2023-08-10 02:30:09 -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 7e05fb3d60 arg parse should be completely functional!
help works
not all functions have been tested!
2023-08-08 14:06:19 -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 2a656a687e use new arg parse + defaults now assigned 2023-08-07 17:42:59 -04:00
Brett b083245ab4 partial rewrite on parsing
- will move new one to replace old one in next commit
- basically the same code but works
- args now support arg_data_t as a default
- arg_data_t is now much smarter
2023-08-07 16:12:43 -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 c6cb3c59d4 list consume 2023-08-01 13:58:08 -04:00
Brett a0492df393 args 2023-08-01 13:43:00 -04:00
Brett e702a651df parse names 2023-07-31 13:53:10 -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 79900dbf1a fix include in NBT 2023-07-29 17:25:11 -04:00
Brett 94e10e7674 fix include in argparse, update cmake version 2023-07-29 17:24:28 -04:00
Brett 0febd6e8aa arg 2023-07-29 14:04:46 -04:00
Brett db5c7fe37f fix 2023-07-29 13:41:55 -04:00
Brett 90350e8584 parse 2023-07-29 13:38:19 -04:00
Brett 21425cff55 add parallel hashmaps optional submodule 2023-07-29 02:03:28 -04:00
Brett 7b7d9df67b NBT appears to be completely working 2023-07-28 01:35:01 -04:00
Brett 11408ea4cc fix long array and string due to mistype in constructor 2023-07-27 02:09:50 -04:00
Brett 6c7fab292c Add missing destructors 2023-07-27 01:53:01 -04:00
Brett 126faa0b03 NBT working!! 2023-07-27 01:47:11 -04:00
Brett ff1765c52e reader 2023-07-26 14:03:21 -04:00
Brett 5c0093e0d3 add change tag_compound to use hashmap, allow vectors 2023-07-26 13:52:51 -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 7a7ee74924 EVIL HACK 2023-07-26 03:48:09 -04:00
Brett cf7c6f2237 logging NONE will now output without format string 2023-07-25 14:06:04 -04:00
Brett 1998ddbafe update to c++20 2023-07-24 13:00:35 -04:00
Brett c3aab51030 nightly commit + working on NBT 2023-07-24 03:40:09 -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 15cca07286 fix mat4x4 scale op 2023-07-11 18:35:29 -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 2ad00c8895 hopefully finally fix vectors 2023-04-21 21:39:34 -04:00
Brett b088565d35 fix negation 2023-04-21 21:37:11 -04:00
Brett 548b036ad5 move from private to protected 2023-04-21 21:35:52 -04:00
Brett 2d8e410a5c add extra templates 2023-04-21 21:35:11 -04:00
Brett 4b0226929b add return statement to matrix class 2023-04-21 21:04:19 -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 7e87d303f4 Merge remote-tracking branch 'refs/remotes/tpgc/main' 2023-03-30 21:49:09 -04:00
Brett 4ec0a1d614 Minor change to test jenkins 2023-03-30 21:48:31 -04:00
Brett bd4f07d866 add restrictions to vector template 2023-03-29 13:12:17 -04:00
Brett 8ec6cf10e5 vector 2023-03-15 15:26:58 -04:00
Brett 680d958c9f inline function 2023-03-15 15:25:15 -04:00
Brett 96d122e09e namespace 2023-03-15 15:24:03 -04:00
Brett 1177d20be1 basis 2023-03-15 15:22:28 -04:00
Brett 3101eeae4a equality 2023-03-14 18:20:10 -04:00
Brett e6298271e4 const 2023-03-14 18:05:24 -04:00
Brett 86820b779d fix normalize 2023-03-14 18:04:53 -04:00
Brett b51a5363b2 fix 2023-03-14 18:02:20 -04:00
Brett cc80e71a2a logging vectors 2023-03-14 18:01:05 -04:00
Brett a3643e4cca f_equal 2023-03-14 17:30:22 -04:00
Brett edfca12b18 projection 2023-03-10 17:24:00 -05:00
Brett 4b4f95af81 cross product 2023-03-10 17:01:44 -05:00
Brett 225a8de7de Add rotation matrix 2023-03-10 16:52:15 -05:00
Brett e0cee0d344 normalize 2023-03-08 23:49:57 -05:00
Brett 1770113f1f Add test for matrix, works fine, generic template as well 2023-03-08 21:33:34 -05:00
Brett 5db2224f93 matrix multiplcation with vector 2023-03-08 21:26:42 -05:00
Brett b62d4bfe78 update vector and fix profile memory usage 2023-03-06 21:29:04 -05: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 5d493a6493 cleanup printing
remove the needless addition of \n to the end of lines
2023-03-04 11:52:54 -05:00
Brett 643053c409 Ignore negative values by default 2023-03-04 11:46:37 -05:00
Brett 811cdff8d1 refactor profiler
code is now much more clean
	-removed ugly nested loops
	-used functions to reduce code clutter and duplcation
removed redundant functions
cleaned up sort and improved names
2023-03-04 11:42:24 -05:00
Brett 8592ad6d92 fix memory issue? 2023-03-03 10:41:38 -05:00
Brett 61ae482e5d fix linker error 2023-03-01 00:05:26 -05:00
Brett b77638436e fast functions of common math (untested!) 2023-02-28 23:50:13 -05:00
Brett b2666dc39e fix transpose 2023-02-28 23:43:56 -05:00
Brett cd4e4581ae move math.h to math subdir, update version to 5.0 2023-02-28 23:33:39 -05:00
Brett 1cd889ff05 fix missing namespace in vectors 2023-02-28 23:31:39 -05:00
Brett 1d7775a742 fix missing template parameters in new vector 2023-02-28 23:30:16 -05:00
Brett e1ace0d64d fix transposed matrix operators 2023-02-28 23:23:00 -05:00