Can this implementation of Damm algorithm be optimized?
    Era Scarecrow via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Feb 11 17:10:02 PST 2017
    
    
  
On Sunday, 12 February 2017 at 00:43:55 UTC, Nestor wrote:
> I fail to see where you are declaring QG10Matrix2, because 
> apparently it's an array of chars, but buildMatrix2 returns an 
> array of int (2560 elements??) with lots of -1 values.
I declared it here: 
http://forum.dlang.org/post/fiamjuhiddbzwvaplxkr@forum.dlang.org
and it's not chars, it's ints. Part of it is to avoid the mem 
access penalty for non divisible by 4 addresses, and another is 
that the array returns not chars, but numbers from 0-2560, which 
is the answer *256 (<<8), which offers hopefully some slight 
speed gain on longer inputs.
  Also the size of the array is guesstimated, and the -1's just 
signify the padding (which can be any value, but -1 makes it 
obvious). Since it's a 10x10 array it's based on, but using 4bits 
per section, there's 6 elements lost, and 6 whole rows lost. It's 
a necessary loss to gain speed; Thankfully it's only using 10k 
(2560 members) and not 700k as was my original guess when i was 
calculating it wrong earlier.
  Doing it wrong earlier, the compiler kept crashing... :P running 
out of memory.
    
    
More information about the Digitalmars-d-learn
mailing list