ext: dsent: adds a Python interface, drops C++ one
This patch extensively modifies DSENT so that it can be accessed using Python. To access the Python interface, DSENT needs to compiled as a shared library. For this purpose a CMakeLists.txt file has been added. Some of the code that is not required is being removed.
This commit is contained in:
parent
e8ed7b1d1b
commit
c1aecc05e6
178 changed files with 4067 additions and 940 deletions
46
ext/dsent/CMakeLists.txt
Normal file
46
ext/dsent/CMakeLists.txt
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Copyright (c) 2014 Mark D. Hill and David A. Wood
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met: redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer;
|
||||
# redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution;
|
||||
# neither the name of the copyright holders nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
|
||||
project (DSENT)
|
||||
# find out all the file that need to be compiled
|
||||
file(GLOB_RECURSE SRCS "*.h" "*.cc")
|
||||
|
||||
# add the library
|
||||
add_library(dsent MODULE ${SRCS})
|
||||
|
||||
SET(PYTHON_CONFIG "python-config")
|
||||
|
||||
# add the binary tree to the search path for include files
|
||||
include_directories("${CMAKE_SOURCE_DIR}" "`${PYTHON_CONFIG} --includes`")
|
||||
EXEC_PROGRAM(${PYTHON_CONFIG} ARGS --cflags OUTPUT_VARIABLE PYTHON_CFLAGS)
|
||||
EXEC_PROGRAM(${PYTHON_CONFIG} ARGS --ldflags OUTPUT_VARIABLE PYTHON_LFLAGS)
|
||||
|
||||
set_target_properties(dsent PROPERTIES
|
||||
PREFIX ""
|
||||
COMPILE_FLAGS "${PYTHON_CFLAGS} -std=c++11"
|
||||
LINK_FLAGS "${PYTHON_LFLAGS}")
|
|
@ -1,237 +1,209 @@
|
|||
#include "DSENT.h"
|
||||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
|
||||
#include "DSENT.h"
|
||||
#include "model/std_cells/StdCellLib.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
namespace DSENT
|
||||
{
|
||||
Model* DSENT::ms_model_ = NULL;
|
||||
bool DSENT::ms_is_verbose_ = false;
|
||||
|
||||
void DSENT::run(int argc_, char** argv_)
|
||||
static void performTimingOpt(const map<String, String> ¶ms,
|
||||
Model *ms_model)
|
||||
{
|
||||
// Initialize DSENT framework (setup log file, config file, ...)
|
||||
initialize(argc_, argv_);
|
||||
// Get the frequency it is optimizing to
|
||||
double freq = params.at("Frequency").toDouble();
|
||||
|
||||
// Build the specified model in the config file
|
||||
buildModel();
|
||||
// Get all the starting net names
|
||||
const vector<String>& start_net_names =
|
||||
params.at("TimingOptimization->StartNetNames").split("[,]");
|
||||
|
||||
// Process the specified queries
|
||||
processQuery();
|
||||
// Process the specified evaluation
|
||||
processEvaluate();
|
||||
ASSERT((start_net_names.size() > 0),
|
||||
"[Error] Expecting net names in TimingOptimization->StartNetNames");
|
||||
|
||||
// Finalize DSENT framework (close log file, ...)
|
||||
finalize();
|
||||
return;
|
||||
}
|
||||
|
||||
void DSENT::setRuntimeOptions(OptionParser* option_parser_)
|
||||
{
|
||||
option_parser_->addOption("-cfg", "ConfigFilename", true, "filename", false, "",
|
||||
"Specify the config filename.");
|
||||
|
||||
option_parser_->addOption("-available_models", "IsListModels", false, "", true, "false",
|
||||
"List available DSENT models.");
|
||||
|
||||
option_parser_->addOption("-log", "LogFilename", true, "filename", true, "./dsent.log",
|
||||
"Specify the log filename.");
|
||||
|
||||
option_parser_->addOption("-overwrite", "OverwriteString", true, "options", true, "",
|
||||
"Overwrite dynamically the options set in the config file. Options are separated by a comma (;).");
|
||||
|
||||
option_parser_->addOption("-overwrite_tech", "OverwriteTechString", true, "options", true, "",
|
||||
"Overwrite dynamically the options set in the technology file. Options are separated by a comma (;).");
|
||||
|
||||
option_parser_->addOption("-print_config", "IsPrintConfig", false, "", true, "false",
|
||||
"Print the config used at DSENT runtime.");
|
||||
|
||||
option_parser_->addOption("-query", "QueryString", true, "query string", true, "",
|
||||
"Specify the list of items to query. This command is the same as owerwriting the 'QueryString'.");
|
||||
|
||||
option_parser_->addOption("-eval", "EvaluateString", true, "evaluate string", true, "",
|
||||
"Specify the list of statements to evaluate. This command is the same as owerwriting the 'EvaluateString'.");
|
||||
|
||||
option_parser_->addOption("-verbose", "IsVerbose", false, "", true, "false",
|
||||
"Enable verbose mode which prints out more detailed messages.");
|
||||
return;
|
||||
}
|
||||
|
||||
void DSENT::initialize(int argc_, char** argv_)
|
||||
{
|
||||
OptionParser* option_parser = new OptionParser();
|
||||
|
||||
// Init the option parser and setup available options
|
||||
setRuntimeOptions(option_parser);
|
||||
|
||||
// Parse the options
|
||||
option_parser->parseArguments(argc_, argv_);
|
||||
|
||||
// If -available_models is specified, print out a list of available
|
||||
// models and exit DSENT.
|
||||
if(option_parser->get("IsListModels").toBool())
|
||||
if(start_net_names[0] == "*")
|
||||
{
|
||||
ModelGen::printAvailableModels();
|
||||
exit(0);
|
||||
}
|
||||
// Optimize from all input ports
|
||||
ElectricalModel* electrical_model = (ElectricalModel*)ms_model;
|
||||
|
||||
// Init the log file
|
||||
Log::allocate(option_parser->get("LogFilename"));
|
||||
ElectricalTimingOptimizer timing_optimizer(
|
||||
"Optimizer", electrical_model->getTechModel());
|
||||
timing_optimizer.setModel(electrical_model);
|
||||
timing_optimizer.construct();
|
||||
timing_optimizer.update();
|
||||
|
||||
// Init the config file
|
||||
Config::allocate(option_parser->get("ConfigFilename"));
|
||||
Config* dsent_config = Config::getSingleton();
|
||||
ElectricalTimingTree timing_tree(
|
||||
timing_optimizer.getInstanceName(), &timing_optimizer);
|
||||
|
||||
// Overwrite the existing options
|
||||
dsent_config->readString(option_parser->get("OverwriteString"));
|
||||
|
||||
// Overwrite the technology file
|
||||
dsent_config->constructTechModel(option_parser->get("OverwriteTechString"));
|
||||
|
||||
ms_is_verbose_ = option_parser->get("IsVerbose").toBool();
|
||||
|
||||
// Overwrite the query string if it is specified from command line
|
||||
if(option_parser->get("QueryString").size() != 0)
|
||||
{
|
||||
dsent_config->set("QueryString", option_parser->get("QueryString"));
|
||||
}
|
||||
// Overwrite the evaluation string if it is specified from command line
|
||||
if(option_parser->get("EvaluateString").size() != 0)
|
||||
{
|
||||
dsent_config->set("EvaluateString", option_parser->get("EvaluateString"));
|
||||
}
|
||||
|
||||
// Print the config used for this run
|
||||
if(option_parser->get("IsPrintConfig").toBool())
|
||||
{
|
||||
if(ms_is_verbose_)
|
||||
const Map<PortInfo*>* input_ports = timing_optimizer.getInputs();
|
||||
Map<PortInfo*>::ConstIterator it_begin = input_ports->begin();
|
||||
Map<PortInfo*>::ConstIterator it_end = input_ports->end();
|
||||
Map<PortInfo*>::ConstIterator it;
|
||||
for(it = it_begin; it != it_end; ++it)
|
||||
{
|
||||
cout << "Configuration:" << endl;
|
||||
cout << "==============" << endl;
|
||||
const String& net_name = it->first;
|
||||
Log::printLine("Optimizing net: " + net_name);
|
||||
timing_tree.performTimingOpt(
|
||||
timing_optimizer.getNet(net_name, makeNetIndex(0)), 1.0 / freq);
|
||||
}
|
||||
cout << *dsent_config;
|
||||
|
||||
if(ms_is_verbose_)
|
||||
// Loop the second times
|
||||
for(it = it_begin; it != it_end; ++it)
|
||||
{
|
||||
cout << "==============" << endl;
|
||||
const String& net_name = it->first;
|
||||
Log::printLine("Optimizing net: " + net_name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO : parse the net name so that we could do hierarchical optimization
|
||||
// Currently we can only optimize timing at the top level
|
||||
ElectricalModel* electrical_model = (ElectricalModel*)ms_model;
|
||||
ElectricalTimingTree timing_tree(
|
||||
electrical_model->getInstanceName(), electrical_model);
|
||||
|
||||
delete option_parser;
|
||||
return;
|
||||
for(unsigned int i = 0; i < start_net_names.size(); ++i)
|
||||
{
|
||||
const String& net_name = start_net_names[i];
|
||||
timing_tree.performTimingOpt(
|
||||
electrical_model->getNet(net_name), 1.0 / freq);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DSENT::buildModel()
|
||||
static void reportTiming(const map<String, String> ¶ms, Model *ms_model)
|
||||
{
|
||||
Config* dsent_config = Config::getSingleton();
|
||||
// Get all the starting net names
|
||||
const vector<String>& start_net_names =
|
||||
params.at("ReportTiming->StartNetNames").split("[,]");
|
||||
|
||||
ElectricalModel* electrical_model = (ElectricalModel*)ms_model;
|
||||
ElectricalTimingTree timing_tree(
|
||||
electrical_model->getInstanceName(), electrical_model);
|
||||
|
||||
cout << "Report timing:" << endl;
|
||||
cout << "==============" << endl;
|
||||
for(unsigned int i = 0; i < start_net_names.size(); ++i)
|
||||
{
|
||||
const String& net_name = start_net_names[i];
|
||||
double timing = timing_tree.performCritPathExtract(electrical_model->getNet(net_name));
|
||||
cout << net_name << " = " << timing << endl;
|
||||
}
|
||||
cout << "==============" << endl;
|
||||
}
|
||||
|
||||
static Model *buildModel(const map<String, String> ¶ms,
|
||||
TechModel *tech_model)
|
||||
{
|
||||
// Create the model specified
|
||||
const String& model_name = dsent_config->get("ModelName");
|
||||
ms_model_ = ModelGen::createModel(model_name, model_name, dsent_config->getTechModel());
|
||||
const String& model_name = params.at("ModelName");
|
||||
Model *ms_model = ModelGen::createModel(model_name, model_name,
|
||||
tech_model);
|
||||
|
||||
// Construct the model
|
||||
// Read all parameters the model requires
|
||||
const vector<String>* parameter_names = ms_model_->getParameterNames();
|
||||
const vector<String>* parameter_names = ms_model->getParameterNames();
|
||||
// For all parameters, grab values from the config file
|
||||
for(vector<String>::const_iterator it = parameter_names->begin(); it != parameter_names->end(); ++it)
|
||||
for(vector<String>::const_iterator it = parameter_names->begin();
|
||||
it != parameter_names->end(); ++it)
|
||||
{
|
||||
const String& parameter_name = *it;
|
||||
// If it exists in the config file, set the parameter
|
||||
if(dsent_config->keyExist(parameter_name))
|
||||
if(params.count(parameter_name) > 0)
|
||||
{
|
||||
ms_model_->setParameter(parameter_name, dsent_config->get(parameter_name));
|
||||
ms_model->setParameter(parameter_name,
|
||||
params.at(parameter_name));
|
||||
}
|
||||
}
|
||||
ms_model_->construct();
|
||||
|
||||
ms_model->construct();
|
||||
|
||||
// Update the model
|
||||
// Read all properties the model requires
|
||||
const vector<String>* property_names = ms_model_->getPropertyNames();
|
||||
const vector<String>* property_names = ms_model->getPropertyNames();
|
||||
// For all properties, grab values from the config file
|
||||
for(vector<String>::const_iterator it = property_names->begin(); it != property_names->end(); ++it)
|
||||
for(vector<String>::const_iterator it = property_names->begin();
|
||||
it != property_names->end(); ++it)
|
||||
{
|
||||
const String& property_name = *it;
|
||||
// If it exists in the config file, set the parameter
|
||||
if(dsent_config->keyExist(property_name))
|
||||
if(params.count(property_name) > 0)
|
||||
{
|
||||
ms_model_->setProperty(property_name, dsent_config->get(property_name));
|
||||
ms_model->setProperty(property_name,
|
||||
params.at(property_name));
|
||||
}
|
||||
}
|
||||
ms_model_->update();
|
||||
ms_model->update();
|
||||
|
||||
// Evaluate the model
|
||||
// Perform timing optimization if needed
|
||||
if(dsent_config->getIfKeyExist("IsPerformTimingOptimization", "false").toBool())
|
||||
if(params.find("IsPerformTimingOptimization") != params.end() &&
|
||||
params.at("IsPerformTimingOptimization").toBool())
|
||||
{
|
||||
performTimingOpt();
|
||||
performTimingOpt(params, ms_model);
|
||||
}
|
||||
ms_model_->evaluate();
|
||||
ms_model->evaluate();
|
||||
|
||||
// Report timing if needed
|
||||
if(dsent_config->getIfKeyExist("IsReportTiming", "false").toBool())
|
||||
if(params.count("IsReportTiming") > 0 &&
|
||||
params.at("IsReportTiming") != "false")
|
||||
{
|
||||
reportTiming();
|
||||
reportTiming(params, ms_model);
|
||||
}
|
||||
|
||||
return;
|
||||
return ms_model;
|
||||
}
|
||||
|
||||
void DSENT::processQuery()
|
||||
{
|
||||
Config* dsent_config = Config::getSingleton();
|
||||
vector<String> queries = dsent_config->get("QueryString").split(" ;\r\n");
|
||||
|
||||
if(ms_is_verbose_)
|
||||
{
|
||||
cout << "Query results:" << endl;
|
||||
cout << "==============" << endl;
|
||||
}
|
||||
|
||||
for(unsigned int i = 0; i < queries.size(); ++i)
|
||||
{
|
||||
const String& curr_query = queries[i];
|
||||
|
||||
if(ms_is_verbose_)
|
||||
{
|
||||
String str = "Process query: '" + curr_query + "'";
|
||||
cout << str << endl;
|
||||
cout << String(str.size(), '-') << endl;
|
||||
}
|
||||
|
||||
processQuery(curr_query, true);
|
||||
|
||||
if(ms_is_verbose_)
|
||||
{
|
||||
cout << endl;
|
||||
}
|
||||
}
|
||||
if(ms_is_verbose_)
|
||||
{
|
||||
cout << "==============" << endl;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
const void* DSENT::processQuery(const String& query_str_, bool is_print_)
|
||||
static const void* processQuery(const String& query_str_,
|
||||
Model *ms_model, bool is_print_)
|
||||
{
|
||||
vector<String> type_split = query_str_.splitByString(Model::TYPE_SEPARATOR);
|
||||
ASSERT((type_split.size() == 2), "[Error] Invalid query format: " + query_str_);
|
||||
String query_type = type_split[0];
|
||||
|
||||
vector<String> detail_split = type_split[1].splitByString(Model::DETAIL_SEPARATOR);
|
||||
vector<String> detail_split =
|
||||
type_split[1].splitByString(Model::DETAIL_SEPARATOR);
|
||||
|
||||
ASSERT((detail_split.size() == 2), "[Error] Invalid query format: " + query_str_);
|
||||
String query_detail = detail_split[1];
|
||||
|
||||
vector<String> subfield_split = detail_split[0].splitByString(Model::SUBFIELD_SEPARATOR);
|
||||
ASSERT(((subfield_split.size() == 2) || (subfield_split.size() == 1)), "[Error] Invalid query format: " + query_str_);
|
||||
vector<String> subfield_split =
|
||||
detail_split[0].splitByString(Model::SUBFIELD_SEPARATOR);
|
||||
|
||||
ASSERT(((subfield_split.size() == 2) || (subfield_split.size() == 1)),
|
||||
"[Error] Invalid query format: " + query_str_);
|
||||
|
||||
String query_hier = subfield_split[0];
|
||||
String query_subfield = "";
|
||||
|
||||
if(subfield_split.size() == 2)
|
||||
{
|
||||
query_subfield = subfield_split[1];
|
||||
}
|
||||
|
||||
const void* query_result = ms_model_->parseQuery(query_type, query_hier, query_subfield);
|
||||
const void* query_result = ms_model->parseQuery(query_type, query_hier,
|
||||
query_subfield);
|
||||
if(query_type == "Property")
|
||||
{
|
||||
const PropertyMap* property = (const PropertyMap*)query_result;
|
||||
|
@ -268,156 +240,104 @@ namespace DSENT
|
|||
return query_result;
|
||||
}
|
||||
|
||||
void DSENT::finalize()
|
||||
void processQuery(const vector<String> &queries,
|
||||
Model *ms_model, vector<String> &outputs)
|
||||
{
|
||||
// Release the constructed model
|
||||
delete ms_model_;
|
||||
ms_model_ = NULL;
|
||||
for(unsigned int i = 0; i < queries.size(); ++i)
|
||||
{
|
||||
const String& curr_query = queries[i];
|
||||
processQuery(curr_query, ms_model, true);
|
||||
|
||||
// Release the config file
|
||||
Config::release();
|
||||
}
|
||||
}
|
||||
|
||||
static TechModel* constructTechModel(const map<String, String>& params)
|
||||
{
|
||||
// Allocate static TechModel instance
|
||||
const String& electrical_tech_model_filename =
|
||||
params.at("ElectricalTechModelFilename");
|
||||
|
||||
TechModel* tech_model = new TechModel();
|
||||
tech_model->readFile(electrical_tech_model_filename);
|
||||
|
||||
if (params.count("PhotonicTechModelFilename") != 0) {
|
||||
const String& photonic_tech_model_filename =
|
||||
params.at("PhotonicTechModelFilename");
|
||||
tech_model->readFile(photonic_tech_model_filename);
|
||||
}
|
||||
|
||||
// Allocate static StdCellLib instance
|
||||
StdCellLib* std_cell_lib = new StdCellLib(tech_model);
|
||||
|
||||
// Set the StdCellLib pointer in static TechModel instance
|
||||
tech_model->setStdCellLib(std_cell_lib);
|
||||
return tech_model;
|
||||
}
|
||||
|
||||
Model *initialize(const char *config_file_name, map<String, String> &config)
|
||||
{
|
||||
// Init the log file
|
||||
Log::allocate("/tmp/dsent.log");
|
||||
|
||||
// Init the config file
|
||||
LibUtil::readFile(config_file_name, config);
|
||||
|
||||
// Overwrite the technology file
|
||||
TechModel *tech_model = constructTechModel(config);
|
||||
|
||||
// Build the specified model in the config file
|
||||
return buildModel(config, tech_model);
|
||||
}
|
||||
|
||||
void finalize(map<String, String> &config, Model *ms_model)
|
||||
{
|
||||
// Delete the model
|
||||
delete ms_model;
|
||||
|
||||
// Discard all the (key, value) pairs.
|
||||
config.clear();
|
||||
|
||||
// Release the log file
|
||||
Log::release();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void DSENT::performTimingOpt()
|
||||
void run(const map<String, String> ¶ms, Model *ms_model,
|
||||
map<string, double> &outputs)
|
||||
{
|
||||
Config* dsent_config = Config::getSingleton();
|
||||
|
||||
// Get the frequency it is optimizing to
|
||||
double freq = dsent_config->get("Frequency").toDouble();
|
||||
|
||||
// Get all the starting net names
|
||||
const vector<String>& start_net_names = dsent_config->get("TimingOptimization->StartNetNames").split("[,]");
|
||||
|
||||
ASSERT((start_net_names.size() > 0), "[Error] Expecting net names in TimingOptimization->StartNetNames");
|
||||
|
||||
if(start_net_names[0] == "*")
|
||||
{
|
||||
// Optimize from all input ports
|
||||
ElectricalModel* electrical_model = (ElectricalModel*)ms_model_;
|
||||
|
||||
ElectricalTimingOptimizer timing_optimizer("Optimizer", electrical_model->getTechModel());
|
||||
timing_optimizer.setModel(electrical_model);
|
||||
timing_optimizer.construct();
|
||||
timing_optimizer.update();
|
||||
|
||||
ElectricalTimingTree timing_tree(timing_optimizer.getInstanceName(), &timing_optimizer);
|
||||
|
||||
const Map<PortInfo*>* input_ports = timing_optimizer.getInputs();
|
||||
Map<PortInfo*>::ConstIterator it_begin = input_ports->begin();
|
||||
Map<PortInfo*>::ConstIterator it_end = input_ports->end();
|
||||
Map<PortInfo*>::ConstIterator it;
|
||||
for(it = it_begin; it != it_end; ++it)
|
||||
{
|
||||
const String& net_name = it->first;
|
||||
Log::printLine("Optimizing net: " + net_name);
|
||||
timing_tree.performTimingOpt(timing_optimizer.getNet(net_name, makeNetIndex(0)), 1.0 / freq);
|
||||
//timing_tree.performTimingOpt(electrical_model->getNet(net_name, makeNetIndex(0)), 1.0 / freq);
|
||||
}
|
||||
// Loop the second times
|
||||
for(it = it_begin; it != it_end; ++it)
|
||||
{
|
||||
const String& net_name = it->first;
|
||||
Log::printLine("Optimizing net: " + net_name);
|
||||
//timing_tree.performTimingOpt(timing_optimizer.getNet(net_name, makeNetIndex(0)), 1.0 / freq);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO : parse the net name so that we could do hierarchical optimization
|
||||
// Currently we can only optimize timing at the top level
|
||||
ElectricalModel* electrical_model = (ElectricalModel*)ms_model_;
|
||||
ElectricalTimingTree timing_tree(electrical_model->getInstanceName(), electrical_model);
|
||||
for(unsigned int i = 0; i < start_net_names.size(); ++i)
|
||||
{
|
||||
const String& net_name = start_net_names[i];
|
||||
timing_tree.performTimingOpt(electrical_model->getNet(net_name), 1.0 / freq);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void DSENT::reportTiming()
|
||||
{
|
||||
Config* dsent_config = Config::getSingleton();
|
||||
|
||||
// Get all the starting net names
|
||||
const vector<String>& start_net_names = dsent_config->get("ReportTiming->StartNetNames").split("[,]");
|
||||
|
||||
ElectricalModel* electrical_model = (ElectricalModel*)ms_model_;
|
||||
ElectricalTimingTree timing_tree(electrical_model->getInstanceName(), electrical_model);
|
||||
|
||||
cout << "Report timing:" << endl;
|
||||
cout << "==============" << endl;
|
||||
for(unsigned int i = 0; i < start_net_names.size(); ++i)
|
||||
{
|
||||
const String& net_name = start_net_names[i];
|
||||
double timing = timing_tree.performCritPathExtract(electrical_model->getNet(net_name));
|
||||
cout << net_name << " = " << timing << endl;
|
||||
}
|
||||
cout << "==============" << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
void DSENT::processEvaluate()
|
||||
{
|
||||
Config* dsent_config = Config::getSingleton();
|
||||
|
||||
// Return if EvaluatString is empty or not exists
|
||||
if(!dsent_config->keyExist("EvaluateString")) return;
|
||||
|
||||
String eval_str = dsent_config->get("EvaluateString");
|
||||
|
||||
if(eval_str == "") return;
|
||||
|
||||
if(ms_is_verbose_)
|
||||
{
|
||||
cout << "Eval results:" << endl;
|
||||
cout << "==============" << endl;
|
||||
// Process the specified queries
|
||||
const auto &it = params.find("EvaluateString");
|
||||
if(it == params.end()) {
|
||||
return;
|
||||
}
|
||||
|
||||
String eval_str = it->second;
|
||||
|
||||
if (eval_str == "") {
|
||||
return;
|
||||
}
|
||||
|
||||
//if(ms_is_verbose_)
|
||||
//{
|
||||
// String str = "Process evaluation: '" + eval_str + "'";
|
||||
// cout << str << endl;
|
||||
// cout << String(str.size(), '-') << endl;
|
||||
//}
|
||||
DSENTCalculator calc;
|
||||
calc.evaluateString(eval_str);
|
||||
|
||||
if(ms_is_verbose_)
|
||||
{
|
||||
cout << "==============" << endl;
|
||||
}
|
||||
return;
|
||||
return;
|
||||
calc.evaluateString(eval_str, params, ms_model, outputs);
|
||||
}
|
||||
|
||||
DSENT::DSENTCalculator::DSENTCalculator()
|
||||
{}
|
||||
DSENTCalculator::DSENTCalculator() {}
|
||||
|
||||
DSENT::DSENTCalculator::~DSENTCalculator()
|
||||
{}
|
||||
DSENTCalculator::~DSENTCalculator() {}
|
||||
|
||||
double DSENT::DSENTCalculator::getEnvVar(const String& var_name_) const
|
||||
double DSENTCalculator::getEnvVar(const String& var_name_,
|
||||
const map<String, String> &config,
|
||||
Model *ms_model) const
|
||||
{
|
||||
if(m_var_.keyExist(var_name_))
|
||||
{
|
||||
if (m_var_.keyExist(var_name_)) {
|
||||
return m_var_.get(var_name_);
|
||||
}
|
||||
else if(Config::getSingleton()->keyExist(var_name_))
|
||||
{
|
||||
return Config::getSingleton()->get(var_name_);
|
||||
}
|
||||
else
|
||||
{
|
||||
const Result* result = (const Result*)DSENT::processQuery(var_name_ + "@0", false);
|
||||
} else if (config.count(var_name_) > 0) {
|
||||
return config.at(var_name_);
|
||||
} else {
|
||||
// Wish there was a way to not have to pass in a stream if we aren't
|
||||
// doing anything with it
|
||||
const Result* result = (const Result*)DSENT::processQuery(
|
||||
var_name_ + "@0", ms_model, false);
|
||||
return result->calculateSum();
|
||||
}
|
||||
}
|
||||
} // namespace DSENT
|
||||
|
||||
|
|
|
@ -1,11 +1,33 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_DSENT_H__
|
||||
#define __DSENT_DSENT_H__
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
// For DSENT operations
|
||||
#include "libutil/OptionParser.h"
|
||||
#include "libutil/Calculator.h"
|
||||
#include "util/CommonType.h"
|
||||
#include "util/Config.h"
|
||||
#include "util/Result.h"
|
||||
#include "model/Model.h"
|
||||
#include "model/ModelGen.h"
|
||||
|
@ -19,46 +41,29 @@
|
|||
|
||||
namespace DSENT
|
||||
{
|
||||
using LibUtil::OptionParser;
|
||||
using LibUtil::Calculator;
|
||||
|
||||
class DSENT
|
||||
class DSENTCalculator : public Calculator
|
||||
{
|
||||
protected:
|
||||
class DSENTCalculator : public Calculator
|
||||
{
|
||||
public:
|
||||
DSENTCalculator();
|
||||
virtual ~DSENTCalculator();
|
||||
|
||||
protected:
|
||||
virtual double getEnvVar(const String& var_name_) const;
|
||||
}; // class DSENTCalculator
|
||||
|
||||
public:
|
||||
static void run(int argc_, char** argv_);
|
||||
DSENTCalculator();
|
||||
virtual ~DSENTCalculator();
|
||||
|
||||
protected:
|
||||
static void setRuntimeOptions(OptionParser* option_parser_);
|
||||
static void initialize(int argc_, char** argv_);
|
||||
static void buildModel();
|
||||
static void processQuery();
|
||||
static const void* processQuery(const String& query_str_, bool is_print_);
|
||||
static void finalize();
|
||||
virtual double getEnvVar(
|
||||
const String& var_name_,
|
||||
const std::map<String, String> &Config,
|
||||
Model *ms_model) const;
|
||||
};
|
||||
|
||||
static void performTimingOpt();
|
||||
static void reportTiming();
|
||||
Model *initialize(const char *config_file_name,
|
||||
std::map<String, String> &config);
|
||||
|
||||
static void processEvaluate();
|
||||
|
||||
protected:
|
||||
static Model* ms_model_;
|
||||
|
||||
static bool ms_is_verbose_;
|
||||
|
||||
}; // class DSENT
|
||||
void finalize(std::map<String, String> &config,
|
||||
Model *ms_model);
|
||||
|
||||
void run(const std::map<String, String> &config, Model *ms_model,
|
||||
std::map<std::string, double> &outputs);
|
||||
} // namespace DSENT
|
||||
|
||||
#endif // __DSENT_DSENT_H__
|
||||
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
|
||||
# Define the directories that will be compiled
|
||||
DIRS_TO_COMPILE := util tech io \
|
||||
model model/timing_graph \
|
||||
model/std_cells \
|
||||
model/electrical \
|
||||
model/electrical/router \
|
||||
model/optical \
|
||||
model/optical_graph \
|
||||
model/network \
|
||||
model/network/ATAC
|
||||
|
||||
DIRS = $(patsubst %,$(CURDIR)/%,$(DIRS_TO_COMPILE))
|
||||
|
||||
SRCS = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cc))
|
||||
|
||||
OBJS = $(SRCS:%.cc=%.o)
|
||||
|
||||
DEF_FLAGS =
|
||||
INCLUDE_FLAGS = -I$(CURDIR)
|
||||
OPT_FLAGS = -O2 -g
|
||||
WARN_FLAGS = -pedantic -Wall -W #-Wextra -Werror -Wno-write-strings
|
||||
CXXFLAGS = $(OPT_FLAGS) $(WARN_FLAGS) $(INCLUDE_FLAGS) $(DEF_FLAGS)
|
||||
|
||||
LD_LIBS += -lutil
|
||||
LD_FLAGS += -Llibutil
|
||||
|
||||
# Other libraries used
|
||||
LIB_UTIL = libutil/libutil.a
|
||||
|
||||
#TARGET = $(CURDIR)/libdsent.a
|
||||
TARGET = $(CURDIR)/dsent
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
#$(TARGET): $(OBJS)
|
||||
# ar rcs $@ $^
|
||||
$(TARGET): main.o DSENT.o $(LIB_UTIL) $(OBJS)
|
||||
$(CXX) $(CXXFLAGS) $(LD_FLAGS) $(OBJS) main.o DSENT.o -o $(TARGET) $(LD_LIBS)
|
||||
|
||||
# For general c++ compilation
|
||||
%.o: %.cc
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
$(LIB_UTIL):
|
||||
$(MAKE) -C $(CURDIR)/libutil
|
||||
|
||||
%/created:
|
||||
mkdir -p $(dir $@)
|
||||
touch $@
|
||||
|
||||
.phony: clean
|
||||
clean:
|
||||
$(RM) -rf main.o DSENT.o $(OBJS) $(TARGET)
|
||||
$(MAKE) -C $(CURDIR)/libutil clean
|
|
@ -19,7 +19,7 @@ EvaluateString = \
|
|||
print " Leakage power: " link_static; \
|
||||
|
||||
# Technology file (see models in tech/models)
|
||||
ElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model
|
||||
ElectricalTechModelFilename = ext/dsent/tech/tech_models/Bulk45LVT.model
|
||||
|
||||
###############################################################################
|
||||
# Timing optimization
|
||||
|
|
|
@ -65,7 +65,7 @@ EvaluateString = \
|
|||
print " Other: " other_area; \
|
||||
|
||||
# Technology file (see other models in tech/models)
|
||||
ElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model
|
||||
ElectricalTechModelFilename = ext/dsent/tech/tech_models/Bulk45LVT.model
|
||||
|
||||
###############################################################################
|
||||
# Timing optimization
|
||||
|
|
213
ext/dsent/interface.cc
Normal file
213
ext/dsent/interface.cc
Normal file
|
@ -0,0 +1,213 @@
|
|||
/* Copyright (c) 2014 Mark D. Hill and David A. Wood
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met: redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer;
|
||||
* redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution;
|
||||
* neither the name of the copyright holders nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <Python.h>
|
||||
#include <cstdio>
|
||||
|
||||
#include "DSENT.h"
|
||||
#include "libutil/String.h"
|
||||
#include "model/Model.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace LibUtil;
|
||||
|
||||
static PyObject *DSENTError;
|
||||
static PyObject* dsent_initialize(PyObject*, PyObject*);
|
||||
static PyObject* dsent_finalize(PyObject*, PyObject*);
|
||||
static PyObject* dsent_computeRouterPowerAndArea(PyObject*, PyObject*);
|
||||
static PyObject* dsent_computeLinkPower(PyObject*, PyObject*);
|
||||
|
||||
// Create DSENT configuration map. This map is supposed to retain all
|
||||
// the information between calls to initialize() and finalize().
|
||||
map<String, String> params;
|
||||
DSENT::Model *ms_model;
|
||||
|
||||
|
||||
static PyMethodDef DSENTMethods[] = {
|
||||
{"initialize", dsent_initialize, METH_O,
|
||||
"initialize dsent using a config file."},
|
||||
|
||||
{"finalize", dsent_finalize, METH_NOARGS,
|
||||
"finalize dsent by dstroying the config object"},
|
||||
|
||||
{"computeRouterPowerAndArea", dsent_computeRouterPowerAndArea,
|
||||
METH_VARARGS, "compute quantities related power consumption of a router"},
|
||||
|
||||
{"computeLinkPower", dsent_computeLinkPower, METH_O,
|
||||
"compute quantities related power consumption of a link"},
|
||||
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
|
||||
PyMODINIT_FUNC
|
||||
initdsent(void)
|
||||
{
|
||||
PyObject *m;
|
||||
|
||||
m = Py_InitModule("dsent", DSENTMethods);
|
||||
if (m == NULL) return;
|
||||
|
||||
DSENTError = PyErr_NewException("dsent.error", NULL, NULL);
|
||||
Py_INCREF(DSENTError);
|
||||
PyModule_AddObject(m, "error", DSENTError);
|
||||
|
||||
ms_model = nullptr;
|
||||
}
|
||||
|
||||
|
||||
static PyObject *
|
||||
dsent_initialize(PyObject *self, PyObject *arg)
|
||||
{
|
||||
const char *config_file = PyString_AsString(arg);
|
||||
//Read the arguments sent from the python script
|
||||
if (!config_file) {
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
// Initialize DSENT
|
||||
ms_model = DSENT::initialize(config_file, params);
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
static PyObject *
|
||||
dsent_finalize(PyObject *self, PyObject *args)
|
||||
{
|
||||
// Finalize DSENT
|
||||
DSENT::finalize(params, ms_model);
|
||||
ms_model = nullptr;
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
static PyObject *
|
||||
dsent_computeRouterPowerAndArea(PyObject *self, PyObject *args)
|
||||
{
|
||||
uint64_t frequency;
|
||||
unsigned int num_in_port;
|
||||
unsigned int num_out_port;
|
||||
unsigned int num_vclass;
|
||||
unsigned int num_vchannels;
|
||||
unsigned int num_buffers;
|
||||
|
||||
unsigned int flit_width;
|
||||
const char *input_port_buffer_model;
|
||||
const char *crossbar_model;
|
||||
const char *sa_arbiter_model;
|
||||
const char *clk_tree_model;
|
||||
unsigned int clk_tree_num_levels;
|
||||
const char *clk_tree_wire_layer;
|
||||
double clk_tree_wire_width_mult;
|
||||
|
||||
// Read the arguments sent from the python script
|
||||
if (!PyArg_ParseTuple(args, "KIIIIII", &frequency, &num_in_port,
|
||||
&num_out_port, &num_vclass, &num_vchannels,
|
||||
&num_buffers, &flit_width)) {
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
assert(frequency > 0.0);
|
||||
assert(num_in_port != 0);
|
||||
assert(num_out_port != 0);
|
||||
assert(num_vclass != 0);
|
||||
assert(flit_width != 0);
|
||||
|
||||
vector<unsigned int> num_vchannels_vec(num_vclass, num_vchannels);
|
||||
vector<unsigned int> num_buffers_vec(num_vclass, num_buffers);
|
||||
// DSENT outputs
|
||||
map<string, double> outputs;
|
||||
|
||||
params["Frequency"] = String(frequency);
|
||||
params["NumberInputPorts"] = String(num_in_port);
|
||||
params["NumberOutputPorts"] = String(num_out_port);
|
||||
params["NumberVirtualNetworks"] = String(num_vclass);
|
||||
params["NumberVirtualChannelsPerVirtualNetwork"] =
|
||||
vectorToString<unsigned int>(num_vchannels_vec);
|
||||
params["NumberBuffersPerVirtualChannel"] =
|
||||
vectorToString<unsigned int>(num_buffers_vec);
|
||||
params["NumberBitsPerFlit"] = String(flit_width);
|
||||
|
||||
// Run DSENT
|
||||
DSENT::run(params, ms_model, outputs);
|
||||
|
||||
// Store outputs
|
||||
PyObject *r = PyTuple_New(outputs.size());
|
||||
int index = 0;
|
||||
|
||||
// Prepare the output. The assumption is that all the output
|
||||
for (const auto &it : outputs) {
|
||||
PyObject *s = PyTuple_New(2);
|
||||
PyTuple_SetItem(s, 0, PyString_FromString(it.first.c_str()));
|
||||
PyTuple_SetItem(s, 1, PyFloat_FromDouble(it.second));
|
||||
|
||||
PyTuple_SetItem(r, index, s);
|
||||
index++;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
static PyObject *
|
||||
dsent_computeLinkPower(PyObject *self, PyObject *arg)
|
||||
{
|
||||
uint64_t frequency = PyLong_AsLongLong(arg);
|
||||
|
||||
// Read the arguments sent from the python script
|
||||
if (frequency == -1) {
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
// DSENT outputs
|
||||
map<string, double> outputs;
|
||||
params["Frequency"] = String(frequency);
|
||||
|
||||
// Run DSENT
|
||||
DSENT::run(params, ms_model, outputs);
|
||||
|
||||
// Store outputs
|
||||
PyObject *r = PyTuple_New(outputs.size());
|
||||
int index = 0;
|
||||
|
||||
// Prepare the output. The assumption is that all the output
|
||||
for (const auto &it : outputs) {
|
||||
PyObject *s = PyTuple_New(2);
|
||||
PyTuple_SetItem(s, 0, PyString_FromString(it.first.c_str()));
|
||||
PyTuple_SetItem(s, 1, PyFloat_FromDouble(it.second));
|
||||
|
||||
PyTuple_SetItem(r, index, s);
|
||||
index++;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
dsent_printAvailableModels(PyObject* self, PyObject *args)
|
||||
{
|
||||
}
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __ASSERT_H__
|
||||
#define __ASSERT_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "Calculator.h"
|
||||
|
||||
#include <cctype>
|
||||
|
@ -23,9 +44,13 @@ namespace LibUtil
|
|||
return;
|
||||
}
|
||||
|
||||
void Calculator::evaluateString(const String& str_)
|
||||
void Calculator::evaluateString(const String& str_,
|
||||
const map<String, String> &config,
|
||||
DSENT::Model *ms_model,
|
||||
map<string, double> &outputs)
|
||||
{
|
||||
istringstream ist(str_);
|
||||
|
||||
while(ist)
|
||||
{
|
||||
getToken(ist);
|
||||
|
@ -42,26 +67,28 @@ namespace LibUtil
|
|||
getToken(ist);
|
||||
if(m_curr_token_ == SEP)
|
||||
{
|
||||
outputs[print_str] = 0;
|
||||
cout << print_str << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
double v = expr(ist, false);
|
||||
cout << scientific << print_str << v << endl;
|
||||
double v = expr(ist, false, config, ms_model);
|
||||
outputs[print_str] = v;
|
||||
cout << print_str << v << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
double v = expr(ist, false);
|
||||
cout << scientific << v << endl;
|
||||
double v = expr(ist, false, config, ms_model);
|
||||
outputs["Missing Expression"] = v;
|
||||
cout << v << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
expr(ist, false);
|
||||
expr(ist, false, config, ms_model);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Calculator::Token Calculator::getToken(istringstream& ist_)
|
||||
|
@ -146,7 +173,9 @@ namespace LibUtil
|
|||
}
|
||||
}
|
||||
|
||||
double Calculator::prim(istringstream& ist_, bool is_get_)
|
||||
double Calculator::prim(istringstream& ist_, bool is_get_,
|
||||
const map<String, String> &config,
|
||||
DSENT::Model *ms_model)
|
||||
{
|
||||
if(is_get_)
|
||||
{
|
||||
|
@ -164,7 +193,7 @@ namespace LibUtil
|
|||
if(getToken(ist_) == ASSIGN)
|
||||
{
|
||||
String var_name = m_value_string_;
|
||||
v = expr(ist_, true);
|
||||
v = expr(ist_, true, config, ms_model);
|
||||
m_var_.set(var_name, v);
|
||||
}
|
||||
else
|
||||
|
@ -173,13 +202,13 @@ namespace LibUtil
|
|||
}
|
||||
return v;
|
||||
case NAME2:
|
||||
v = getEnvVar(m_value_string_);
|
||||
v = getEnvVar(m_value_string_, config, ms_model);
|
||||
getToken(ist_);
|
||||
return v;
|
||||
case MINUS:
|
||||
return -prim(ist_, true);
|
||||
return -prim(ist_, true, config, ms_model);
|
||||
case LP:
|
||||
v = expr(ist_, true);
|
||||
v = expr(ist_, true, config, ms_model);
|
||||
ASSERT((m_curr_token_ == RP), "[Error] ')' expected");
|
||||
getToken(ist_);
|
||||
return v;
|
||||
|
@ -188,9 +217,11 @@ namespace LibUtil
|
|||
}
|
||||
}
|
||||
|
||||
double Calculator::term(istringstream& ist_, bool is_get_)
|
||||
double Calculator::term(istringstream& ist_, bool is_get_,
|
||||
const map<String, String> &config,
|
||||
DSENT::Model *ms_model)
|
||||
{
|
||||
double left = prim(ist_, is_get_);
|
||||
double left = prim(ist_, is_get_, config, ms_model);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
@ -198,10 +229,10 @@ namespace LibUtil
|
|||
switch(m_curr_token_)
|
||||
{
|
||||
case MUL:
|
||||
left *= prim(ist_, true);
|
||||
left *= prim(ist_, true, config, ms_model);
|
||||
break;
|
||||
case DIV:
|
||||
d = prim(ist_, true);
|
||||
d = prim(ist_, true, config, ms_model);
|
||||
ASSERT(d, "[Error] divided by 0");
|
||||
left /= d;
|
||||
break;
|
||||
|
@ -211,19 +242,21 @@ namespace LibUtil
|
|||
}
|
||||
}
|
||||
|
||||
double Calculator::expr(istringstream& ist_, bool is_get_)
|
||||
double Calculator::expr(istringstream& ist_, bool is_get_,
|
||||
const map<String, String> &config,
|
||||
DSENT::Model *ms_model)
|
||||
{
|
||||
double left = term(ist_, is_get_);
|
||||
double left = term(ist_, is_get_, config, ms_model);
|
||||
|
||||
while(1)
|
||||
{
|
||||
switch(m_curr_token_)
|
||||
{
|
||||
case PLUS:
|
||||
left += term(ist_, true);
|
||||
left += term(ist_, true, config, ms_model);
|
||||
break;
|
||||
case MINUS:
|
||||
left -= term(ist_, true);
|
||||
left -= term(ist_, true, config, ms_model);
|
||||
break;
|
||||
default:
|
||||
return left;
|
||||
|
@ -231,9 +264,10 @@ namespace LibUtil
|
|||
}
|
||||
}
|
||||
|
||||
double Calculator::getEnvVar(const String& var_name_) const
|
||||
double Calculator::getEnvVar(const String& var_name_,
|
||||
const map<String, String> &config,
|
||||
DSENT::Model *ms_model) const
|
||||
{
|
||||
return m_var_.get(var_name_);
|
||||
}
|
||||
} // namespace LibUtil
|
||||
|
||||
|
|
|
@ -1,8 +1,30 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __LIBUTIL_CALCULATOR_H__
|
||||
#define __LIBUTIL_CALCULATOR_H__
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include "model/Model.h"
|
||||
#include "String.h"
|
||||
#include "Map.h"
|
||||
#include "Assert.h"
|
||||
|
@ -10,6 +32,7 @@
|
|||
namespace LibUtil
|
||||
{
|
||||
using std::istringstream;
|
||||
using std::ostringstream;
|
||||
|
||||
/*
|
||||
* program:
|
||||
|
@ -63,14 +86,30 @@ namespace LibUtil
|
|||
|
||||
public:
|
||||
void reset();
|
||||
void evaluateString(const String& str_);
|
||||
void evaluateString(const String& str_,
|
||||
const std::map<String, String> &config,
|
||||
DSENT::Model *ms_model,
|
||||
std::map<std::string, double> &outputs);
|
||||
|
||||
protected:
|
||||
Token getToken(istringstream& ist_);
|
||||
double prim(istringstream& ist_, bool is_get_);
|
||||
double term(istringstream& ist_, bool is_get_);
|
||||
double expr(istringstream& ist_, bool is_get_);
|
||||
virtual double getEnvVar(const String& var_name_) const;
|
||||
|
||||
double prim(istringstream& ist_, bool is_get_,
|
||||
const std::map<String, String> &config,
|
||||
DSENT::Model *ms_model);
|
||||
|
||||
double term(istringstream& ist_, bool is_get_,
|
||||
const std::map<String, String> &config,
|
||||
DSENT::Model *ms_model);
|
||||
|
||||
double expr(istringstream& ist_, bool is_get_,
|
||||
const std::map<String, String> &config,
|
||||
DSENT::Model *ms_model);
|
||||
|
||||
virtual double getEnvVar(
|
||||
const String& var_name_,
|
||||
const std::map<String, String> &config,
|
||||
DSENT::Model *ms_model) const;
|
||||
|
||||
protected:
|
||||
String m_reserved_chars_;
|
||||
|
@ -79,7 +118,7 @@ namespace LibUtil
|
|||
Token m_curr_token_;
|
||||
double m_value_number_;
|
||||
String m_value_string_;
|
||||
}; // class Calculator
|
||||
};
|
||||
} // namespace LibUtil
|
||||
|
||||
#endif // __LIBUTIL_CALCULATOR_H__
|
||||
|
|
|
@ -1,69 +1,44 @@
|
|||
#include "Config.h"
|
||||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <fstream>
|
||||
|
||||
#include "Assert.h"
|
||||
#include "Config.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
namespace LibUtil
|
||||
{
|
||||
Config::Config(const String& delimiter_, const String& comment_, const String& sentry_)
|
||||
: mDelimiter(delimiter_), mComment(comment_), mSentry(sentry_)
|
||||
{}
|
||||
|
||||
Config::Config(const Config& config_)
|
||||
: StringMap(config_)
|
||||
void readFile(const char *filename_, map<String, String> &config)
|
||||
{
|
||||
mDelimiter = config_.mDelimiter;
|
||||
mComment = config_.mComment;
|
||||
mSentry = config_.mSentry;
|
||||
}
|
||||
std::ifstream ist_(filename_);
|
||||
|
||||
Config::~Config()
|
||||
{}
|
||||
|
||||
Config* Config::clone() const
|
||||
{
|
||||
return new Config(*this);
|
||||
}
|
||||
|
||||
void Config::readFile(const String& filename_)
|
||||
{
|
||||
std::ifstream fin(filename_.c_str());
|
||||
|
||||
ASSERT(fin, "File not found: " + filename_);
|
||||
fin >> (*this);
|
||||
return;
|
||||
}
|
||||
|
||||
void Config::readString(const String& str_)
|
||||
{
|
||||
String newString = str_;
|
||||
newString.substitute(";", "\n");
|
||||
std::istringstream iss(newString, std::istringstream::in);
|
||||
|
||||
iss >> (*this);
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& ost_, const Config& config_)
|
||||
{
|
||||
Config::ConstIterator it;
|
||||
for(it = config_.begin(); it != config_.end(); it++)
|
||||
{
|
||||
ost_ << it->first << " " << config_.mDelimiter << " ";
|
||||
ost_ << it->second << std::endl;
|
||||
}
|
||||
return ost_;
|
||||
}
|
||||
|
||||
std::istream& operator>>(std::istream& ist_, Config& config_)
|
||||
{
|
||||
// Set a Config from ist_
|
||||
// Read in keys and values, keeping internal whitespace
|
||||
typedef String::size_type pos;
|
||||
const String& delim = config_.mDelimiter; // separator
|
||||
const String& comm = config_.mComment; // comment
|
||||
const String& sentry = config_.mSentry; // end of file sentry
|
||||
const pos skip = delim.length(); // length of separator
|
||||
const String& delimiter = "=";
|
||||
const String& comment = "#";
|
||||
const String& sentry = "End";
|
||||
const pos skip = delimiter.length(); // length of separator
|
||||
|
||||
String nextline = ""; // might need to read ahead to see where value ends
|
||||
|
||||
|
@ -83,17 +58,17 @@ namespace LibUtil
|
|||
}
|
||||
|
||||
// Ignore comments and the spaces on both ends
|
||||
line = line.substr(0, line.find(comm));
|
||||
line = line.substr(0, line.find(comment));
|
||||
line.trim();
|
||||
|
||||
// Check for end of file sentry
|
||||
if((sentry != "") && (line.find(sentry) != String::npos)) return ist_;
|
||||
if((sentry != "") && (line.find(sentry) != String::npos)) return;
|
||||
|
||||
if(line.length() == 0)
|
||||
continue;
|
||||
|
||||
// Parse the line if it contains a delimiter
|
||||
pos delimPos = line.find(delim);
|
||||
pos delimPos = line.find(delimiter);
|
||||
ASSERT((delimPos < String::npos), "Invalid config line: '" + line + "'");
|
||||
|
||||
// Extract the key
|
||||
|
@ -119,7 +94,7 @@ namespace LibUtil
|
|||
nlcopy.trim();
|
||||
if(nlcopy == "") continue;
|
||||
|
||||
nextline = nextline.substr(0, nextline.find(comm));
|
||||
nextline = nextline.substr(0, nextline.find(comment));
|
||||
//if(nextline.find(delim) != String::npos)
|
||||
// continue;
|
||||
if((sentry != "") && (nextline.find(sentry) != String::npos))
|
||||
|
@ -136,9 +111,8 @@ namespace LibUtil
|
|||
// Store key and value
|
||||
key.trim();
|
||||
line.trim();
|
||||
config_.set(key, line); // overwrites if key is repeated
|
||||
config[key] = line; // overwrites if key is repeated
|
||||
}
|
||||
return ist_;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __LIBUTIL_CONFIG_H__
|
||||
#define __LIBUTIL_CONFIG_H__
|
||||
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
|
||||
#include "Map.h"
|
||||
#include "libutil/String.h"
|
||||
|
||||
namespace LibUtil
|
||||
{
|
||||
class Config : public StringMap
|
||||
{
|
||||
public:
|
||||
Config(const String& delimiter_ = "=", const String& comment_ = "#", const String& sentry_ = "End");
|
||||
Config(const Config& config_);
|
||||
virtual ~Config();
|
||||
|
||||
public:
|
||||
// Make a copy of this instance
|
||||
virtual Config* clone() const;
|
||||
// Load the config from file
|
||||
virtual void readFile(const String& filename_);
|
||||
// Parse string and overwrite the Config instance if keys exist
|
||||
virtual void readString(const String& str_);
|
||||
|
||||
// Write or read map using standard IO
|
||||
friend std::ostream& operator<<(std::ostream& ost_, const Config& config_);
|
||||
friend std::istream& operator>>(std::istream& ist_, Config& config_);
|
||||
|
||||
protected:
|
||||
String mDelimiter;
|
||||
String mComment;
|
||||
String mSentry;
|
||||
};
|
||||
// Load the config from file
|
||||
void readFile(const char *filename_, std::map<String, String> &config);
|
||||
}
|
||||
|
||||
#endif // __LIBUTIL_CONFIG_H__
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "Exception.h"
|
||||
|
||||
namespace LibUtil
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __EXCEPTION_H__
|
||||
#define __EXCEPTION_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __LIBUTIL_H__
|
||||
#define __LIBUTIL_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "Log.h"
|
||||
|
||||
#include "Assert.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __LOG_H__
|
||||
#define __LOG_H__
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
|
||||
# Define the directories that will be compiled
|
||||
DIRS_TO_COMPILE := . \
|
||||
|
||||
DIRS = $(patsubst %,$(CURDIR)/%,$(DIRS_TO_COMPILE))
|
||||
|
||||
SRCS = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cc))
|
||||
|
||||
OBJS = $(SRCS:%.cc=%.o)
|
||||
|
||||
DEF_FLAGS =
|
||||
|
||||
ifdef LIBUTIL_IS_LOG
|
||||
LIBUTIL_IS_LOG = true
|
||||
else
|
||||
LIBUTIL_IS_LOG = false
|
||||
endif
|
||||
DEF_FLAGS += -DLIBUTIL_IS_LOG=$(LIBUTIL_IS_LOG)
|
||||
|
||||
INCLUDE_FLAGS = $(foreach dir, $(DIRS), -I$(dir))
|
||||
OPT_FLAGS = -O2 -g
|
||||
WARN_FLAGS = -pedantic -Wall -W -Wextra -Werror
|
||||
CXXFLAGS = $(OPT_FLAGS) $(WARN_FLAGS) $(INCLUDE_FLAGS) $(DEF_FLAGS)
|
||||
|
||||
TARGET = $(CURDIR)/libutil.a
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
ar rcs $@ $^
|
||||
#$(TARGET): $(OBJS)
|
||||
# $(CXX) $(CXXFLAGS) $^ -o $(TARGET)
|
||||
|
||||
%.o: %.cc
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
%/created:
|
||||
mkdir -p $(dir $@)
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
$(RM) -rf $(OBJS) $(TARGET)
|
||||
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __MAP_H__
|
||||
#define __MAP_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "MathUtil.h"
|
||||
|
||||
namespace LibUtil
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __MATH_H__
|
||||
#define __MATH_H__
|
||||
|
||||
|
|
|
@ -1,177 +0,0 @@
|
|||
#include "OptionParser.h"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
|
||||
namespace LibUtil
|
||||
{
|
||||
using std::cout;
|
||||
using std::cerr;
|
||||
using std::endl;
|
||||
|
||||
OptionParser::OptionInfo::OptionInfo(
|
||||
const String& var_name_,
|
||||
bool has_arg_,
|
||||
const String& arg_name_,
|
||||
bool has_default_arg_value_,
|
||||
const String& default_arg_value_,
|
||||
const String& description_
|
||||
)
|
||||
: m_var_name_(var_name_),
|
||||
m_has_arg_(has_arg_),
|
||||
m_arg_name_(arg_name_),
|
||||
m_has_default_arg_value_(has_default_arg_value_),
|
||||
m_default_arg_value_(default_arg_value_),
|
||||
m_description_(description_)
|
||||
{}
|
||||
|
||||
OptionParser::OptionInfo::~OptionInfo()
|
||||
{
|
||||
}
|
||||
|
||||
OptionParser::OptionParser()
|
||||
{}
|
||||
|
||||
OptionParser::~OptionParser()
|
||||
{
|
||||
clearPtrMap(&m_option_infos_);
|
||||
}
|
||||
|
||||
void OptionParser::addOption(
|
||||
const String& option_name_,
|
||||
const String& var_name_,
|
||||
bool has_arg_,
|
||||
const String& arg_name_,
|
||||
bool has_default_arg_value_,
|
||||
const String& default_arg_value_,
|
||||
const String& description_)
|
||||
{
|
||||
OptionInfo* option_info = new OptionInfo(var_name_, has_arg_, arg_name_,
|
||||
has_default_arg_value_, default_arg_value_, description_);
|
||||
|
||||
ASSERT(!m_option_infos_.keyExist(option_name_), "Option exists: " + option_name_);
|
||||
|
||||
// Add the option name to an array for sorting
|
||||
m_option_names_.push_back(option_name_);
|
||||
|
||||
// Add option info
|
||||
m_option_infos_.set(option_name_, option_info);
|
||||
|
||||
// Set the default argument value
|
||||
if(has_default_arg_value_)
|
||||
{
|
||||
set(var_name_, default_arg_value_);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void OptionParser::parseArguments(int argc_, char** argv_)
|
||||
{
|
||||
bool is_print_options = false;
|
||||
int arg_idx = 0;
|
||||
|
||||
while(arg_idx < argc_)
|
||||
{
|
||||
String option_name = String(argv_[arg_idx]);
|
||||
|
||||
// Print the options page if -help is specified
|
||||
if(option_name == "-help")
|
||||
{
|
||||
is_print_options = true;
|
||||
break;
|
||||
}
|
||||
else if(m_option_infos_.keyExist(option_name))
|
||||
{
|
||||
const OptionInfo* option_info = m_option_infos_.get(option_name);
|
||||
const String& var_name = option_info->getVarName();
|
||||
if(option_info->hasArg())
|
||||
{
|
||||
if((arg_idx + 1) >= argc_)
|
||||
{
|
||||
cerr << "[Error] Missing argument for option: '" << option_name << "'" << endl;
|
||||
is_print_options = true;
|
||||
break;
|
||||
}
|
||||
|
||||
String option_arg = String(argv_[arg_idx + 1]);
|
||||
set(var_name, option_arg);
|
||||
|
||||
arg_idx += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the option does not require an argument
|
||||
// then set it to true
|
||||
set(var_name, "true");
|
||||
|
||||
arg_idx += 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cerr << "[Error] Unknown option: '" << option_name << "'" << endl;
|
||||
is_print_options = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if all required options are set (the ones without default values)
|
||||
vector<String>::const_iterator it;
|
||||
for(it = m_option_names_.begin(); it != m_option_names_.end(); ++it)
|
||||
{
|
||||
const String& option_name = *it;
|
||||
const OptionInfo* option_info = m_option_infos_.get(option_name);
|
||||
|
||||
if(!option_info->hasDefaultArgValue())
|
||||
{
|
||||
const String& var_name = option_info->getVarName();
|
||||
if(!keyExist(var_name))
|
||||
{
|
||||
cerr << "[Error] Missing required option: '" << option_name << "'" << endl;
|
||||
is_print_options = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(is_print_options)
|
||||
{
|
||||
printOptions();
|
||||
exit(0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void OptionParser::printOptions() const
|
||||
{
|
||||
cout << endl;
|
||||
cout << "Available options:" << endl;
|
||||
cout << "==================" << endl << endl;
|
||||
|
||||
vector<String>::const_iterator it;
|
||||
for(it = m_option_names_.begin(); it != m_option_names_.end(); ++it)
|
||||
{
|
||||
const String& option_name = *it;
|
||||
const OptionInfo* option_info = m_option_infos_.get(option_name);
|
||||
|
||||
cout << option_name;
|
||||
if(option_info->hasArg())
|
||||
{
|
||||
cout << " <" << option_info->getArgName() << ">";
|
||||
}
|
||||
cout << endl;
|
||||
|
||||
cout << " " << option_info->getDescription() << endl;
|
||||
if(option_info->hasArg() && option_info->hasDefaultArgValue())
|
||||
{
|
||||
cout << " " << "Default: " << option_info->getDefaultArgValue() << endl;
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
cout << "-help" << endl;
|
||||
cout << " " << "Print this page" << endl;
|
||||
cout << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
} // namespace LibUtil
|
|
@ -1,57 +0,0 @@
|
|||
#ifndef __LIBUTIL_OPTION_PARSER_H__
|
||||
#define __LIBUTIL_OPTION_PARSER_H__
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "Map.h"
|
||||
|
||||
namespace LibUtil
|
||||
{
|
||||
using std::vector;
|
||||
|
||||
// Simple option parser
|
||||
class OptionParser : public StringMap
|
||||
{
|
||||
private:
|
||||
class OptionInfo
|
||||
{
|
||||
public:
|
||||
OptionInfo(const String& var_name_, bool has_arg_, const String& arg_name_, bool has_default_arg_value_, const String& default_arg_value_, const String& description_);
|
||||
~OptionInfo();
|
||||
|
||||
public:
|
||||
inline const String& getVarName() const { return m_var_name_; }
|
||||
inline bool hasArg() const { return m_has_arg_; }
|
||||
inline const String& getArgName() const { return m_arg_name_; }
|
||||
inline bool hasDefaultArgValue() const { return m_has_default_arg_value_; }
|
||||
inline const String& getDefaultArgValue() const { return m_default_arg_value_; }
|
||||
inline const String& getDescription() const { return m_description_; }
|
||||
|
||||
private:
|
||||
String m_var_name_;
|
||||
bool m_has_arg_;
|
||||
String m_arg_name_;
|
||||
bool m_has_default_arg_value_;
|
||||
String m_default_arg_value_;
|
||||
String m_description_;
|
||||
}; // class Option
|
||||
|
||||
public:
|
||||
OptionParser();
|
||||
virtual ~OptionParser();
|
||||
|
||||
public:
|
||||
void addOption(const String& option_name_, const String& var_name_, bool has_arg_, const String& arg_name_, bool has_default_arg_value_, const String& default_arg_value_, const String& description_);
|
||||
|
||||
void parseArguments(int argc_, char** argv_);
|
||||
|
||||
void printOptions() const;
|
||||
|
||||
protected:
|
||||
vector<String> m_option_names_;
|
||||
Map<OptionInfo*> m_option_infos_;
|
||||
}; // class OptionParser
|
||||
} // LibUtil
|
||||
|
||||
#endif // __LIBUTIL_OPTION_PARSER_H__
|
||||
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "String.h"
|
||||
|
||||
#include <cstdarg>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __STRING_H__
|
||||
#define __STRING_H__
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
|
||||
#include "DSENT.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
DSENT::DSENT::run(argc-1, argv+1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/ElectricalModel.h"
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICALMODEL_H__
|
||||
#define __DSENT_MODEL_ELECTRICALMODEL_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/EventInfo.h"
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_EVENT_INFO_H__
|
||||
#define __DSENT_MODEL_EVENT_INFO_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/Model.h"
|
||||
|
||||
#include <vector>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_MODEL_H__
|
||||
#define __DSENT_MODEL_MODEL_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/ModelGen.h"
|
||||
|
||||
#include <iostream>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_MODELGEN_H__
|
||||
#define __DSENT_MODEL_MODELGEN_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/OpticalModel.h"
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICALMODEL_H__
|
||||
#define __DSENT_MODEL_OPTICALMODEL_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
||||
namespace DSENT
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_PORT_INFO_H__
|
||||
#define __DSENT_MODEL_PORT_INFO_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/TransitionInfo.h"
|
||||
|
||||
namespace DSENT
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_TRANSITION_INFO_H__
|
||||
#define __DSENT_MODEL_TRANSITION_INFO_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/BarrelShifter.h"
|
||||
#include "model/electrical/Multiplexer.h"
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_BARRELSHIFTER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_BARRELSHIFTER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/BroadcastHTree.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_BROADCAST_HTREE_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_BROADCAST_HTREE_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/DFFRAM.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_DFFRAM_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_DFFRAM_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/Decoder.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_DECODER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_DECODER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/DemuxTreeDeserializer.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_MULTIPHASEDESERIALIZER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_MULTIPHASEDESERIALIZER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/MatrixArbiter.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_MATRIX_ARBITER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_MATRIX_ARBITER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/Multiplexer.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/MultiplexerCrossbar.h"
|
||||
|
||||
#include <vector>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_CROSSBAR_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_CROSSBAR_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/MuxTreeSerializer.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_MUXTREESERIALIZER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_MUXTREESERIALIZER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/OR.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_OR_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_OR_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/RepeatedLink.h"
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_REPEATED_LINK_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_REPEATED_LINK_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/RippleAdder.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_RIPPLE_ADDER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_RIPPLE_ADDER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/SeparableAllocator.h"
|
||||
|
||||
#include "model/ModelGen.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_SEPARABLE_ALLOCATOR_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_SEPARABLE_ALLOCATOR_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/TestModel.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_TESTMODEL_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_TESTMODEL_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/router/Router.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_ROUTER_ROUTER_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_ROUTER_ROUTER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/router/RouterInputPort.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_ROUTER_ROUTER_INPUT_PORT_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_ROUTER_ROUTER_INPUT_PORT_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/electrical/router/RouterSwitchAllocator.h"
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_ELECTRICAL_ROUTER_ROUTER_SWITCH_ALLOCATOR_H__
|
||||
#define __DSENT_MODEL_ELECTRICAL_ROUTER_ROUTER_SWITCH_ALLOCATOR_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/network/ElectricalClos.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_NETWORK_ELECTRICAL_CLOS_H__
|
||||
#define __DSENT_MODEL_NETWORK_ELECTRICAL_CLOS_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/network/ElectricalMesh.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_NETWORK_ELECTRICAL_MESH_H__
|
||||
#define __DSENT_MODEL_NETWORK_ELECTRICAL_MESH_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/network/PhotonicClos.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_NETWORK_PHOTONIC_CLOS_H__
|
||||
#define __DSENT_MODEL_NETWORK_PHOTONIC_CLOS_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/GatedLaserSource.h"
|
||||
|
||||
#include "model/optical_graph/OpticalWaveguide.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_GATEDLASERSOURCE_H__
|
||||
#define __DSENT_MODEL_OPTICAL_GATEDLASERSOURCE_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/LaserSource.h"
|
||||
|
||||
#include "model/optical_graph/OpticalWaveguide.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_LASERSOURCE_H__
|
||||
#define __DSENT_MODEL_OPTICAL_LASERSOURCE_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/OpticalLinkBackendRx.h"
|
||||
|
||||
#include "util/Constants.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDRX_H__
|
||||
#define __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDRX_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/OpticalLinkBackendTx.h"
|
||||
|
||||
#include "util/Constants.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDTX_H__
|
||||
#define __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDTX_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/OpticalTestModel.h"
|
||||
#include "model/optical_graph/OpticalGraph.h"
|
||||
#include "model/optical_graph/OpticalWaveguide.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_OPTICALTESTMODEL_H__
|
||||
#define __DSENT_MODEL_OPTICAL_OPTICALTESTMODEL_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/RingDetector.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_RINGDETECTOR_H__
|
||||
#define __DSENT_MODEL_OPTICAL_RINGDETECTOR_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/RingFilter.h"
|
||||
|
||||
#include "model/optical_graph/OpticalWaveguide.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_RINGFILTER_H__
|
||||
#define __DSENT_MODEL_OPTICAL_RINGFILTER_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/RingModulator.h"
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_RINGMODULATOR_H__
|
||||
#define __DSENT_MODEL_OPTICAL_RINGMODULATOR_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/SWMRLink.h"
|
||||
|
||||
#include "model/PortInfo.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_SWMRLINK_H__
|
||||
#define __DSENT_MODEL_OPTICAL_SWMRLINK_H__
|
||||
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "model/optical/SWSRLink.h"
|
||||
|
||||
#include "model/ModelGen.h"
|
||||
|
|
|
@ -1,3 +1,24 @@
|
|||
/* Copyright (c) 2012 Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __DSENT_MODEL_OPTICAL_SWSRLINK_H__
|
||||
#define __DSENT_MODEL_OPTICAL_SWSRLINK_H__
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue