I haven't forgot about you @MathMan

Been working a little on it and debugging and have discovered the MIN function from the Math lib does not return negitive values if the smallest is in the - range, what I mean is, the binary conversion does not flip the bits into what would normally be
a -number but zeros it out on the results.
At least that is what the debugger is showing.
Also, the use of bsfDword does not follow to what the C++ specs it out as so I made a little local function to correct the results of that making it more compatible.
The bsfDword function will return 255 for all on bits and 0 for the first bit. it appears the C version wants it different.
basically the __BUILTIN_CTX function.
More on this later.
Jamie