Releases: meokullu/CalculateETA
3.0.0 Major update: Correction
Compare with previous
On this release;
- Correction module is added.
**PreventSurgeByPercentage(double?/long?)
method is added.
**PreventSurgeByValueRepatence(double?/long?)
method is added. - Report and MultiThread not can be used with creating instances.
- Simplified paramters name.
SetTextMessageTurkish()
is added for Turkish language.SetTextMessageAbbrevations()
is added for English abbrevations.
v2.4.0 Naming ETA for double and bugfixes.
Compare with previous
On this release;
NameETA series for double data type
NameETA(double etaTime)
,NameETAUnsafe(double etaTime)
,NameETABetterVisual(double etaTime)
,NameETABetterVisualUnsafe(double etaTime)
NumberFormatETA(double etaTime)
andNumberFormatETAUnsafe(double etaTime)
methods are added underReport.cs
.
Bugfix
NameETABetterVisual(long? etaTimeInMs)
,NameETABetterVisual(double? etaTime)
,NameETABetterVisualUnsafe(long etaTimeInMs)
andNameETABetterVisualUnsafe(double etaTime)
was adding additional space.
Overuse
ClearListInDouble()
,ClearListInLong()
,GetCountListInDouble()
andGetCountListInLong()
method are added underReport.cs
. So after list is used, list can be cleared and used again.
v2.3.0 Localizations
On this release;
Localisations for visual output are available.
Packages used to enchance visual output. ConsoleHelper, PreFill
Under Visualisation.cs
TextMessage
class is added. TextMessage class has various text indicators that are used in methods.
For NameETA()
, NameETAUnsafe()
methods
TextSecondOptionalPlural
,TextMinuteOptionalPlural
,TextHourOptionalPlural
,TextDayOptionalPlural
,
For NameETABetterVisual()
, NameETABetterVisualUnsafe()
TextSecond
,TextMinute
,TextHour
,TextDay
,TextSeconds
TextMinutes
,TextHours
,TextDays
,
For NameETA()
, NameETABetterVisual()
, NumberFormatETA()
TextUncalculatable
,TextNegative
,TextTooLong
,TextAnd
TextNumberFormatSeperator
v2.1.0 Multi-target frameworks support
On this release;
Multi-target frameworks support is added. (net6.0; net7.0; net461; netcoreapp3.1; netstandard2.0)
v1.7.3
On this release;
-
Fixing naming conventions.
-
Private variable for multi-thread methods renamed from
_counter
intos_counter
and from_counterUInt
intos_counterUint
to indicate these variables are static even though they are not publicly visible.
v1.7.1
On this release;
Methods are splitted into three partial class of CalculateETA. Groups are named seperated by single-thread, multi-thread and common visual formatting. Multi-processors group will be offered as different partial class due to changing parameters data type. See https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/volatile for volitile.
Also, comments are improved to describe reason of TimeSpan(long: ticks) is only used on common visual formatting and internal parameters inside of multi-thread section counter, counteruint are renamed as in order of _counter and _counterUint because they are internal parameters.
This version won't be publish as NuGet package.
v1.7.0 HighDense
On this release;
-
Eight new methods are added among previous ones. HighDense methods allow you to calculate estimated time when iteration takes less than one millisecond which leads 0 second result.
-
HighDense methods are using casting of internal variables which consumes more resource than other available methods.
v1.6.1 HotFix
On this release;
-
fixes calculations on four
CalcETA()
methods thatTimeSpan
is provided as input parameter. Adding additional information about return parameter summary. Fixing wrong parameter name on methods that usetotalElapsedTicks
andfrequency
as parameters which users don't get affected on calculations. Adding warning forfrequency
parameter should be provided withticksPerMilliseconds
. -
To increase precision,
CalcETA()
methods that useTimeSpan
as input parameters now usesTimeSpan.TotalMilliseconds
instead ofTimeSpan.TotalSeconds
.
v1.6.0 Unsafe visual output & index, frequency checking.
Compare with previous
On this release;
- Adds four different unsafe visual output among safe ones.
TimeSpanETAUnsafe()
,NumberFormatETAUnsafe()
,NameETAUnsafe()
andNameETABetterVisualUnsafe()
. totalSeconds
variables renamed intoelapsedSeconds
.- Additional checking is added for value check of
index
andfrequency
on available safe methods.
v1.5.0
Compare with previous
On this release;
-
Every lines of codes now have their comments.
-
CalcETA()
andCalcETAUnsafe()
methods were usingint
/uint
,long
orTimeSpan
input paraemters and values were being checked for if they werezero
. Not input data types are replaced with nullable onesint?
/uint?
,long?
orTimeSpan?
CalculateETA is usingindex
: as a dividor to calculate thereforeindex
value must not bezero
anymore. User may callCalcETA(index: index++, totalIndex: totalIndex++)
until further changes in methods. -
TickFrequency
is replaced withfrequency
becauseStopWatch
offers tick offrequency
withFrequency
.
https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.stopwatch.frequency?view=net-7.0 -
avarageElapsedTime
variable is renamed intoavarageElapsedTimeInMs
to indicate it is in milliseconds. -
TimeSpanETA()
was returningTimeSpan.Zero
while input parameteretaTimeInMs
is null. NotTimeSpanETA()
returnnull
. -
TimeSpanETA()
,NumberFormatETA()
,NameETA()
andNameETABetterVisual()
were usingTimeSpan(int, int, int, int, int milliseconds)
. Because ofint
's value limit maximum left time was being calculated as 25 days. With usingTimeSpan(ticks:)
precision of calculating of left time is increased.
https://learn.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=msvc-170 -
NameETA()
andNameETABetterVisual()
was also returning value with milliseconds ifetaTimeInMs
is shorter than 1000. This section is commented out for better performance.