82 lines
3.3 KiB
Plaintext
Executable File
82 lines
3.3 KiB
Plaintext
Executable File
std::cout << "AtomicActivity2:" << std::endl
|
|
<< "\titerCount: " << sin->iterCount.getValue() << std::endl
|
|
<< "\toutPortIn1: " << sin->outPortIn1.getValue() << std::endl
|
|
<< "\toutPortIn2: " << sin->outPortIn2.getValue() << std::endl
|
|
<< "\tloopPortIn1: " << sin->loopPortIn1.getValue() << std::endl;
|
|
if (sin->iterCount.getValue() <= 0) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: iterCount [" << sin->iterCount.getValue() << "] is not greater than zero.";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
if (sin->iterCount.getValue() != sin->outPortIn1.getValue()) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: outPortIn1 [" << sin->outPortIn1.getValue() << "] is not equal iterCount [" << (sin->iterCount.getValue()) << "].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
if (sin->iterCount.getValue() != sin->outPortIn2.getValue()) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: outPortIn2 [" << sin->outPortIn2.getValue() << "] is not equal iterCount [" << (sin->iterCount.getValue()) << "].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
if (sin->iterCount.getValue() != sin->loopPortIn1.getValue()) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: loopPortIn1 [" << sin->loopPortIn1.getValue() << "] is not equal iterCount [" << (sin->iterCount.getValue()) << "].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
if (sin->unionPortIn1.getSize() != sin->iterCount.getValue()) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: unionPortIn1 collection size [" << sin->unionPortIn1.getSize() << "] is not equal iterCount [" << sin->iterCount.getValue() << "].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
std::cout << "\tunionPortIn1: [ ";
|
|
bool isFirst = true;
|
|
for (wfr_id_t t = 0; t < sin->unionPortIn1.getSize(); t++) {
|
|
if (sin->unionPortIn1.getEntryValue(t) != t+1) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: unionPortIn1 collection value index [" << t << "] does not have value [" << sin->unionPortIn1.getEntryValue(t)<< "].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
if (isFirst) {
|
|
isFirst = false;
|
|
} else {
|
|
std::cout << ", ";
|
|
}
|
|
std::cout << sin->unionPortIn1.getEntryValue(t);
|
|
}
|
|
std::cout << " ]" << std::endl;
|
|
if (sin->isOkUnion1.getSize() != sin->iterCount.getValue()) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: isOkUnion1 collection size [" << sin->isOkUnion1.getSize() << "] is not equal iterCount [" << sin->iterCount.getValue() << "].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
std::cout << "\tisOkUnion1: [ ";
|
|
isFirst = true;
|
|
for (wfr_id_t t = 0; t < sin->isOkUnion1.getSize(); t++) {
|
|
if (!sin->isOkUnion1.getEntryValue(t)) {
|
|
#include <sstream>
|
|
std::stringstream ss;
|
|
ss << "Test Failure: isOkUnion1 collection value at index [" << t << "] is not true].";
|
|
throw wfr::exception::wfr_fatal_error(ss.str());
|
|
}
|
|
if (isFirst) {
|
|
isFirst = false;
|
|
} else {
|
|
std::cout << ", ";
|
|
}
|
|
std::cout << sin->isOkUnion1.getEntryValue(t);
|
|
}
|
|
std::cout << " ]" << std::endl;
|
|
|
|
EXECUTE_SIMULATION_MODE
|
|
|
|
sout->outPortOut1.setValue(sin->outPortIn1.getValue());
|
|
sout->loopPortOut1.setValue(sin->loopPortIn1.getValue());
|
|
sout->unionPortOut1 = sin->unionPortIn1;
|
|
sout->isOK.setValue(true); |