Re: Fastcode CharPosRev B&V 0.6.2



Hi

My MMX functions also have a bug

@LoopStartBig :
movq mm1,[edx+ecx-7]
pcmpeqb mm1,mm0
packsswb mm1,mm1
movd ebx,mm1
test ebx,ebx
jnz @MatchX
sub ecx,8
cmp ecx,4 <-------------------------8
jnl @LoopStartBig
@LoopEndBig :

This bug is found found by the new validation and I made this to get it

function TMainForm.Validate16 : Boolean;
var
I, Iref, J, RefCountS, RefCountSold, K : Integer;
S, Sold : String;
SearchChar : Char;
const
VALIDATE14MAX : Integer = 25500;
VALIDATENO : Cardinal = 16;

begin
StatusBar1.SimpleText := 'Running Validate16';
Update;
Result := True;
S := '';
for J := 1 to VALIDATE14MAX do
begin
for K := 1 to 255 do
begin
SearchChar := Char(K);
//Iref := CharPosRevRef(SearchChar, S);
Iref := 0;
Sold := S;
try
I := CharPosRevFunction(SearchChar, S);
if I <> Iref then
begin
ErrorTrap(VALIDATENO, SearchChar, S);
Result := False;
Exit;
end;
if Length(S) <> Length(Sold) then
begin
ErrorTrap(VALIDATENO, SearchChar, S);
Result := False;
Exit;
end;
RefCountS := GetRefCount(S);
RefCountSold := GetRefCount(Sold);
if RefCountS <> RefCountSold then
begin
ErrorTrap(VALIDATENO, SearchChar, S);
Result := False;
Exit;
end;
except
ErrorTrap(VALIDATENO, SearchChar, S);
Result := False;
end;
end;
S := S + #0;
end;
end;

Best regards
Dennis Kjaer Christensen

----------------------------------------------------------------------------
----
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 6011 spam-mails
Betalende brugere får ikke denne besked i deres e-mails.
Hent en gratis SPAMfighter her.


.