DetermineAdaptiveStep

 avatar
unknown
pascal
5 months ago
772 B
8
Indexable
// Zastosujemy Logarytm :)

function DetermineAdaptiveStep(Value: Integer): Integer;
begin
  Result := Min(1, Round(Power(10, Log10(Value) / 2)));
end;

{
    
   Proces wygląda następująco:

   - Najpierw obliczana jest wartość logarytmu dziesiętnego z Value.
   - Następnie na podstawie wyniku logarytmu obliczane jest potęgowanie 10 do połowy tego wyniku: 
    (Power(10, Log10(Value) / 2)).
   - Wynik jest zaokrąglany do najbliższej liczby całkowitej (Round).
   - Funkcja Min(1, ...) ogranicza wynik do minimum 1, co zapewnia, że wynik nie może być mniejszy niż 1.
   
   Elastycznośc, oparta na logarytmach, co może być użyteczne w kontekście większych wartości :)
   - Minus taki ze nie kazdy odczyta kod, ogarnie -D


Pozdrawiam 

Irus ;D
}
Editor is loading...
Leave a Comment