www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20746] New: Change LCG in garbage collector treap to use full

https://issues.dlang.org/show_bug.cgi?id=20746

          Issue ID: 20746
           Summary: Change LCG in garbage collector treap to use full 64
                    bits of state instead of 48
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: druntime
          Assignee: nobody puremagic.com
          Reporter: n8sh.secondary hotmail.com

rt.util.random.Rand48 is an LCG that holds its state in a 64-bit long but only
makes use of the low 48 bits. Replacing it with an LCG that makes use of the
full 64 bits would be a strict improvement as it would take no additional space
and would not be slower.

Rand48 is used only in rt.util.container.treap.Treap which in turn is used only
by the garbage collector.

--
Apr 18 2020