Найдено 900 результатов

Дож
07.08.2025 23:42:14
Форум: Потрепаться
Тема: LNS (логарифмический формат чисел)
Ответы: 4
Просмотры: 4379

Re: LNS (логарифмический формат чисел)

1. if в LogMul лишний, его можно просто выкинуть
2. Нужен inline, т.к. функция маленькая
3. Параметры передавать как const
4. Результат писать в out параметр, чтобы не было копирования


procedure LogMulOut(const A, B: TLogNumber; out Dst: TLogNumber); inline;
begin
Dst.LogAbs := A.LogAbs + B ...
Дож
23.12.2023 08:53:39
Форум: Lazarus
Тема: Как искать API в Linux
Ответы: 166
Просмотры: 40199

Re: Как искать API в Linux


Добавлено спустя 2 минуты 32 секунды:
где Native API толком не документирован
Как рождается такое в голове? Я уже сомневаюсь, что Вы что-то полезное можете в принципе сообщить. Все равно почему. Просто не знаете и бредите наяву или потому, что не хотите. Вызовы у Вас объявлены в модуле с ...
Дож
13.12.2023 05:06:26
Форум: Lazarus
Тема: Как искать API в Linux
Ответы: 166
Просмотры: 40199

Re: Как искать API в Linux

Если мне надо узнать имя компьютера под Windows, я обращаюсь к справочнику API. Есть много таких справочников и от самой Microsoft и в переводе, и сокращенные - только часто необходимое, можно искать, можно читать все подряд.
У линукса аналогом такого справочника являются стандарты, их несколько ...
Дож
05.10.2023 08:55:57
Форум: Разработки на нашем сайте
Тема: tta кодек на Паскале
Ответы: 9
Просмотры: 2326802

Re: tta кодек на Паскале

А SalLongint тоже есть ?
shl (логический сдвиг влево) и sal (арифметический сдвиг влево) -- это одна и та же операция, поэтому SalLongint и не особо нужен.
Дож
05.10.2023 07:41:36
Форум: Разработки на нашем сайте
Тема: tta кодек на Паскале
Ответы: 9
Просмотры: 2326802

Re: tta кодек на Паскале

Также не нашлось прямой замены такой конструкции (переменные в регистрах)

Можно воспользоваться тем, что параметры функций передаются в регистрах:

procedure hybrid_filter(fs: Pflst; in_arr: PInt32; mode: Int32);
procedure process_fast(pA, pB, pM: PInt32; var sum: Int32); inline;
begin
Dec(pB ...
Дож
04.09.2023 10:55:56
Форум: Обучение Free Pascal
Тема: SizeOf для структур
Ответы: 3
Просмотры: 21792

Re: SizeOf для структур

TTestShortArray - это тип динамического массива, его внутреннее устройство на усмотрение компилятора. Каст TTestShortArray(p) от переменной p, которая не является динамическим массивом, -- это Undefined Behavior. Вместо этого с учётом того как вы используете этот тип правильнее объявить ...
Дож
04.09.2023 06:30:10
Форум: Обучение Free Pascal
Тема: Как узнать сколько памяти выделено под pointer
Ответы: 5
Просмотры: 43103

Re: Как узнать сколько памяти выделено под pointer

Можно попробовать использовать MemSize https://www.freepascal.org/docs-html/rtl/system/memsize.html

Но на практике я бы не рекомендовал активно ею пользоваться, т.к. в случае нестандартного менеджера памяти она может работать неправильно, а кроме того менеджер может выделять память с запасами и ...
Дож
04.09.2023 06:19:12
Форум: Обучение Free Pascal
Тема: SizeOf для структур
Ответы: 3
Просмотры: 21792

Re: SizeOf для структур

По умолчанию поля выравниваются для оптимизации скорости. Чтобы выравнять их для оптимизации по памяти или для записи в файл, нужно писать "packed record" вместо "record".

Free Pascal Reference guide, 3.3 Structured Types: https://www.freepascal.org/docs-html/ref/refse14.html#QQ2-39-65

Также про ...
Дож
24.01.2023 14:40:40
Форум: Общие вопросы
Тема: Pascal в вопросах и ответах
Ответы: 5
Просмотры: 37105

Re: Pascal в вопросах и ответах

А почему в списке нет самого популярного сайта вопросов-ответов по программированию?
https://stackoverflow.com/questions/tagged/pascal
https://ru.stackoverflow.com/questions/tagged/pascal
Дож
06.10.2022 20:57:41
Форум: Lazarus
Тема: Непонятка с glColor3b
Ответы: 11
Просмотры: 7901

Re: Непонятка с glColor3b

Читаю что написано на странице 276:
2022-10-06_20-38-05.png

Здесь описано что происходит для целых чисел от 0 до их максимального значения, но не написано что происходит с целыми числами меньше нуля.

Так что же на самом деле произойдёт если вызвать glColor3b(-128, 0, -128); ? Варианты ответов:
1 ...
Дож
06.10.2022 19:54:36
Форум: Lazarus
Тема: Непонятка с glColor3b
Ответы: 11
Просмотры: 7901

Re: Непонятка с glColor3b

OpenGL суперкнига (третье издание, ISBN 5-8459-0998-8), стр. 75:

2022-10-06_19-45-48.png

Тут сказано, что суффикс b указывает на знаковое число, это согласуется со спецификацией, и не согласуется с тем, что пишете вы.

Мне не надо ни каких доказательств приводить, я работаю с <Икс> уже давно ...
Дож
06.10.2022 19:31:16
Форум: Lazarus
Тема: Непонятка с glColor3b
Ответы: 11
Просмотры: 7901

Re: Непонятка с glColor3b

не веришь
А с чего это вдруг я должен вам верить? Вы мой батюшка? Нет, вы не мой батюшка, вы форумный невежда, который говорит ерунду, сам не приводит никаких аргументов, и, видимо, даже не в состоянии вдумчиво прочитать куски спецификаций, которые прямо противоречат вашим же бредням.
Дож
06.10.2022 14:17:05
Форум: Lazarus
Тема: Непонятка с glColor3b
Ответы: 11
Просмотры: 7901

Re: Непонятка с glColor3b

это так не работает. Числа идут только положительные.
Как "это работает" написано в спецификации. Для тех, кому лень самостоятельно залезть спецификацию прежде чем объяснять как оно работает, я процитирую её здесь (OpenGL 1.1 Specification, таблица 2.2):
2022-10-06_14-04-40.png

И вот ещё:

D ...
Дож
04.10.2022 21:59:13
Форум: Lazarus
Тема: Непонятка с glColor3b
Ответы: 11
Просмотры: 7901

Re: Непонятка с glColor3b

glColor3b конвертирует числа из [-128,127] в [-1,1], см. секцию 2.13 в спеке OpenGL 1.1:
2022-10-04_21-47-15.png
2022-10-04_21-46-35.png

Cоответственно, вызов glColor3b(-128, 0, -128) эквивалентен передаче тройки (-1.0, 0.00392156862, -1.0). Предполагаю, что ожидаемый результат даст glColor3b ...