Mercurial > projects > dstress
view run/o/odd_bug_15_A.d @ 1619:bebc7472a832
Fix #7.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 07 Nov 2009 18:55:30 +0100 |
parents | 276623518fb1 |
children |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // @author@ <niqbmozgvx@mailinator.com> // @date@ 2007-04-15 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1150 // @desc@ [Issue 1150] Compiler creates wrong code module dstress.run.o.odd_bug_15_A; class RangeCoder { uint[258] cumCount; uint lower; uint upper; ulong range; this() { for (int i=0; i < cumCount.length; i++){ cumCount[i] = i; } lower = 0; upper = 0xffffffff; range = 0x100000000; } void encode(uint symbol) { uint total = cumCount[length - 1]; upper = lower + cast(uint)((cumCount[symbol+1] * range) / total) - 1; lower = lower + cast(uint)((cumCount[symbol] * range) / total); } } int main() { RangeCoder rc = new RangeCoder(); rc.encode(77); return 0; }