Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Оптимизация кода   Найти похожие ветки 

 
konstantinov ©   (2003-12-02 00:44) [0]

Есть некая переменная, тип которой может быть различного поддиапазона
В зависимости от значения некой другой переменной.
Не хочется каждый раз, приприсвоении значения переменной проверять попадает ли она
в нужный диапазон.
( Длительный цикл, лишняя проверка = лишние переходы = лишние тормоза )
Как правильно реализовать подобное?
К примеру если объявить А : byte;
и в цикле использовать Inc(A), то никогда за пределы диапазона 0..255 не выйдем.

попробовал реализоват это следующим образом:
type
type1 = 0..35;
type2 = 25..240;
var Value : variant;
A1 : type1;
A2 : type2;
C : boolean;
begin
...
if C then Value := A1 пытаемся определиться с типом переменной
else Value := A2;
for I := 0 to 100000000 do Inc(Value);

увы, не прокатило ...


 
dmk ©   (2003-12-02 02:39) [1]

Лучше изменить код, чтобы использовать функции с директивой Overload.


 
SkyRanger ©   (2003-12-02 04:12) [2]

Попробуй использовать in, хотя это может работать тока со множествами set of


 
TUser ©   (2003-12-02 11:49) [3]

Лучше объявить все это пропертями. И при присвоении значения проверять. По-моему, тормозить все это будет не очень сильно.
Что касается byte, то он просто ало памяти занимает, поэтому и не будет больше 255. В принцыпе, можно самому зарегистрировать свой тип, занимающий в памяти, допустим, 3 байта, и к нему придумать арифметические операции, но тут дебе нужен не Паскаль, а Си.


 
Юрий Зотов ©   (2003-12-02 14:15) [4]

> TUser © (02.12.03 11:49) [3]
> нужен не Паскаль, а Си.

Разве? А что, процедуры и функции в Паскале уже отменили? Непременно нужна перегрузка и иначе никак?



Страницы: 1 вся ветка

Текущий архив: 2003.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-36592
BaDeVlad
2003-12-03 09:14
2003.12.12
Восстановление удаленного файла


1-36638
Ciber
2003-12-01 06:30
2003.12.12
NEXT


9-36498
loto
2003-05-20 21:23
2003.12.12
(OpenGL) текстура и материал на разных гранях одного куба


1-36599
RedArc
2003-11-27 22:46
2003.12.12
Хитрые окна


3-36549
Pako
2003-11-20 10:04
2003.12.12
Query