Systemc - 将sc_time四舍五入到最接近的第 10 SC_NS
Systemc - Rounding off sc_time to nearest 10th SC_NS
我试图将sc_time四舍五入到最接近的 10 纳秒。/
是重载的,因此可以sc_time
除两个。*
还重载了sc_time
值和double
值。对于这段代码,我正在6
而不是10
.
#include <iostream>
#include "systemc.h"
SC_MODULE(X)
{
SC_CTOR(X)
{
SC_THREAD(a);
}
void a()
{
sc_time t(6, SC_NS);
sc_time t1(10, SC_NS);
double v = (t / t1) *10;
std::cout << "sc_time update:/ " << v << "n";
}
};
int sc_main( int , char* [] )
{
sc_clock clock;
X x("x");
sc_start(1000, SC_NS);
cout << "Program completed" << endl;
return 0;
}
快速浏览一下sc_time
标题 https://github.com/systemc/systemc-2.3/blob/master/src/sysc/kernel/sc_time.h 表明它使用双精度进行数学运算,因此6/10*10==6
需要添加显式舍入也就不足为奇了:
double v = round(t / t1) *10;
相关文章:
- InstallApplicatonEventHandler/NSNotificationCenter 不通知事件 (NS
- 如何在NS-3中使用Ramdomwaypoint模型时设置位置分配器
- 是否有NS-3.29的任何人嵌入aqua-sim-ng
- NS-3 VANET:如何实现简单的交叉点场景?
- 在 NS-3 中使用内容存储
- gSOAP从2.8.10升级到最新版本(2.8.54),在几个XML标记上没有ns:for命名空间
- NS-3构建由于G 编译器错误而失败
- NS-3中的节点和UDP实现
- ns-3 模拟器批量发送应用程序完成时间
- 在 NS-2 中绑定变量时出错
- 在 NS-3 中创建对象数组时出错 (C++)
- ns-3中的Isis2和桥接抽头
- 如何在 NS-2 中使用 printf
- ns-3模拟中的错误
- 当你将一个NSMutable*对象传递给一个接受ns*对象的方法时会发生什么
- NS-3与DCE:如何在运行时使用二进制文件获得输入
- "ns"在"nsresult"中代表什么?
- 如何在 visual c++ 中以 ns、ps 或 clk 周期为单位测量执行时间
- NS[网络模拟器]TCL和c++