Beispiel #1
0
    /// <summary>
    /// Эта функция определяет, являеться ли времена a и b одними и теми же событиями с учетом погрешности измерения prem в наносекундах
    /// </summary>
    /// <param name="a">Что сравниваем</param>
    /// <param name="b">С чем сраваем</param>
    /// <param name="prem">Погрешность измерения (в наносекундах)</param>
    /// <returns>True, если |a-b|&lt;=c. False, если нет.</returns>
    public static bool is_A_EventSimulB(DateNanos a, DateNanos b, int prem)
    {
        DateNanos c = new DateNanos(0, 0, 0, 0, 0, 0, (short)prem);

        c.makeCorrect();
        a.makeCorrect();
        b.makeCorrect();
        short comp = a.compare(b);

        if (comp == 0)
        {
            return(true);
        }
        else if (comp == -1)
        {
            if ((b - a) <= c)
            {
                return(true);
            }
        }
        else if (comp == 1)
        {
            if ((a - b) <= c)
            {
                return(true);
            }
        }

        return(false);
    }
Beispiel #2
0
 /// <summary>
 /// Возвращает разницу между временем данного экземпляра и аргумента, выраженную в наносекундах.<para>
 /// при слишком большом значении памяти ulong может не хватить!!!</para>
 /// </summary>
 /// <param name="a">То, что сравнивать</param>
 /// <param name="b">То, с чем сравнивать</param>
 /// <returns>Разница, в наносекундах</returns>
 static public ulong difference(DateNanos a, DateNanos b)
 {
     if (a.compare(b) > 0)
     {
         a.subtract(b);
         return(a.getNanos());
     }
     else if (a.compare(b) < 0)
     {
         b.subtract(a);
         return(b.getNanos());
     }
     else
     {
         return(0);
     }
 }