Skip to content

Releases: meokullu/CalculateETA

3.0.0 Major update: Correction

08 May 21:48
9a92c29
Compare
Choose a tag to compare

Github releases (by release)

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.

19 Mar 16:44
c8c966c
Compare
Choose a tag to compare

Github releases (by release)

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) and NumberFormatETAUnsafe(double etaTime) methods are added under Report.cs.

Bugfix

  • NameETABetterVisual(long? etaTimeInMs), NameETABetterVisual(double? etaTime), NameETABetterVisualUnsafe(long etaTimeInMs) and NameETABetterVisualUnsafe(double etaTime) was adding additional space.

Overuse

  • ClearListInDouble(), ClearListInLong(), GetCountListInDouble() and GetCountListInLong() method are added under Report.cs. So after list is used, list can be cleared and used again.

v2.3.0 Localizations

19 Jan 16:04
323696e
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous

On this release;
Localisations for visual output are available.
Screenshot 2024-01-19 184641
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

14 Sep 20:31
ae36925
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous

On this release;
Multi-target frameworks support is added. (net6.0; net7.0; net461; netcoreapp3.1; netstandard2.0)

v1.7.3

30 Jul 01:44
a08fdb8
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous

On this release;

  • Fixing naming conventions.

  • Private variable for multi-thread methods renamed from _counter into s_counter and from _counterUInt into s_counterUint to indicate these variables are static even though they are not publicly visible.

v1.7.1

28 Jun 02:40
87c200a
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous

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

17 Jun 12:11
cb5e00e
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous

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

14 Jun 22:33
7a54433
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous

On this release;

  • fixes calculations on four CalcETA() methods that TimeSpan is provided as input parameter. Adding additional information about return parameter summary. Fixing wrong parameter name on methods that use totalElapsedTicks and frequency as parameters which users don't get affected on calculations. Adding warning for frequency parameter should be provided with ticksPerMilliseconds.

  • To increase precision, CalcETA() methods that use TimeSpan as input parameters now uses TimeSpan.TotalMilliseconds instead of TimeSpan.TotalSeconds.

v1.6.0 Unsafe visual output & index, frequency checking.

30 Apr 23:34
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous
On this release;

  • Adds four different unsafe visual output among safe ones. TimeSpanETAUnsafe(), NumberFormatETAUnsafe(), NameETAUnsafe() and NameETABetterVisualUnsafe().
  • totalSeconds variables renamed into elapsedSeconds.
  • Additional checking is added for value check of index and frequency on available safe methods.

v1.5.0

29 Apr 18:38
a27354f
Compare
Choose a tag to compare

Github releases (by release)

Compare with previous
On this release;

  • Every lines of codes now have their comments.

  • CalcETA() and CalcETAUnsafe() methods were using int/uint, long or TimeSpan input paraemters and values were being checked for if they were zero. Not input data types are replaced with nullable ones int?/uint?, long? or TimeSpan? CalculateETA is using index: as a dividor to calculate therefore index value must not be zero anymore. User may call CalcETA(index: index++, totalIndex: totalIndex++) until further changes in methods.

  • TickFrequency is replaced with frequency because StopWatch offers tick of frequency with Frequency.
    https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.stopwatch.frequency?view=net-7.0

  • avarageElapsedTime variable is renamed into avarageElapsedTimeInMs to indicate it is in milliseconds.

  • TimeSpanETA() was returning TimeSpan.Zero while input parameter etaTimeInMs is null. Not TimeSpanETA() return null.

  • TimeSpanETA(), NumberFormatETA(), NameETA() and NameETABetterVisual() were using TimeSpan(int, int, int, int, int milliseconds). Because of int's value limit maximum left time was being calculated as 25 days. With using TimeSpan(ticks:) precision of calculating of left time is increased.
    https://learn.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=msvc-170

  • NameETA() and NameETABetterVisual() was also returning value with milliseconds if etaTimeInMs is shorter than 1000. This section is commented out for better performance.