179,180c179
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
< return 0.0;
---
> return static_cast<double>(val);
247c246
< sc_time::operator *= (double)
---
> sc_time::operator *= (double d)
249c248
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
---
> val = static_cast<int64_t>(static_cast<double>(val) * d + 0.5);
254c253
< sc_time::operator /= (double)
---
> sc_time::operator /= (double d)
256c255
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
---
> val = static_cast<int64_t>(static_cast<double>(val) / d + 0.5);
313c312
< operator * (const sc_time &, double)
---
> operator * (const sc_time &t, double d)
315,316c314,315
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
< return sc_time();
---
> volatile double tmp = static_cast<double>(t.value()) * d + 0.5;
> return sc_time::from_value(static_cast<int64_t>(tmp));
320c319
< operator * (double, const sc_time &)
---
> operator * (double d, const sc_time &t)
322,323c321,322
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
< return sc_time();
---
> volatile double tmp = d * static_cast<double>(t.value()) + 0.5;
> return sc_time::from_value(static_cast<int64_t>(tmp));
327c326
< operator / (const sc_time &, double)
---
> operator / (const sc_time &t, double d)
329,330c328,329
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
< return sc_time();
---
> volatile double tmp = static_cast<double>(t.value()) / d + 0.5;
> return sc_time::from_value(static_cast<int64_t>(tmp));
334c333
< operator / (const sc_time &, const sc_time &)
---
> operator / (const sc_time &t1, const sc_time &t2)
336,337c335
< warn("%s not implemented.\n", __PRETTY_FUNCTION__);
< return 0.0;
---
> return t1.to_double() / t2.to_double();