int main(int argc, char** argv) { if (argc==1) { test_save(); test_load(false); } else if (argc==2) { if (std::string(argv[1])== "save") test_save(); if (std::string(argv[1])== "load") test_load(false); if (std::string(argv[1])== "load_register") test_load(true); } }
void VectorTest::run_test_case(void) { message += "Running vector test case...\n"; // Constructor and destructor methods test_constructor(); test_destructor(); // Arithmetic operators test_sum_operator(); test_rest_operator(); test_multiplication_operator(); test_division_operator(); // Operation and assignment operators test_sum_assignment_operator(); test_rest_assignment_operator(); test_multiplication_assignment_operator(); test_division_assignment_operator(); // Equality and relational operators test_equal_to_operator(); test_not_equal_to_operator(); test_greater_than_operator(); test_greater_than_or_equal_to_operator(); test_less_than_operator(); test_less_than_or_equal_to_operator(); // Output operator test_output_operator(); // Get methods test_get_display(); // Set methods test_set(); test_set_display(); // Resize methods test_resize(); test_tuck_in(); test_take_out(); test_remove_element(); test_get_assembly(); // Initialization methods test_initialize(); test_initialize_sequential(); test_randomize_uniform(); test_randomize_normal(); // Checking methods test_contains(); test_is_in(); test_is_constant(); test_is_crescent(); test_is_decrescent(); // Mathematical methods test_dot_vector(); test_dot_matrix(); test_calculate_sum(); test_calculate_partial_sum(); test_calculate_product(); test_calculate_mean(); test_calculate_standard_deviation(); test_calculate_covariance(); test_calculate_mean_standard_deviation(); test_calculate_minimum(); test_calculate_maximum(); test_calculate_minimum_maximum(); test_calculate_minimum_missing_values(); test_calculate_maximum_missing_values(); test_calculate_minimum_maximum_missing_values(); test_calculate_explained_variance(); test_calculate_histogram(); test_calculate_bin(); test_calculate_frequency(); test_calculate_total_frequencies(); test_calculate_minimal_index(); test_calculate_maximal_index(); test_calculate_minimal_indices(); test_calculate_maximal_indices(); test_calculate_minimal_maximal_index(); test_calculate_cumulative_index(); test_calculate_closest_index(); test_calculate_norm(); test_calculate_normalized(); test_calculate_sum_squared_error(); test_calculate_mean_squared_error(); test_calculate_root_mean_squared_error(); test_apply_absolute_value(); test_calculate_lower_bounded(); test_calculate_upper_bounded(); test_calculate_lower_upper_bounded(); test_apply_lower_bound(); test_apply_upper_bound(); test_apply_lower_upper_bounds(); test_calculate_less_rank(); test_calculate_greater_rank(); test_calculate_linear_correlation(); test_calculate_linear_correlation_missing_values(); test_calculate_linear_regression_parameters(); // Scaling and unscaling test_scale_minimum_maximum(); test_scale_mean_standard_deviation(); // Parsing methods test_parse(); // Serialization methods test_save(); test_load(); message += "End vector test case\n"; }
void MatrixTest::run_test_case(void) { message += "Running matrix test case...\n"; // Constructor and destructor methods test_constructor(); test_destructor(); // Assignment operators methods test_assignment_operator(); // Reference operator methods test_reference_operator(); // Arithmetic operators test_sum_operator(); test_rest_operator(); test_multiplication_operator(); test_division_operator(); // Arithmetic and assignment operators test_sum_assignment_operator(); test_rest_assignment_operator(); test_multiplication_assignment_operator(); test_division_assignment_operator(); // Equality and relational operators test_equal_to_operator(); test_not_equal_to_operator(); test_greater_than_operator(); test_less_than_operator(); test_greater_than_or_equal_to_operator(); test_less_than_or_equal_to_operator(); // Output operators test_output_operator(); // Get methods test_get_rows_number(); test_get_columns_number(); test_arrange_row(); test_arrange_column(); test_arrange_submatrix(); // Set methods test_set(); test_set_rows_number(); test_set_columns_number(); test_set_row(); test_set_column(); // Diagonal methods test_get_diagonal(); test_set_diagonal(); test_sum_diagonal(); // Resize methods test_append_row(); test_append_column(); test_insert_row(); test_insert_column(); test_subtract_row(); test_subtract_column(); test_sort_less_rows(); test_sort_greater_rows(); // Initialization methods test_initialize(); test_randomize_uniform(); test_randomize_normal(); test_set_to_identity(); // Mathematical methods test_calculate_sum(); test_calculate_rows_sum(); test_dot_vector(); test_dot_matrix(); test_calculate_eigenvalues(); test_calculate_eigenvectors(); test_direct(); test_calculate_minimum_maximum(); test_calculate_mean_standard_deviation(); test_calculate_statistics(); test_calculate_histogram(); test_calculate_covariance_matrix(); test_calculate_minimal_indices(); test_calculate_maximal_indices(); test_calculate_minimal_maximal_indices(); test_calculate_sum_squared_error(); test_calculate_mean_squared_error(); test_calculate_root_mean_squared_error(); test_calculate_determinant(); test_calculate_transpose(); test_calculate_cofactor(); test_calculate_inverse(); test_is_symmetric(); test_is_antisymmetric(); // Scaling methods test_scale_mean_standard_deviation(); test_scale_rows_mean_standard_deviation(); test_scale_columns_mean_standard_deviation(); test_scale_rows_columns_mean_standard_deviation(); test_scale_minimum_maximum(); test_scale_rows_minimum_maximum(); test_scale_columns_minimum_maximum(); test_scale_rows_columns_minimum_maximum(); // Unscaling methods test_unscale_mean_standard_deviation(); test_unscale_rows_mean_standard_deviation(); test_unscale_columns_mean_standard_deviation(); test_unscale_rows_columns_mean_standard_deviation(); test_unscale_minimum_maximum(); test_unscale_rows_minimum_maximum(); test_unscale_columns_minimum_maximum(); test_unscale_rows_columns_minimum_maximum(); test_convert_angular_variables_degrees(); test_convert_angular_variables_radians(); // Serialization methods test_print(); test_load(); test_save(); test_parse(); message += "End of matrix test case.\n"; }
int do_work(ZWay zway) { print_help(); char cmd, cc_cmd, holder_root; ZWBYTE dev, inst, cc, cc_val, nconv; char data_path[256]; char cmd_buffer[256]; ZWBOOL was_idle = FALSE; ZWBOOL basic_level_attached = FALSE; int skip = 0; int running = TRUE; int level = 0; /* while(1){ digitalWrite(LED1,1); delay(500); digitalWrite(LED1,0); delay(500); }*/ while (running) { /* printf("\n\n\n"); zdata_acquire_lock(ZDataRoot(zway)); level = get_data(zway, zway_find_device_instance_cc_data(zway, '2', '0', 32, 'level')); zdata_release_lock(ZDataRoot(zway));*/ /* zdata_acquire_lock(ZDataRoot(zway)); level = get_data(zway, zway_find_device_data(zway, '1', 'level')); zdata_release_lock(ZDataRoot(zway)); */ printf("data ::::::: %d", int_val2); //zdata_add_callback(zway_find_device_instance_cc_data(zway,1,0,32,"mylevel"),[ZDataChangeCallback] callback, FALSE,[void*]arg); printf("\nLOG,while1\n"); if (!zway_is_running(zway)) //this is almost can not be execute { running = FALSE; break; } printf("\nLOG,while2\n"); if (!zway_is_idle(zway)) //maybe wait for { printf("\nLOG, sleep\n"); sleep_ms(10); continue; } skip = 0; /* printf("\nLOG,while3\n"); if (!basic_level_attached) { printf("\nLOG,basic level start\n"); ZDataHolder basic_level_holder; zdata_acquire_lock(ZDataRoot(zway)); basic_level_holder = zway_find_device_instance_cc_data(zway, 8, 0, 0x20, "mylevel"); // basic_level_holder = zway_find_device_instance_cc_data(zway, 8, 0, 0x26, "level"); if (basic_level_holder) { printf("\nLOG,basic level holder\n"); basic_level_attached = (zdata_add_callback(basic_level_holder, (ZDataChangeCallback) print_basic_holder, FALSE, NULL) == NoError); if (basic_level_attached){ zway_log(zway, Debug, ZSTR("Basic.data.mylevel holder handler attached to device 8 instance 0")); printf("\nLOG,basic level attatched\n"); } } zdata_release_lock(ZDataRoot(zway)); }*/ printf("\nLOG,while4\n"); if (!basic_level_attached) { printf("\nLOG,basic level start\n"); ZDataHolder basic_level_holder; zdata_acquire_lock(ZDataRoot(zway)); // basic_level_holder = zway_find_device_instance_cc_data(zway, 8, 0, 0x20, "mylevel"); basic_level_holder = zway_find_device_instance_cc_data(zway, 2, 0, 32, "level"); if (basic_level_holder) { printf("\nLOG,basic level holder\n"); basic_level_attached = (zdata_add_callback(basic_level_holder, (ZDataChangeCallback) print_basic_holder, FALSE, NULL) == NoError); if (basic_level_attached) { zway_log(zway, Debug, ZSTR( "Basic.data.mylevel holder handler attached to device 8 instance 0")); printf("\nLOG,basic level attatched\n"); pthread_create(&pthread, NULL, observer_function, NULL); pthread_detach(pthread); } } zdata_release_lock(ZDataRoot(zway)); } printf("> "); fgets(cmd_buffer, 255, stdin); was_idle = FALSE; nconv = sscanf(cmd_buffer, "%c %*s", &cmd); printf("nconv : %hhd", &nconv); if (nconv > 0) { switch (cmd) { case 'h': print_help(); break; case 'd': nconv = sscanf(cmd_buffer, "%c %c", &cmd, &holder_root); if (nconv > 1) { switch (holder_root) { case 'r': nconv = sscanf(cmd_buffer, "%c %c %s", &cmd, &holder_root, data_path); if (nconv >= 2) { if (nconv == 2) { data_path[0] = '.'; data_path[1] = '\0'; } zdata_acquire_lock(ZDataRoot(zway)); dump_data(zway, zway_find_controller_data(zway, data_path)); zdata_release_lock(ZDataRoot(zway)); } break; case 'd': nconv = sscanf(cmd_buffer, "%c %c %hhd %s", &cmd, &holder_root, &dev, data_path); if (nconv >= 3) { if (nconv == 3) { data_path[0] = '.'; data_path[1] = '\0'; } zdata_acquire_lock(ZDataRoot(zway)); dump_data(zway, zway_find_device_data(zway, dev, data_path)); zdata_release_lock(ZDataRoot(zway)); } break; case 'i': nconv = sscanf(cmd_buffer, "%c %c %hhd %hhd %s", &cmd, &holder_root, &dev, &inst, data_path); if (nconv >= 4) { if (nconv == 4) { data_path[0] = '.'; data_path[1] = '\0'; } zdata_acquire_lock(ZDataRoot(zway)); dump_data(zway, zway_find_device_instance_data(zway, dev, inst, data_path)); zdata_release_lock(ZDataRoot(zway)); } break; case 'c': nconv = sscanf(cmd_buffer, "%c %c %hhd %hhd %hhd %s", &cmd, &holder_root, &dev, &inst, &cc, data_path); if (nconv >= 5) { if (nconv == 5) { data_path[0] = '.'; data_path[1] = '\0'; } zdata_acquire_lock(ZDataRoot(zway)); dump_data(zway, zway_find_device_instance_cc_data(zway, dev, inst, cc, data_path)); zdata_release_lock(ZDataRoot(zway)); } break; } } break; case 's': nconv = sscanf(cmd_buffer, "%c %hhd %hhd %hhd %c %hhd", &cmd, &dev, &inst, &cc, &cc_cmd, &cc_val); printf("nconv : %hhd \n", &nconv); /* if (nconv == 6 && cmd == 's' && cc == 0x20 && cc_cmd == 's') { printf("nconv2 : %hhd \n",&nconv); printf("if gogo111111111111111111111111111111111111111111111111111111111111111111\n"); zdata_acquire_lock(ZDataRoot(zway)); zway_cc_switch_multilevel_set(zway, dev, inst, cc_val, 0x01 ,NULL ,NULL,0); zdata_release_lock(ZDataRoot(zway)); } else if (nconv == 5 && cmd == 's' && cc == 0x20 && cc_cmd == 'g') { printf("elseif gogo\n"); zdata_acquire_lock(ZDataRoot(zway)); zway_cc_switch_multilevel_get(zway, dev, inst,NULL,NULL,0); zdata_release_lock(ZDataRoot(zway)); } */ if (nconv == 6 && cmd == 's' && cc == 0x20 && cc_cmd == 's') { printf("nconv2 : %hhd \n", &nconv); printf( "if gogo111111111111111111111111111111111111111111111111111111111111111111\n"); zdata_acquire_lock(ZDataRoot(zway)); zway_cc_basic_set(zway, dev, inst, cc_val, NULL, NULL, NULL); zdata_release_lock(ZDataRoot(zway)); } else if (nconv == 5 && cmd == 's' && cc == 0x20 && cc_cmd == 'g') { printf("elseif gogo\n"); zdata_acquire_lock(ZDataRoot(zway)); zway_cc_basic_get(zway, dev, inst, NULL, NULL, NULL); zdata_release_lock(ZDataRoot(zway)); } else if (nconv == 6 && cmd == 's' && cc == 0x26 && cc_cmd == 's') { printf("nconv2 : %hhd \n", &nconv); printf( "if gogo333333333333333333333333333333333333333333333333333333333\n"); zdata_acquire_lock(ZDataRoot(zway)); zway_cc_switch_multilevel_set(zway, dev, inst, cc_val, 0x01, NULL, NULL, 0); zdata_release_lock(ZDataRoot(zway)); } break; case 'n': nconv = sscanf(cmd_buffer, "%c %hhd", &cmd, &dev); if (nconv == 2) zway_fc_request_node_information(zway, dev, NULL, NULL, NULL); break; case 'm': test_memory(zway); break; case 'a': zway_fc_add_node_to_network(zway, TRUE, TRUE, NULL, NULL, NULL); break; case 'A': zway_fc_add_node_to_network(zway, FALSE, TRUE, NULL, NULL, NULL); break; case 'e': zway_fc_remove_node_from_network(zway, TRUE, TRUE, NULL, NULL, NULL); break; case 'x': running = FALSE; break; case 'S': test_save(zway); break; case 'R': test_restore(zway); break; case 'q': // digitalWrite(LED1, 1); break; case 'w': // digitalWrite(LED1, 0); break; case 'l': nconv = sscanf(cmd_buffer, "%c %hhd %hhd", &cmd, &dev, &inst); switch (nconv) { case 1: { ZWDevicesList list = zway_devices_list(zway); if (list != NULL) { int i = 0; printf("Devices list: "); while (list[i]) { printf("%i ", list[i]); i++; } zway_devices_list_free(list); printf("\n"); } else printf("Error happened requesting devices list\n"); } break; case 2: { ZWInstancesList list = zway_instances_list(zway, dev); if (list != NULL) { int i = 0; printf("Instances list for device %i: ", dev); while (list[i]) { printf("%i ", list[i]); i++; } zway_instances_list_free(list); printf("\n"); } else printf("Error happened requesting instances list\n"); } break; case 3: { ZWCommandClassesList list = zway_command_classes_list(zway, dev, inst); if (list != NULL) { int i = 0; printf( "Command Classes list for device %i instance %i: ", dev, inst); while (list[i]) { printf("%02x ", list[i]); i++; } zway_command_classes_list_free(list); printf("\n"); } else printf( "Error happened requesting command classes list\n"); } break; } break; } } } return 0; }