Здравствуйте, swame, Вы писали:
S>Должны срабатывать, проверь что ассерты в проекте включены.
S>Срабатывает Assert а не Range Check
У меня не срабатывает (заменил ассерты на if-ы):
| | Скрытый текст |
| | procedure TForm1.Button1Click(Sender: TObject);
var
q,w:integer;
firsttime:longword;
timegpt,timesections:longword;
curarray:tdoublearray;
outstr:string;
begin
firsttime:=GetTickCount;
for q:=0 to 100 do begin
curarray:=tdoublearray.Create;
curarray.Capacity:=100000;
for w:=0 to 99999 do curarray.Add(random);
curarray.QSort2GPT;
for w := 0 to 99998 do if not (curarray.fitems[w]<=curarray.fitems[w+1]) then application.MessageBox(pchar('qsort2gpt'+w.ToString + ' ' + FloatToStr(curarray.fitems[w]) + ' ' + FloatToStr(curarray.fitems[w+1])),'App',MB_OK);
curarray.Free;
end;
timegpt:=gettickcount-firsttime;
firsttime:=GetTickCount;
for q:=0 to 100 do begin
curarray:=tdoublearray.Create;
curarray.Capacity:=100000;
for w:=0 to 99999 do curarray.Add(random);
curarray.QSort10Sections;
for w := 0 to 99998 do if not (curarray.fitems[w]<=curarray.fitems[w+1]) then application.MessageBox(pchar('qsort10sec '+w.ToString + ' ' + FloatToStr(curarray.fitems[w]) + ' ' + FloatToStr(curarray.fitems[w+1])),'App',MB_OK);
curarray.Free;
end;
timesections:=gettickcount-firsttime;
outstr:='GPT: '+inttostr(timegpt)+'; Секции: '+inttostr(timesections);
application.MessageBox(pchar(outstr),'Тест',mb_ok);
end;
|
| | |
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен