Fix display constanting of neg quads. Part of previous checkin

git-svn-id: file://localhost/svn/verilator/trunk/verilator@939 77ca24e4-aefa-0310-84f0-b9a241c72d87
This commit is contained in:
Wilson Snyder
2007-06-14 21:27:40 +00:00
parent d6a5c97f3a
commit 829d80d5b5
4 changed files with 45 additions and 17 deletions
+2 -3
View File
@@ -464,11 +464,10 @@ vluint64_t V3Number::asQuad() const {
}
vlsint64_t V3Number::asSQuad() const {
if (width()<=32) return ((vlsint64_t)(asSInt()));
vluint64_t v = asQuad();
vluint64_t signExtend = (-(v & (1UL<<(width()-1))));
vluint64_t signExtend = (-(v & (VL_ULL(1)<<(width()-1))));
vluint64_t extended = v | signExtend;
return (vlsint32_t)(extended);
return (vlsint64_t)(extended);
}
uint32_t V3Number::asHash() const {