Skip to content

Estimate и EstimateM

Андрей Мулик edited this page Sep 21, 2023 · 1 revision

Estimate и EstimateM

Estimate - класс типов, (неизменяемый) размер которых можно сравнить с конечным числом за конечное время.

EstimateM - класс типов, (изменяемый) размер которых можно сравнить с конечным числом за конечное время.

SizeHint - вспомогательный тип, содержит дополнительную информацию о размере структуры.

Может быть полезен при создании или модицикации структуры.

Применение

Функции класса Estimate и их вариации помогают в работе с бесконечными и потенциально бесконечными структурами, например, с различными видами списков и деревьев. Например, вы можете определить, что данная структура es короче n, выполнив выражение es .> n и т.п.

Историческая справка

Класс Estimate добавлен в sdp-0.2, а EstimateM - в sdp-0.3.

API

Метод Estimate Добавлен EstimateM Добавлен
Подказка о размере структуры sizeHint 0.3 getSizeHint 0.3
Размер структуры sizeOf 0.3 getSizeOf 0.3
Сравнить размеры (<==>) 0.2 estimateM 0.3
Сравнить размер с числом (<.=>) 0.2 lestimateM 0.3
Размер равен числу? (.==) 0.2 lestimateMEQ 0.3
Размер не равен числу? (./=) 0.2 lestimateMNE 0.3
Размер больше или равен числу? (.>=) 0.2 lestimateMGE 0.3
Размер меньше или равен числу? (.<=) 0.2 lestimateMLE 0.3
Размер больше числа? (.>) 0.2 lestimateMGT 0.3
Размер меньше числа? (.<) 0.2 lestimateMLT 0.3
Размеры равны? (.==.) 0.2 estimateMEQ 0.3
Размеры не равны? (./=.) 0.2 estimateMNE 0.3
Длиннее или равен? (.>=.) 0.2 estimateMGE 0.3
Короче или равен? (.<=.) 0.2 estimateMLE 0.3
Длиннее? (.>.) 0.2 estimateMGT 0.3
Короче? (.<.) 0.2 estimateMLT 0.3
Функция Estimate Добавлен EstimateM Добавлен
Сравнить число с размером (<=.>) 0.2 restimateM 0.3
Число равно размеру? (==.) 0.2 restimateMEQ 0.3
Число не равно размеру? (/=.) 0.2 restimateMNE 0.3
Число больше или равно размеру? (>=.) 0.2 restimateMGE 0.3
Число меньше или равно размеру? (<=.) 0.2 restimateMLE 0.3
Число больше размера? (.>) 0.2 restimateMGT 0.3
Число меньше размера? (.<) 0.2 restimateMLT 0.3