/* * file : reverse_connector.h * * [DEFINE DESCRIPTION = Sparse matrix representation class, with connection strengths] * * Name Date Description * -------------- -------- ------------------------------------- * Andrew H. Fagg 08/13/92 Original * */ #ifndef REVERSE_CONNECTOR_CLASS #define REVERSE_CONNECTOR_CLASS #include "names.h" #include "connector.h" class reverse_connector_input_class { nsl_data** pointers; name_class** names; nsl_data*** contributing_arrays; /* Temporary pointers. */ int* contributing_indices; int num_pointers; /* Number of connections. */ int num_allocated; /* Number of spaces allocated for connections.*/ /* short flags; */ public: reverse_connector_input_class(); ~reverse_connector_input_class(); void reverse_connector_input_class::add_connection(nsl_data**, //OVERLOAD CALL: add_connection: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class) int,name_class*); nsl_vector reverse_connector_input_class::get_values(); //OVERLOAD CALL: get_values: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class), sensor.c(sensor_class) name_class* reverse_connector_input_class::get_name(int); //OVERLOAD CALL: get_name: column.c(column_class), connector.c(connector_class), gate.c(gate_class), layer.c(layer_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class), sensor.c(sensor_class) int reverse_connector_input_class::get_num_connections(); //OVERLOAD CALL: get_num_connections: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class) /* short reverse_connector_input_class::get_flags();*/ //OVERLOAD CALL: get_flags: connector.c(connector_class), reverse_connector.c(reverse_connector_output_class) void reverse_connector_input_class::init_contributing_arrays(); void report_state(nsl_vector*, nsl_vector*, nsl_vector*, nsl_vector*); //OVERLOAD CALL: report_state: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class) }; class reverse_connector_output_class { nsl_data** pointers; name_class** names; nsl_data* contributions; int num_pointers; /* Number of connections. */ int num_allocated; /* Number of spaces allocated for connections.*/ nsl_vector* initial_weights; short flags; public: reverse_connector_output_class(short); ~reverse_connector_output_class(); void reverse_connector_output_class::add_connection(nsl_data*, name_class*, //OVERLOAD CALL: add_connection: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class) float); void reverse_connector_output_class::set_values(nsl_vector&); //OVERLOAD CALL: set_values: reverse_connector.c(reverse_connector_output_class), sensor.c(sensor_class), sensor.c(sensor_class) nsl_vector reverse_connector_output_class::get_initial_weights(nsl_data*, nsl_data*, nsl_data*); name_class* reverse_connector_output_class::get_name(int); //OVERLOAD CALL: get_name: column.c(column_class), connector.c(connector_class), gate.c(gate_class), layer.c(layer_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class), sensor.c(sensor_class) int reverse_connector_output_class::get_num_connections(); //OVERLOAD CALL: get_num_connections: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class) short reverse_connector_output_class::get_flags(); //OVERLOAD CALL: get_flags: connector.c(connector_class), reverse_connector.c(reverse_connector_output_class) void reverse_connector_output_class::init_contributions(); nsl_data** reverse_connector_output_class::get_contributing_array(); nsl_vector reverse_connector_output_class::get_values(); //OVERLOAD CALL: get_values: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class), sensor.c(sensor_class) nsl_vector reverse_connector_output_class::get_contributing_values(); void reverse_connector_output_class::report_state(nsl_vector*, nsl_vector*, nsl_vector*, nsl_vector*); //OVERLOAD CALL: report_state: connector.c(connector_class), reverse_connector.c(reverse_connector_input_class), reverse_connector.c(reverse_connector_output_class) }; #endif