SetTextMessageTurkish()
method added for setting all text messages that are used by naming ETA Turkish. #78SetTextMessageAbbrevations()
method added for setting all text messages thatare used by naming ETA English abbrevations. #78PreventSurgeByPercentage(long? eta, double discretePercentage)
method added intoCorrection
PreventSurgeByPercentage(double? eta, double discretePercentage)
method added intoCorrection
PreventSurgeByValueRepeatence(long? eta)
method added intoCorrection
PreventSurgeByValueRepeatence(double? eta)
method added intoCorrection
MultiThreading
andReporting
are added. Instance of each can be used repeatedly and simultaneously.
Following methods' parameter names are simplified. #77
-
On
CalcETAAsync(int? index, int totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
parameter is replaced withelapsed
. -
On
CalcETAAsync(int totalIndex, long? totalElapsedTime)
methodtotalElapsedTime
parameter is replaced withelapsed
. -
On
NameETAAsync(long? etaTimeInMs)
methodetaTimeInMs
parameter is replaced witheta
. -
On
NameETA(long? etaTimeInMs)
methodetaTimeInMs
parameter is replaced witheta
. -
On
NameETA(double? etaTime)
methodetaTime
parameter is replaced witheta
. -
On
NameETAUnsafe(long etaTimeInMs)
methodetaTimeInMs
parameter is replaced witheta
. -
On
NameETAUnsafe(double etaTime)
methodetaTime
parameter is replaced witheta
. -
On
NameETABetterVisual(long? etaTimeInMs)
methodetaTimeInMs
parameter is replaced witheta
. -
On
NameETABetterVisual(double? etaTime)
methodetaTime
parameter is replaced witheta
. -
On
NameETABetterVisualUnsafe(long etaTimeInMs)
methodètaTimeInMs
is replaced witheta
. -
On
NameETABetterVisualUnsafe(double etaTime)
methodetaTime
is replaced witheta
. -
On
NumberFormatETA(long? etaTimeInMs)
methodetaTimeInMs
is replaced witheta
. -
On
NumberFormatETA(double? etaTime)
methodetaTime
is replaced witheta
. -
On
NumberFormatETAUnsafe(long etaTimeInMs)
methodetaTimeInMs
is replaced witheta
. -
On
NumberFormatETAUnsafe(double etaTime)
methodetaTime
is replaced witheta
. -
On
TimeSpanETA(long? etaTimeInMs)
methodetaTimeInMs
is replaced witheta
. -
On
TimeSpanETA(double? etaTime)
methodetaTime
is replaced witheta
. -
On
TimeSpanETAUnsafe(long etaTimeInMs)
methodetaTimeInMs
is replaced wtiheta
. -
On
TimeSpanETAUnsafe(double etaTime)
methodetaTime
is replaced wìtheta
. -
On
AddReport(this long? etaTime)
methodetaTime
is replaced witheta
. -
On
AddReport(this double? etaTime)
methodetaTime
is replaced witheta
. -
On
CalcETA(uint? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETA(uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETA(int? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETA(int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAUnsafe(uint? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETAUnsafe(uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAUnsafe(int? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETAUnsafe(int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replacedelapsedTicks
. -
On
CalcETA(uint? index, uint? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeMs
is replaced withelapsed
. -
On
CalcETA(uint? index, uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETA(int? index, int? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETA(int? index, int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAUnsafe(uint? index, uint? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETAUnsafe(uint? index, uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAUnsafe(int? index, int? totalIndex, long? totalElapsedTimeInMs)
methodtotalElapsedTimeInMs
is replaced withelapsed
. -
On
CalcETAUnsafe(int? index, int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDense(uint? index, uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDense(int? index, int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDenseUnsafe(uint? index, uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDenseUnsafe(int? index, int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDense(uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDense(int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
On
CalcETAHighDenseUnsafe(uint? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
-
On
CalcETAHighDenseUnsafe(int? totalIndex, long? totalElapsedTicks, long? frequency)
methodtotalElapsedTicks
is replaced withelapsedTicks
. -
ResetCounterUint()
andResultCounter()
methods were unaccesible due to lack of marking them as static. Not they are marked as static.
NameETAUnSafe(double etaTime)
was marked as obsolote on version 2.4.0 with suggesting alternative asNameETAUnsafe(double etaTime)
due to hypo. Now obsolote method is removed.
CalcMultiThread.cs
andCalcSingleThread.cs
files are added.ClearListInDouble()
,ClearListInLong()
,GetCountListInDouble()
andGetCountListInLong()
method are added underReport.cs
.NameETA(double etaTime)
,NameETAUnsafe(double etaTime)
,NameETABetterVisual(double etaTime)
,NameETABetterVisualUnsafe(double etaTime)
NumberFormatETA(double etaTime)
andNumberFormatETAUnsafe(double etaTime)
methods are added underVisualization.cs
.
NameETAUnSafe(double etaTime)
renamed asNameETAUnsafe(double etaTime)
.NameETABetterVisual(long? etaTimeInMs)
,NameETABetterVisual(double? etaTime)
,NameETABetterVisualUnsafe(long etaTimeInMs)
andNameETABetterVisualUnsafe(double etaTime)
was adding additional space.
- Under
Visualisation.cs
TextMessage
class is added.TextSecondOptionalPlural
,TextMinuteOptionalPlural
,TextHourOptionalPlural
,TextDayOptionalPlural
,TextSecond
,TextMinute
,TextHour
,TextDay
,TextMinutes
,TextHours
,TextDays
,TextUncalculatable
,TextNegative
,TextTooLong
,TextAnd
andTextNumberFormatSeperator
can be set to choose whatNameETA(long? etaTimeInMs)
,NameETAUnsafe(long etaTimeInMs)
,NameETABetterVisual(long? etaTimeInMs)
,NameETABetterVisualUnsafe(long etaTimeInMs)
,NumberFormatETA(long? etaTimeInMs)
andNumberFormatETAUnsafe(long etaTimeInMs)
methods create string to return.
- Created reporting extension module. Following methods are added.
AddReport(long? eta)
,AddReport(double? eta)
,GetDoubleListReport()
,GetLongListReport()
#35 - Following
async
methods are added.CalcETAAsync(int? index, int? totalIndex, long? totalElapsedTimeInMs)
,CalcETAAsync(int? totalIndex, long? totalElapsedTimeInMs)
#38
Counter.cs
,HighDense.cs
,Visualization.cs
are added and certain methods are moved.- New design README.
- New design CHANGELOG.
- Methods are sorted.
- Wiki pages are added. Wiki link is under example of use section.
- Update README with cleaner view. Changelog link is added under task list section.
- Task list section is removed under README.
- Update CHANGELOG with cleaner view.
- LICENCE.md file renamed as LICENCE.
- Package tags are added.
- Multi-target frameworks support. (net6.0; net7.0; net461; netcoreapp3.1; netstandard2.0)
OutputDLL
folder is removed.
- Unnecessary casting removed.
- Framework is changed from .Net Core 3.1 to .Net 7.0
- Methods are sorted and splited into three (Single-thread, multi-thread and common visual formatting).
- Internal parameters naming fixed to avoid confusion.
- Comments are improved to describe reason of usage better.
CalcETAHighDense(int, uint)
,CalcETAHighDenseUnsafe(int, uint)
methods are added. Among available methods for CPU-intense applications, new four methods can be used for precision on fast iterations.
NumberFormatETA()
andNumberFormatETAUnsafe()
methods no longer return milliseconds as a part of return string.NumberFormatETA()
now returns"Too long"
if input parameter value causes calculations for more than a day.
- Fixed calculations on
CalcETA(int, int, TimeSpan)
,CalcETA(uint, uint, TimeSpan)
,CalcETAUnsafe(int, int, TimeSpan)
andCalcETAUnsafe(uint, uint, TimeSpan)
. - Fixed wrong parameter name on methods that use
totalElapsedTicks
andfrequency
as parameters. - Added missing return summaries.
- Added warning for
frequency
parameter should be provided withticksPerMilliseconds
.
- Added
TimeSpanETAUnsafe()
,NumberFormatETAUnsafe()
,NameETAUnsafe()
andNameETABetterVisualUnsafe()
methods.
totalSeconds
variables renamed intoelapsedSeconds
.- Additional checking is added for value check of
index
andfrequency
on available safe methods.
- Added comments to every lines of code.
- Added
DivideByZeroException
to methods when input parameterindex
is not longer being checkes for it waszero
.
CalcETA()
andCalcETAUnsafe()
methods, now using nullable parameters.CalcETA()
methods checks if given parameters arenull
instead ofzero
value.CalcETA(..., long tickFrequency)
method is now usingCalcETA(..., long? frequency)
avarageElapsedTime
variable is renamed intoavarageElapsedTimeInMs
.seconds
variable is renamed intoelapsedSeconds
.TimeSpanETA()
now returnsnull
instead ofTimeSpan.Zero
when input parameter isnull
instead of it iszero
value.TimeSpanETA()
,NumberFormatETA()
,NameETA()
,NameETABetterVisual()
now uses newTimeSpan(ticks: )
instead ofnew TimeSpan(0,0,0,0, milliseconds: (int)eTATimeInMs)
NameETA()
andNameETABetterVisual()
are no longer returning result as$"{etaTimeInMs:0} ms"
if input parameters is shorter then a second.
- Added
NameETABetterVisual()
for better reability on algorithms.
- Added
ReserCounterUint()
for multi-threaded iterations that useuint
asindex
ortotalindex
. - Added Unsafe methods for all methods to increase performance.
- Added methods uses
uint
data type rather thanint
to increase range.
- Output folder is renamed as OutputDLL
- Ready-to-use CalculateETA.dll and CalcualteETA.xml updated.
NameETA()
now returns left hour data while left time is more than one day.
- Bug on left time measurement is fixed.
- Added
ResetCounter()
method for reset the counter that hold int variable to calculate ETA on multi-thread applications.
Initial version.