#include <prediction_event_notification_table.h>

Classes | |
| struct | Node | 
Public Member Functions | |
| PredictionEventNotificationTable (risc::sg::EventConflictTable &ect, PathInstanceMapper *path_instance_mapper, bool t=true) | |
| Creates the combined data conflict table. The maximum number of steps will be calculated automatically.  More... | |
| int | get_max_instances (int segment_id) | 
| This functions returns how many instances of a given segment exist.  More... | |
| std::pair< int, int > | index_to_segment_and_instance_id (int index) | 
| This function translates a given index from the conflict table into the corresponding segment id and instance id. The first value is the segment id and the second value is the instance id.  More... | |
| int | segment_and_instance_id_to_index (int segment_id, int instance_id) | 
| This function translates a given segment id and instance id to a index of the conflict table.  More... | |
| void | print_notification_table () | 
| This function prints the prediction event notification table in the terminal.  More... | |
| void | print_notification_table (std::string filename) | 
| This function prints the prediction event notification table in the file filename.  More... | |
| void | print_instance_id_to_index_lookup_table () | 
| This function prints the table instance_id_to_index_lookup_ table in the terminal.  More... | |
| void | print_instance_id_to_index_lookup_table (std::string filename) | 
| This function prints the table instance_id_to_index_lookup_ table in the file filename.  More... | |
Public Attributes | |
| PathInstanceMapper * | path_instance_mapper_ | 
| VertexDescriptor * | vertex_lookup_ | 
| This lookup table translates segment ids into vertex descriptors. At position i is the segment with the id of instance_id_to_index_lookup_[0][i].  More... | |
| int | max_instances_ | 
| This variable represents the max number of module instances in the design. Also, this is the number of rows in the instance_id_to_index_lookup_ table.  More... | |
| int | number_of_segments_ | 
| This variable defines how many segments exist in the segment graph. Also, this is the number of columns in the instance_id_to_index_lookup_ table.  More... | |
| int | size_of_conflict_table_ | 
| This variable defines the size of the conflict table. The size is quadratic.  More... | |
| int ** | instance_id_to_index_lookup_ | 
| This table should be used a lookup table: (segment id, instance id) -> index of conflict table.  More... | |
| Time ** | combined_table_ | 
| The prediction event notification table.  More... | |
| risc::sg::EventConflictTable & | ect_ | 
| Refers to the real event conflict table.  More... | |
| bool | consider_indirect_ | 
| Whether or not the predicition considers indirect notification: seg1 notifies seg2, seg2 then notifies seg3. If false, this not considered in prediction. Default is true.  More... | |
Private Types | |
| typedef std::pair < VertexDescriptor, Time >  | SegmentTimeTuple | 
Private Member Functions | |
| void | bfs (VertexDescriptor start, int instance) | 
| void | compute_combined_table () | 
| This function computes the combined table for 'prediction_steps_' prediction steps.  More... | |
      
  | 
  private | 
| risc::sg::PredictionEventNotificationTable::PredictionEventNotificationTable | ( | risc::sg::EventConflictTable & | ect, | 
| PathInstanceMapper * | path_instance_mapper, | ||
| bool | t = true  | 
        ||
| ) | 
Creates the combined data conflict table. The maximum number of steps will be calculated automatically.
      
  | 
  private | 
      
  | 
  private | 
This function computes the combined table for 'prediction_steps_' prediction steps.
| risc::sg::PredictionEventNotificationTable::get_max_instances | ( | int | segment_id | ) | 
This functions returns how many instances of a given segment exist.
| risc::sg::PredictionEventNotificationTable::index_to_segment_and_instance_id | ( | int | index | ) | 
This function translates a given index from the conflict table into the corresponding segment id and instance id. The first value is the segment id and the second value is the instance id.
| risc::sg::PredictionEventNotificationTable::print_instance_id_to_index_lookup_table | ( | ) | 
This function prints the table instance_id_to_index_lookup_ table in the terminal.
| risc::sg::PredictionEventNotificationTable::print_instance_id_to_index_lookup_table | ( | std::string | filename | ) | 
This function prints the table instance_id_to_index_lookup_ table in the file filename.
| risc::sg::PredictionEventNotificationTable::print_notification_table | ( | ) | 
This function prints the prediction event notification table in the terminal.
| risc::sg::PredictionEventNotificationTable::print_notification_table | ( | std::string | filename | ) | 
This function prints the prediction event notification table in the file filename.
| risc::sg::PredictionEventNotificationTable::segment_and_instance_id_to_index | ( | int | segment_id, | 
| int | instance_id | ||
| ) | 
This function translates a given segment id and instance id to a index of the conflict table.
| Time** risc::sg::PredictionEventNotificationTable::combined_table_ | 
The prediction event notification table.
| bool risc::sg::PredictionEventNotificationTable::consider_indirect_ | 
Whether or not the predicition considers indirect notification: seg1 notifies seg2, seg2 then notifies seg3. If false, this not considered in prediction. Default is true.
| risc::sg::EventConflictTable& risc::sg::PredictionEventNotificationTable::ect_ | 
Refers to the real event conflict table.
| int** risc::sg::PredictionEventNotificationTable::instance_id_to_index_lookup_ | 
This table should be used a lookup table: (segment id, instance id) -> index of conflict table.
| int risc::sg::PredictionEventNotificationTable::max_instances_ | 
This variable represents the max number of module instances in the design. Also, this is the number of rows in the instance_id_to_index_lookup_ table.
| int risc::sg::PredictionEventNotificationTable::number_of_segments_ | 
This variable defines how many segments exist in the segment graph. Also, this is the number of columns in the instance_id_to_index_lookup_ table.
| PathInstanceMapper* risc::sg::PredictionEventNotificationTable::path_instance_mapper_ | 
| int risc::sg::PredictionEventNotificationTable::size_of_conflict_table_ | 
This variable defines the size of the conflict table. The size is quadratic.
| VertexDescriptor* risc::sg::PredictionEventNotificationTable::vertex_lookup_ | 
This lookup table translates segment ids into vertex descriptors. At position i is the segment with the id of instance_id_to_index_lookup_[0][i].
 1.8.5