예제 #1
0
 public static float IndexBodyMass(float wieght, NamedLimit wieghtLimit, float hieght, NamedLimit hieghtLimit, int flag = 0)
 {
     // Проверка аргументов
     if (wieght == 0)
     {
         throw new ArgumentOutOfRangeException(@"Аргумент вес не может быть равен нулю!");
     }
     // Хотя в математическом плане противоречий нет, но по логике программы проверяе и второй аргумент
     if (hieght == 0)
     {
         throw new ArgumentOutOfRangeException(@"Аргумент рост не может быть равен нулю!");
     }
     //
     // Проверка соответствия аргументов пределам
     //
     if (!ArgumentExamination(ref wieght, wieghtLimit))
     {
         throw new ArgumentOutOfRangeException(@"Первый аргумент выходит из предела!");
     }
     //
     if (!ArgumentExamination(ref hieght, hieghtLimit))
     {
         throw new ArgumentOutOfRangeException(@"Второй аргумент выходит из предела!");
     }
     //
     return(wieght / (hieght * hieght));
 }
예제 #2
0
 public static Task <float> IndexBodyMassAsync(float wieght, NamedLimit wiegthLimit, float hiegth, NamedLimit hiegthLimit, int flag = 0)
 {
     return(Task.Run(() =>
     {
         return IndexBodyMass(wieght, wiegthLimit, hiegth, hiegthLimit);
     }));
 }
예제 #3
0
 public static bool ArgumentExamination(ref float argument, NamedLimit limit)
 {
     return(argument < limit.Limit.Lower || argument > limit.Limit.Upper ? false : true);
 }