diff --git a/y_network_neural_network_/Makefile b/y_network_neural_network_/Makefile new file mode 100644 index 0000000..02bbbbd --- /dev/null +++ b/y_network_neural_network_/Makefile @@ -0,0 +1,145 @@ +#file: y_network_neural_network_/Makefile +# lib: -lynetneurnet +PROJECT_LIB=libynetneurnet.so +CC=gcc +NETNEURNETDIR=$(PWD) + +ROOTPROJECTDIR=$(PWD)/.. + +#$(wildcard $(PWD)/**/include) + +YLISTDIR=$(PWD)/../list_t +YWORKDIR=$(PWD)/../y_worker_t +YJSONDIR=$(PWD)/../yjson_t +#YSOCKETDIR=$(YSOCKET_DIR) +YSOCKET_DIR=$(PWD)/../y_socket_t + +INCLUDE_SOCKET=-I$(YSOCKET_DIR)/include -I$(YLISTDIR)/src -I$(YWORKDIR)/include -I$(YJSONDIR)/src -I$(YSOCKET_DIR)/include + +LIB_SOCKET=$(YSOCKET_DIR)/libysocket.so + +YSOCKSRC_O=$(YSOCKET_DIR)/src/y_socket_t/y_socket_t.o + +YNODESRC_O=$(YSOCKET_DIR)/src/y_socket_t/y_node_t.o + +YY_STRINGSRC_O=$(YSOCKET_DIR)/src/y_socket_t/y_list_var_tool.o + +YFILEHANDLERSRC_O=$(YSOCKET_DIR)/src/y_socket_t/y_file_handler.o + +YLISTSRC_O=$(YLISTDIR)/src/list_t/list_t.o + +WORKSRC_0=$(YWORKDIR)/src/y_worker_t/y_worker_t.o +YTASKSRC_0=$(YWORKDIR)/src/y_worker_t/y_task_t.o + +YJSONSRC_O=$(YJSONDIR)/src/json_t/json_t.o + + +DEPS_SOCKET:=$(YLISTDIR) $(YWORKDIR) $(YJSONDIR) $(YSOCKET_DIR) + +OBJ_SOCKET=$(YSOCKSRC_O) $(YNODESRC_O) $(YY_STRINGSRC_O) $(YLISTSRC_O) $(WORKSRC_0) $(YTASKSRC_0) $(YFILEHANDLERSRC_O) $(YJSONSRC_O) + + + +#CC=gcc +DEEPQLEARNDIR=$(PWD)/../deepQlearn_0 +LIB_DEEPQLEARN=$(DEEPQLEARNDIR)/libdeepqlearn.so + +YTESTDIR=$(PWD)/../ytest_t +YTOOLDIR=$(PWD)/../ytools_t +YPERMDIR=$(PWD)/../ypermutation_t +DIMDIR=$(PWD)/../dimension_t + +TENSDIR=$(PWD)/../tensor_t +LISTDIR=$(PWD)/../list_t + +NEURODIR=$(PWD)/../neuron_t + +#DEEPQLEARN_SRC_DIR=$(PWD)/src/deepQlearning +INCLUDE_DEEPQLEARN=-I$(DEEPQLEARNDIR)/src/deepQlearning -I$(NEURODIR)/src -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src -I$(YTOOLDIR)/include -I$(LISTDIR)/src +#CFLAGS=-I$(DEEPQLEARN_SRC_DIR) -I$(NEURODIR)/src -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src -I$(YTOOLDIR)/include -I$(LISTDIR)/src + #"-D DEBUG=1" + + +#SRC_DIR=$(ROOT_DIR)/src +#SRC=$(wildcard */*/*.c) +SRC=$(wildcard **/**/*.c) +#HEADS=$(OBJS:.o=.h) +#TEST_DIR=$(PWD) + +EXECSRC=$(NAME_TEST).c +#EXECSRC=openF.c + +EXEC=launch_$(NAME_TEST)_m + +NEUROSRC_O=$(NEURODIR)/src/neuron_t/neuron_t.o + +TENSRC_O=$(TENSDIR)/src/tensor_t/tensor_t.o + +DEEPQLEARN_SRC_DIR=$(DEEPQLEARNDIR)/src/deepQlearning + +VEHICLESRC_O=$(DEEPQLEARN_SRC_DIR)/vehicle.o + +LEARNTODRIVESRC_O=$(DEEPQLEARN_SRC_DIR)/learn_to_drive.o + +TOOLSRC_O=$(YTOOLDIR)/src/tools_t/tools_t.o + +PERMSRC_O=$(YPERMDIR)/src/permutation_t/permutation_t.o + +DIMSRC_O=$(DIMDIR)/src/dimension_t/dimension_t.o + +LISTSRC_O=$(LISTDIR)/src/list_t/list_t.o + + +TOPTARGETS := all clean + +DEPS_DEEPQLEARN=$(DIMDIR) $(YPERMDIR) $(YTESTDIR) $(TENSDIR) $(NEURODIR) $(YTOOLDIR) #$(LISTDIR) + +OBJ_DEEPQLEARN=$(VEHICLESRC_O) $(DIMSRC_O) $(PERMSRC_O) $(TENSRC_O) $(NEUROSRC_O) $(TOOLSRC_O) $(LEARNTODRIVESRC_O) #$(LISTSRC_O) + + +LIB_YTEST=$(YTESTDIR)/libytest.so + +#all: $(LIB_DEEPQLEARN) +all: $(PROJECT_LIB) + +TOPTARGETS := all clean + +DEPS=$(DEPS_SOCKET) $(DEPS_DEEPQLEARN) + +$(TOPTARGETS): $(DEPS) + + + + +INCLUDE=$(INCLUDE_SOCKET) $(INCLUDE_DEEPQLEARN) + +CFLAGS=-Wall -lOpenCL -lm -lpthread -Werror -fpic $(INCLUDE) #-lcurses +#LDFLAGS=-L$(YTESTDIR) -lytest -lOpenCL -lm -lpthread #-lcurses + + +#CFLAGS=-g -lpthread -Wall -Werror -fpic $(INCLUDE) #"-D DEBUG=1" +#LDFLAGS= + +OBJ=$(OBJ_DEEPQLEARN) $(OBJ_SOCKET) + + +$(PROJECT_LIB): $(OBJ) #$(LIB_SOCKET) $(LIB_DEEPQLEARN) + echo "objects:" $(OBJ) + #$(CC) -shared -o $@ $^ $(INCLUDE) $(LDFLAGS) + #$(CC) -shared -o $@ $^ $(LDFLAGS) + $(CC) -shared -o $@ $^ $(CFLAGS) + +# .PHONY: $(TOPTARGETS) $(SUBDIRS) + + +$(DEPS): + $(MAKE) -C $@ $(MAKECMDGOALS) + +.PHONY: all clean + +clean: + rm -f $(OBJ) + +mrproper: clean + rm -f $(PROJECT_LIB) + diff --git a/y_network_neural_network_/test/Makefile b/y_network_neural_network_/test/Makefile new file mode 100644 index 0000000..19506e8 --- /dev/null +++ b/y_network_neural_network_/test/Makefile @@ -0,0 +1,86 @@ +#file: y_network_neural_network_t/test/Makefile + + + +NAME_TEST=is_good +CC=gcc +YTESTDIR=$(PWD)/../../ytest_t +YLISTDIR=$(PWD)/../../list_t +YWORKDIR=$(PWD)/../../y_worker_t +YJSONDIR=$(PWD)/../../yjson_t + +YSOCKETDIR=$(PWD)/../../y_socket_t +INCLUDE_DIR=$(YSOCKETDIR)/include +INCLUDE=-I$(YSOCKETDIR)/include -I$(YLISTDIR)/src -I$(YWORKDIR)/include -I$(YJSONDIR)/src -I$(YTESTDIR)/include_ytest/include +CFLAGS=-Wall -Werror -fpic $(INCLUDE) +LDFLAGS=-L$(YTESTDIR) -lytest -lpthread -lm -lOpenCL #-L$(YSOCKETDIR) -lysocket + +#SRC_DIR=$(YSOCKETDIR)/src +#SRC=$(wildcard */*/*.c) +#SRC=$(wildcard **/**/*.c) + +#OBJ=$(SRC:.c=.o) + +#HEADS=$(OBJS:.o=.h) +#TEST_DIR=$(PWD) + +EXECSRC=$(NAME_TEST).c +EXEC=launch_$(NAME_TEST)_m + +YSOCKSRC=$(YSOCKETDIR)/src/y_socket_t/y_socket_t.c +YSOCKSRC_O=$(YSOCKSRC:.c=.o) + +YFILEHANDLSRC=$(YSOCKETDIR)/src/y_socket_t/y_file_handler.c +YFILEHANDLSRC_O=$(YFILEHANDLSRC:.c=.o) + +YNODESRC=$(YSOCKETDIR)/src/y_socket_t/y_node_t.c +YNODESRC_O=$(YNODESRC:.c=.o) + +YY_STRINGSRC=$(YSOCKETDIR)/src/y_socket_t/y_list_var_tool.c +YY_STRINGSRC_O=$(YY_STRINGSRC:.c=.o) + +YLISTSRC=$(YLISTDIR)/src/list_t/list_t.c +YLISTSRC_O=$(YLISTSRC:.c=.o) + +YWORKSRC_0=$(YWORKDIR)/src/y_worker_t/y_worker_t.o +YTASKSRC_0=$(YWORKDIR)/src/y_worker_t/y_task_t.o + +YJSONSRC=$(YJSONDIR)/src/json_t/json_t.c +YJSONSRC_O=$(YJSONSRC:.c=.o) + +TOPTARGETS := all clean + +DEPS := $(YTESTDIR) $(YLISTDIR) $(YWORKDIR) $(YSOCKETDIR) $(YJSONDIR) + +OBJ=$(YSOCKSRC_O) $(YFILEHANDLSRC_O) $(YNODESRC_O) $(YY_STRINGSRC_O) $(YLISTSRC_O) $(YWORKSRC_0) $(YTASKSRC_0) $(YJSONSRC_O) + + +LIB_YTEST=$(YTESTDIR)/libytest.so + +LIB_YSOCK=$(YSOCKETDIR)/libysocket.so + +all: $(EXEC) $(LIB_YSOCK) + +$(TOPTARGETS): $(DEPS) + + +$(LIB_YTEST): $(YTESTDIR) + +$(LIB_YSOCK): $(YSOCKETDIR) + +$(DEPS): + $(MAKE) -C $@ $(MAKECMDGOALS) + +$(EXEC): $(EXECSRC) $(LIB_YSOCK) $(LIB_YTEST) $(OBJ) + $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) + +.PHONY: all clean mrproper + +clean: + rm -f $(OBJ) + +mrproper: clean + rm -f $(EXEC) + +run: $(EXEC) + $(EXEC) -h diff --git a/y_network_neural_network_/test/is_good.c b/y_network_neural_network_/test/is_good.c new file mode 100644 index 0000000..2f5d46d --- /dev/null +++ b/y_network_neural_network_/test/is_good.c @@ -0,0 +1,224 @@ +#include +#include +#include + +// for sleep ! +#ifdef __linux__ + #include +#elif _WIN32 + #include +#endif + +#include "ftest/ftest.h" +#include "ftest/ftest_array.h" +#include "fmock/fmock.h" + +//#include "permutation_t/permutation_t.h" +#include "y_socket_t/y_socket_t.h" +#include "y_socket_t/y_node_t.h" + +//#include +//#include +//#include + +#define VALGRIND_ 1 + +TEST(first){ + + struct y_socket_t *firstSock = y_socket_create_("1600"); + LOG("create y_socket_t in port |%s|\n",firstSock->port); + + y_socket_free(firstSock); + +for(int af=v4; af<=v6;++af) + LOG("af_array[%d]=%d\n",af,af_array[af]); + + +} + +TEST(list_nodes){ + struct main_list_y_NODE_T * listNodes = create_var_list_y_NODE_T(); + + LOG("main_list_y_NODE_T created\n"); + + y_NODE_T firstNode; + + push_back_list_y_NODE_T(listNodes, firstNode); + + + free_all_var_list_y_NODE_T(listNodes); + + + +} + +TEST(equalNode){ + y_NODE_T nA, nB; + init_len_y_NODE_T(&nA); + init_len_y_NODE_T(&nB); + + nA.addr.ss_family=AF_INET; + nB.addr.ss_family=AF_INET; + + //((struct sockaddr_in*)(&(nA.addr)))->sin_port = 22; + //((struct sockaddr_in*)(&(nB.addr)))->sin_port = 22; + set_port_y_NODE_T_from_int_port(&nA, 22); + set_port_y_NODE_T_from_int_port(&nB, 22); + //((struct sockaddr_in*)&(nA.addr))->sin_addr.s_addr = inet_addr("192.168.1.2"); + //((struct sockaddr_in*)&(nB.addr))->sin_addr.s_addr = inet_addr("192.168.1.2"); + + GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.1"); + GET_IN_type_ADDR(&(nB.addr),) = inet_addr("1.1.1.1"); + + LOG("nA = %d\n",GET_IN_type_ADDR(&(nA.addr),)); + LOG("nB = %d\n",GET_IN_type_ADDR(&(nB.addr),)); + + EXPECT_EQ(0, y_NODE_T_cmp(nA,nB)); + GET_IN_type_ADDR(&(nB.addr),) = inet_addr("0.1.1.1"); + LOG("diff = %d\n", y_NODE_T_cmp(nA,nB)); + + +} +TEST(equalNode6){ + y_NODE_T nA, nB; + init_len_y_NODE_T(&nA); + init_len_y_NODE_T(&nB); + + nA.addr.ss_family=AF_INET6; + nB.addr.ss_family=AF_INET6; + + set_port_y_NODE_T_from_int_port(&nA, 22); + set_port_y_NODE_T_from_int_port(&nB, 22); + //((struct sockaddr_in6*)(&(nA.addr)))->sin6_port = 22; + //((struct sockaddr_in6*)(&(nB.addr)))->sin6_port = 22; + + //((struct sockaddr_in*)&(nA.addr))->sin_addr.s_addr = inet_addr("192.168.1.2"); + //((struct sockaddr_in*)&(nB.addr))->sin_addr.s_addr = inet_addr("192.168.1.2"); + + inet_pton(AF_INET6, "::1", &(GET_IN_type_ADDR(&(nA.addr),6))); + inet_pton(AF_INET6, "::1", &(GET_IN_type_ADDR(&(nB.addr),6))); + + + EXPECT_EQ(0, y_NODE_T_cmp(nA,nB)); + inet_pton(AF_INET6, "::", &(GET_IN_type_ADDR(&(nB.addr),6))); + LOG("diff = %d\n", y_NODE_T_cmp(nA,nB)); + + +} + + + +TEST(searchNode){ + y_NODE_T nA, nB; + init_len_y_NODE_T(&nA); + init_len_y_NODE_T(&nB); + + nA.addr.ss_family=AF_INET; + nB.addr.ss_family=AF_INET; + + set_port_y_NODE_T_from_int_port(&nA, 22); + set_port_y_NODE_T_from_int_port(&nB, 22); + //((struct sockaddr_in*)(&(nA.addr)))->sin_port = 22; + //((struct sockaddr_in*)(&(nB.addr)))->sin_port = 22; + + //((struct sockaddr_in*)&(nA.addr))->sin_addr.s_addr = inet_addr("192.168.1.2"); + //((struct sockaddr_in*)&(nB.addr))->sin_addr.s_addr = inet_addr("192.168.1.2"); + + GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.1"); + GET_IN_type_ADDR(&(nB.addr),) = inet_addr("1.1.1.2"); + + LOG("nA = %d\n",GET_IN_type_ADDR(&(nA.addr),)); + LOG("nB = %d\n",GET_IN_type_ADDR(&(nB.addr),)); + + struct main_list_y_NODE_T *listNodes = create_var_list_y_NODE_T(); + push_back_list_y_NODE_T(listNodes, nA); + push_back_list_y_NODE_T(listNodes, nB); + GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.3"); + push_back_list_y_NODE_T(listNodes, nA); + + //GET_IN_type_ADDR(&(nB.addr),) = inet_addr("0.1.1.1"); + int ret = set_addr_y_NODE_T_from_str_addr(&nB, "0.1.1.1"); + LOG("return of set =%d\n", ret); + + EXPECT_TRUE(NULL == search_node_in_list_y_NODE_T(listNodes, nB)); + //GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.3"); + inet_pton(AF_INET, "1.1.1.3", &(GET_IN_type_ADDR(&(nA.addr),))); + EXPECT_FALSE(NULL == search_node_in_list_y_NODE_T(listNodes, nA)); + + //inet_pton(AF_INET6, "::1", GET_IN_type_ADDR(&(nB.addr),6)); + //((struct sockaddr_in6*)(&(nB.addr)))->sin6_port = 22; + ret = set_addr_y_NODE_T_from_str_addr(&nB, "::1"); + set_port_y_NODE_T_from_int_port(&nB, 22); + LOG("return of set =%d\n", ret); + push_back_list_y_NODE_T(listNodes, nB); + + //inet_pton(AF_INET6, "::", GET_IN_type_ADDR(&(nA.addr),6)); + ret = set_addr_y_NODE_T_from_str_addr(&nB, "::"); + LOG("return of set =%d\n", ret); + EXPECT_FALSE(NULL == search_node_in_list_y_NODE_T(listNodes, nA)); + + free_all_var_list_y_NODE_T(listNodes); + + +} + + +TEST(import_nodes){ + struct main_list_y_NODE_T * listNodes = create_var_list_y_NODE_T(); + char *file_nodes_name = ".dest/.FILE_NODES"; + if(import_nodes_from_file(file_nodes_name, 1600, listNodes)==-1){ + LOG("something wrong check file %s\n",file_nodes_name); + } + + export_nodes_to_file(".dest/.CPY_file_nodes_name", listNodes); + + + free_all_var_list_y_NODE_T(listNodes); + + + +} + + +TEST(pollThread){ + struct arg_var_ * var = create_arg_var_(NULL); + struct y_socket_t *argS=y_socket_create("1600", 2, 3, var); + + pthread_t pollTh; + pthread_create(&pollTh, NULL, y_socket_poll_fds, (void*)argS); + + + wait_var_set_up_value_not_equal(var, 0); + EXPECT_EQ(var->set_up,1); + /* + char buf[] = "sendto 192.168.1.250 { \"cmd\" : \"get file __exode.txt\" }"; + size_t len_buf = strlen(buf); + + set_cmd_to_socket(buf, len_buf, var); + */ +/* + struct argdst dstarg={ + .port="1600", + .addrStr="::1", + }; + pthread_t cliTh; + pthread_create(&cliTh, NULL, threadFuncSend, (void*)&dstarg); + + pthread_join(cliTh, NULL); +*/ + + pthread_join(pollTh, NULL); + + y_socket_free(argS); + free_arg_var_(var); + +} + + +int main(int argc, char **argv){ + + + run_all_tests_args(argc, argv); + + return 0; +}