{
Обозреватель кода языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2026 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной
общественной лицензии GNU.
Вы должны были получить копию Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
}
program avtb;
{$MODE OBJFPC}
{%region} uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
interfaces,
forms,
dialogs,
pascalx.lang,
pascalx.lang.locale,
pascalx.lang.locale.rtlang,
pascalx.lang.math.avo,
pascalx.lang.math.vcoverage,
pascalx.io,
pascalx.io.bytearray,
pascalx.io.charset,
pascalx.io.charset.basiclatin,
pascalx.io.charset.eightbit,
pascalx.io.charset.rtlang,
pascalx.io.charset.unicode,
pascalx.io.extension,
platform.independent.filesystem,
platform.independent.osservices,
platform.independent.streamformat,
platform.independent.streamformat.compression.zlib,
platform.independent.streamformat.text,
platform.independent.streamformat.text.plain,
platform.independent.streamformat.text.plain.ini,
ru.malik.elaborarer.avtoo.lang,
ru.malik.elaborarer.avtoo.compiler,
ru.malik.elaborarer.avtoo.browser;
{%endregion}
{$R *.res}
{$R *.strings.res}
begin
{ проверка поддержки AVX-512 }
if not Vector.isAVX512SupportedByCPU() then begin
dialogs.messageDlg(
AResource.readUnitResourceAsAnsiString('', 'title'),
AResource.readUnitResourceAsAnsiString(pascalx.lang.math.avo.UNIT_NAME, 'noavx.cpu'),
TMsgDlgType.mtInformation,
[TMsgDlgBtn.mbClose],
0
);
system.exitCode := 207;
exit;
end;
if not Vector.isAVX512SupportedByOS() then begin
dialogs.messageDlg(
AResource.readUnitResourceAsAnsiString('', 'title'),
AResource.readUnitResourceAsAnsiString(pascalx.lang.math.avo.UNIT_NAME, 'noavx.os'),
TMsgDlgType.mtInformation,
[TMsgDlgBtn.mbClose],
0
);
system.exitCode := 207;
exit;
end;
{ запуск приложения }
forms.requireDerivedFormResource := true;
with forms.application do begin
scaled := true;
title := AResource.readUnitResourceAsAnsiString('', 'title');
{$PUSH}
{$WARN 5044 OFF}
mainFormOnTaskBar := true;
{$POP}
initialize();
TMainForm.createInstance();
run();
end;
end.