From c6c70c6fcce11c7e7bf419ad6d2c4f2676db6186 Mon Sep 17 00:00:00 2001 From: Timerix22 Date: Sun, 8 May 2022 13:59:28 +0300 Subject: [PATCH] project structure changed for clion --- .gitignore | 1 - .idea/.gitignore | 8 +++++ .idea/inspectionProfiles/Project_Default.xml | 12 +++++++ .idea/misc.xml | 31 +++++++++++++++++++ .idea/vcs.xml | 6 ++++ Makefile | 23 ++++++++------ {Autoarr => src/Autoarr}/Autoarr.c | 0 {Autoarr => src/Autoarr}/Autoarr.h | 0 .../Autoarr}/Autoarr_KVPair_exported.c | 0 .../Autoarr}/Autoarr_Unitype_exported.c | 0 {Autoarr => src/Autoarr}/Autoarr_declare.h | 0 {Autoarr => src/Autoarr}/Autoarr_define.h | 0 {DtsodParser => src/DtsodParser}/DtsodV24.c | 0 {DtsodParser => src/DtsodParser}/DtsodV24.h | 0 .../DtsodParser}/DtsodV24_deserialize.c | 0 .../DtsodParser}/DtsodV24_exported.c | 0 .../DtsodParser}/DtsodV24_serialize.c | 0 {DtsodParser => src/DtsodParser}/README.md | 0 {Hashtable => src/Hashtable}/Hashtable.c | 4 +-- {Hashtable => src/Hashtable}/Hashtable.h | 0 {Hashtable => src/Hashtable}/KeyValuePair.c | 0 {Hashtable => src/Hashtable}/KeyValuePair.h | 0 {Hashtable => src/Hashtable}/hash.c | 4 +-- {Hashtable => src/Hashtable}/hash.h | 4 +-- {SearchTree => src/SearchTree}/SearchTree.c | 0 {SearchTree => src/SearchTree}/SearchTree.h | 0 {SearchTree => src/SearchTree}/SearchTree.md | 0 {String => src/String}/StringBuilder.c | 0 {String => src/String}/StringBuilder.h | 2 +- {String => src/String}/string.c | 2 +- {String => src/String}/string.h | 0 {base => src/base}/base.h | 0 {base => src/base}/cptr.c | 0 {base => src/base}/cptr.h | 0 {base => src/base}/errors.c | 4 ++- {base => src/base}/errors.h | 2 +- {base => src/base}/std.h | 0 {base => src/base}/types.c | 0 {base => src/base}/types.h | 0 tests/test_autoarr.c | 2 +- tests/test_dtsod.c | 6 ++-- tests/test_hashtable.c | 2 +- tests/test_marshalling.c | 2 +- tests/test_searchtree.c | 2 +- tests/test_string.c | 2 +- tests/tests.h | 2 +- 46 files changed, 92 insertions(+), 29 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml rename {Autoarr => src/Autoarr}/Autoarr.c (100%) rename {Autoarr => src/Autoarr}/Autoarr.h (100%) rename {Autoarr => src/Autoarr}/Autoarr_KVPair_exported.c (100%) rename {Autoarr => src/Autoarr}/Autoarr_Unitype_exported.c (100%) rename {Autoarr => src/Autoarr}/Autoarr_declare.h (100%) rename {Autoarr => src/Autoarr}/Autoarr_define.h (100%) rename {DtsodParser => src/DtsodParser}/DtsodV24.c (100%) rename {DtsodParser => src/DtsodParser}/DtsodV24.h (100%) rename {DtsodParser => src/DtsodParser}/DtsodV24_deserialize.c (100%) rename {DtsodParser => src/DtsodParser}/DtsodV24_exported.c (100%) rename {DtsodParser => src/DtsodParser}/DtsodV24_serialize.c (100%) rename {DtsodParser => src/DtsodParser}/README.md (100%) rename {Hashtable => src/Hashtable}/Hashtable.c (96%) rename {Hashtable => src/Hashtable}/Hashtable.h (100%) rename {Hashtable => src/Hashtable}/KeyValuePair.c (100%) rename {Hashtable => src/Hashtable}/KeyValuePair.h (100%) rename {Hashtable => src/Hashtable}/hash.c (82%) rename {Hashtable => src/Hashtable}/hash.h (78%) rename {SearchTree => src/SearchTree}/SearchTree.c (100%) rename {SearchTree => src/SearchTree}/SearchTree.h (100%) rename {SearchTree => src/SearchTree}/SearchTree.md (100%) rename {String => src/String}/StringBuilder.c (100%) rename {String => src/String}/StringBuilder.h (96%) rename {String => src/String}/string.c (97%) rename {String => src/String}/string.h (100%) rename {base => src/base}/base.h (100%) rename {base => src/base}/cptr.c (100%) rename {base => src/base}/cptr.h (100%) rename {base => src/base}/errors.c (96%) rename {base => src/base}/errors.h (99%) rename {base => src/base}/std.h (100%) rename {base => src/base}/types.c (100%) rename {base => src/base}/types.h (100%) diff --git a/.gitignore b/.gitignore index 3cf06f0..f72a415 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,6 @@ obj/ .vs/ .vscode/ .vshistory/ -.idea/ .editorconfig *.user diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..1c2fda5 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..09dbac8 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..2b9936c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..9661ac7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Makefile b/Makefile index f6c333c..200b80d 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ -SRC=$(wildcard [^tests]**/*.c) +SRC=$(wildcard src/**/*.c) $(wildcard src/*.c) TESTS=$(wildcard tests/*c) $(wildcard tests/**/*.c) OUTDIR=bin CMP=gcc -OPT_ARGS=-O2 -flto -WARN_ARGS=-Wall -Wno-discarded-qualifiers -std=c17 +OPT_ARGS=-O2 -std=c17 +WARN_ARGS=-Wall -Wno-discarded-qualifiers all: clear_c clear_bin build_test build_lib @@ -26,11 +26,11 @@ clang: all TEST_FILE=kerep_test.com TEST_ARGS=$(WARN_ARGS) $(SRC) $(TESTS) -o $(OUTDIR)/$(TEST_FILE) -build_test: +build_test: @echo -e '\n\e[96m-------------[build_test]-------------\e[0m' $(CMP) $(OPT_ARGS) $(TEST_ARGS) -build_test_dbg: +build_test_dbg: @echo -e '\n\e[96m-----------[build_test_dbg]-----------\e[0m' $(CMP) -g -O0 $(TEST_ARGS).dbg @@ -39,7 +39,7 @@ LIB_ARGS=$(OPT_ARGS) $(WARN_ARGS)\ $(SRC) tests/test_marshalling.c LIB_FILE=kerep.so -build_lib: +build_lib: @echo -e '\n\e[96m-------------[build_lib]--------------\e[0m' $(CMP) $(LIB_ARGS) -o $(OUTDIR)/$(LIB_FILE) @@ -47,12 +47,17 @@ build_lib: ###### Run tasks ####### ###################################### test: clear_c build_test - @echo -e '\n\e[96m-------------[build_test]-------------\e[0m' - tabs 4 + @echo -e '\n\e[96m----------------[test]----------------\e[0m' + @tabs 4 + $(OUTDIR)/$(TEST_FILE) + +test_dbg: clear_c build_test + @echo -e '\n\e[96m--------------[test_dbg]--------------\e[0m' + @tabs 4 $(OUTDIR)/$(TEST_FILE) valgrind: clear_c build_test_dbg @echo -e '\n\e[96m--------------[valgrind]--------------\e[0m' - tabs 4 + @tabs 4 valgrind -s --read-var-info=yes --track-origins=yes --fullpath-after=kerep/ \ --leak-check=full --show-leak-kinds=all $(OUTDIR)/$(TEST_FILE).dbg diff --git a/Autoarr/Autoarr.c b/src/Autoarr/Autoarr.c similarity index 100% rename from Autoarr/Autoarr.c rename to src/Autoarr/Autoarr.c diff --git a/Autoarr/Autoarr.h b/src/Autoarr/Autoarr.h similarity index 100% rename from Autoarr/Autoarr.h rename to src/Autoarr/Autoarr.h diff --git a/Autoarr/Autoarr_KVPair_exported.c b/src/Autoarr/Autoarr_KVPair_exported.c similarity index 100% rename from Autoarr/Autoarr_KVPair_exported.c rename to src/Autoarr/Autoarr_KVPair_exported.c diff --git a/Autoarr/Autoarr_Unitype_exported.c b/src/Autoarr/Autoarr_Unitype_exported.c similarity index 100% rename from Autoarr/Autoarr_Unitype_exported.c rename to src/Autoarr/Autoarr_Unitype_exported.c diff --git a/Autoarr/Autoarr_declare.h b/src/Autoarr/Autoarr_declare.h similarity index 100% rename from Autoarr/Autoarr_declare.h rename to src/Autoarr/Autoarr_declare.h diff --git a/Autoarr/Autoarr_define.h b/src/Autoarr/Autoarr_define.h similarity index 100% rename from Autoarr/Autoarr_define.h rename to src/Autoarr/Autoarr_define.h diff --git a/DtsodParser/DtsodV24.c b/src/DtsodParser/DtsodV24.c similarity index 100% rename from DtsodParser/DtsodV24.c rename to src/DtsodParser/DtsodV24.c diff --git a/DtsodParser/DtsodV24.h b/src/DtsodParser/DtsodV24.h similarity index 100% rename from DtsodParser/DtsodV24.h rename to src/DtsodParser/DtsodV24.h diff --git a/DtsodParser/DtsodV24_deserialize.c b/src/DtsodParser/DtsodV24_deserialize.c similarity index 100% rename from DtsodParser/DtsodV24_deserialize.c rename to src/DtsodParser/DtsodV24_deserialize.c diff --git a/DtsodParser/DtsodV24_exported.c b/src/DtsodParser/DtsodV24_exported.c similarity index 100% rename from DtsodParser/DtsodV24_exported.c rename to src/DtsodParser/DtsodV24_exported.c diff --git a/DtsodParser/DtsodV24_serialize.c b/src/DtsodParser/DtsodV24_serialize.c similarity index 100% rename from DtsodParser/DtsodV24_serialize.c rename to src/DtsodParser/DtsodV24_serialize.c diff --git a/DtsodParser/README.md b/src/DtsodParser/README.md similarity index 100% rename from DtsodParser/README.md rename to src/DtsodParser/README.md diff --git a/Hashtable/Hashtable.c b/src/Hashtable/Hashtable.c similarity index 96% rename from Hashtable/Hashtable.c rename to src/Hashtable/Hashtable.c index d8c680b..33ec495 100644 --- a/Hashtable/Hashtable.c +++ b/src/Hashtable/Hashtable.c @@ -39,7 +39,7 @@ void Hashtable_expand(Hashtable* ht){ uint32 arlen=Autoarr_length(ar); for(uint16 k=0;khein]; + uint16 newrown=ihash(p.key)%HT_HEIGHTS[ht->hein]; Autoarr(KVPair)* newar=newrows[newrown]; Autoarr_add(newar,p); } @@ -53,7 +53,7 @@ void Hashtable_expand(Hashtable* ht){ } Autoarr(KVPair)* getrow(Hashtable* ht, char* key, bool can_expand){ - uint32 hash=hash32(key); + uint32 hash=ihash(key); Autoarr(KVPair)* ar=ht->rows[hash%HT_HEIGHTS[ht->hein]]; if(can_expand && Autoarr_length(ar)==Autoarr_max_length(ar)) optime("expand",1,(Hashtable_expand(ht))); diff --git a/Hashtable/Hashtable.h b/src/Hashtable/Hashtable.h similarity index 100% rename from Hashtable/Hashtable.h rename to src/Hashtable/Hashtable.h diff --git a/Hashtable/KeyValuePair.c b/src/Hashtable/KeyValuePair.c similarity index 100% rename from Hashtable/KeyValuePair.c rename to src/Hashtable/KeyValuePair.c diff --git a/Hashtable/KeyValuePair.h b/src/Hashtable/KeyValuePair.h similarity index 100% rename from Hashtable/KeyValuePair.h rename to src/Hashtable/KeyValuePair.h diff --git a/Hashtable/hash.c b/src/Hashtable/hash.c similarity index 82% rename from Hashtable/hash.c rename to src/Hashtable/hash.c index dfa6cb7..32ff34f 100644 --- a/Hashtable/hash.c +++ b/src/Hashtable/hash.c @@ -1,13 +1,13 @@ #include "hash.h" -uint32 hash32(char *str){ +uint32 ihash(char *str){ uint32 hash=5381; for (char c=*str;c;c=*(++str)) hash=((hash<<5)+hash)+c; return hash; } -uint64 hash64(char* str){ +uint64 lhash(char* str){ uint64 hash = 0; for (char c=*str;c;c=*(++str)) hash=c+(hash<<6)+(hash<<16)-hash; diff --git a/Hashtable/hash.h b/src/Hashtable/hash.h similarity index 78% rename from Hashtable/hash.h rename to src/Hashtable/hash.h index b3b7d2b..2f575c5 100644 --- a/Hashtable/hash.h +++ b/src/Hashtable/hash.h @@ -7,9 +7,9 @@ extern "C" { #include "../base/base.h" // djb2 hash function from http:// www.cse.yorku.ca/~oz/hash.html -uint32 hash32(char *str); +uint32 ihash(char *str); // sdbm hash function -uint64 hash64(char* str); +uint64 lhash(char* str); #if __cplusplus } diff --git a/SearchTree/SearchTree.c b/src/SearchTree/SearchTree.c similarity index 100% rename from SearchTree/SearchTree.c rename to src/SearchTree/SearchTree.c diff --git a/SearchTree/SearchTree.h b/src/SearchTree/SearchTree.h similarity index 100% rename from SearchTree/SearchTree.h rename to src/SearchTree/SearchTree.h diff --git a/SearchTree/SearchTree.md b/src/SearchTree/SearchTree.md similarity index 100% rename from SearchTree/SearchTree.md rename to src/SearchTree/SearchTree.md diff --git a/String/StringBuilder.c b/src/String/StringBuilder.c similarity index 100% rename from String/StringBuilder.c rename to src/String/StringBuilder.c diff --git a/String/StringBuilder.h b/src/String/StringBuilder.h similarity index 96% rename from String/StringBuilder.h rename to src/String/StringBuilder.h index d1ed61f..1a4e898 100644 --- a/String/StringBuilder.h +++ b/src/String/StringBuilder.h @@ -5,7 +5,7 @@ extern "C" { #endif #include "../Autoarr/Autoarr.h" -#include "../String/string.h" +#include "string.h" declare_Autoarr(string) diff --git a/String/string.c b/src/String/string.c similarity index 97% rename from String/string.c rename to src/String/string.c index 80699e4..2926359 100644 --- a/String/string.c +++ b/src/String/string.c @@ -1,4 +1,4 @@ -#include "../String/string.h" +#include "string.h" // copies str content to new char pointer value (adding '\0' at the end) char* string_extract(string str){ diff --git a/String/string.h b/src/String/string.h similarity index 100% rename from String/string.h rename to src/String/string.h diff --git a/base/base.h b/src/base/base.h similarity index 100% rename from base/base.h rename to src/base/base.h diff --git a/base/cptr.c b/src/base/cptr.c similarity index 100% rename from base/cptr.c rename to src/base/cptr.c diff --git a/base/cptr.h b/src/base/cptr.h similarity index 100% rename from base/cptr.h rename to src/base/cptr.h diff --git a/base/errors.c b/src/base/errors.c similarity index 96% rename from base/errors.c rename to src/base/errors.c index f56687a..24ae3ce 100644 --- a/base/errors.c +++ b/src/base/errors.c @@ -42,10 +42,12 @@ void Maybe_free(Maybe e){ free(e.errmsg); Unitype_free(e.value); } + void printMaybe(Maybe e){ if(e.errmsg) printf("%s\n",e.errmsg); else printuni(e.value); } char* __doNothing(char* a) {return a;} -char* __unknownErr() {return "UNKNOWN ERROR";} \ No newline at end of file + +char* __unknownErr() {return "UNKNOWN ERROR";} diff --git a/base/errors.h b/src/base/errors.h similarity index 99% rename from base/errors.h rename to src/base/errors.h index 84e0b1a..19da077 100644 --- a/base/errors.h +++ b/src/base/errors.h @@ -57,7 +57,7 @@ char* __unknownErr( ); #define tryLast(_funcCall, _rezult) Maybe _rezult=_funcCall; if(_rezult.errmsg){\ _rezult.errmsg=__extendErrMsg(_rezult.errmsg, __FILE__,__LINE__,__func__);\ __EXIT(_rezult.errmsg);\ - }else + }else #if __cplusplus } diff --git a/base/std.h b/src/base/std.h similarity index 100% rename from base/std.h rename to src/base/std.h diff --git a/base/types.c b/src/base/types.c similarity index 100% rename from base/types.c rename to src/base/types.c diff --git a/base/types.h b/src/base/types.h similarity index 100% rename from base/types.h rename to src/base/types.h diff --git a/tests/test_autoarr.c b/tests/test_autoarr.c index c52bfa7..26db9e4 100644 --- a/tests/test_autoarr.c +++ b/tests/test_autoarr.c @@ -1,5 +1,5 @@ #include "tests.h" -#include "../Autoarr/Autoarr.h" +#include "../src/Autoarr/Autoarr.h" static void printautoarr(Autoarr(uint16)* ar){ printf("\e[94mAutoarr(uint16): " diff --git a/tests/test_dtsod.c b/tests/test_dtsod.c index a42a970..317c7da 100644 --- a/tests/test_dtsod.c +++ b/tests/test_dtsod.c @@ -1,5 +1,5 @@ #include "tests.h" -#include "../DtsodParser/DtsodV24.h" +#include "../src/DtsodParser/DtsodV24.h" const char text[]= "list_of_lists: [ [\"sss\"]];" @@ -33,7 +33,7 @@ void print_dtsod(Hashtable* dtsod){ } void test_dtsod(){ - optime(__func__,1,({ + //optime(__func__,1,({ printf("\e[96m-------------[test_dtsod]-------------\n"); Hashtable* dtsod; char* s; @@ -61,5 +61,5 @@ void test_dtsod(){ })); free(s); - })); + //})); } \ No newline at end of file diff --git a/tests/test_hashtable.c b/tests/test_hashtable.c index e0cf59d..55aa80e 100644 --- a/tests/test_hashtable.c +++ b/tests/test_hashtable.c @@ -1,5 +1,5 @@ #include "tests.h" -#include "../Hashtable/Hashtable.h" +#include "../src/Hashtable/Hashtable.h" void print_hashtable(Hashtable* ht){ printf("\e[94mHashtable: " diff --git a/tests/test_marshalling.c b/tests/test_marshalling.c index 6e5017b..3dde3c0 100644 --- a/tests/test_marshalling.c +++ b/tests/test_marshalling.c @@ -1,4 +1,4 @@ -#include "../Hashtable/KeyValuePair.h" +#include "../src/Hashtable/KeyValuePair.h" EXPORT void CALL test_marshalling(char* text, KVPair** kptr){ KVPair* k=malloc(sizeof(KVPair)); diff --git a/tests/test_searchtree.c b/tests/test_searchtree.c index a94bb06..cdaf0ed 100644 --- a/tests/test_searchtree.c +++ b/tests/test_searchtree.c @@ -1,5 +1,5 @@ #include "tests.h" -#include "../SearchTree/SearchTree.h" +#include "../src/SearchTree/SearchTree.h" void printstnode(STNode* node){ printf("\e[94mSTNode: " diff --git a/tests/test_string.c b/tests/test_string.c index 90110f6..047f84d 100644 --- a/tests/test_string.c +++ b/tests/test_string.c @@ -1,5 +1,5 @@ #include "tests.h" -#include "../String/string.h" +#include "../src/String/string.h" void test_string(){ optime(__func__,1,({ diff --git a/tests/tests.h b/tests/tests.h index edaa49f..ce80143 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -1,6 +1,6 @@ #pragma once -#include "../base/base.h" +#include "../src/base/base.h" void printuni(Unitype v);