public void ShouldGenroot() { Assert.AreEqual(0, MatLib.genroot(0, 10)); Assert.AreEqual(1, MatLib.genroot(1, 1)); Assert.AreEqual(-2, MatLib.genroot(-8, 3)); Assert.AreEqual(5, MatLib.genroot(25, 2)); Assert.AreEqual(100, MatLib.genroot(100000000, 4)); Assert.AreEqual(3.684031498640386, MatLib.genroot(50, 3), Accuracy); Assert.AreNotEqual(1.9, MatLib.genroot(22.7, 5), Accuracy); Assert.AreNotEqual(-1.9, MatLib.genroot(-22.7, 5), Accuracy); try { MatLib.genroot(10, 0); Assert.Fail("Chyba, nepatri do oboru realnych cisel."); } catch { } try { MatLib.genroot(-8, 2); Assert.Fail("Chyba, nepatri do oboru realnych cisel."); } catch { } }
public void ShouldLog10() { Assert.AreEqual(1, MatLib.log10(10)); Assert.AreEqual(6, MatLib.log10(1000000)); Assert.AreEqual(1.6232492903979, MatLib.log10(42), Accuracy); Assert.AreEqual(1.1760912590556, MatLib.log10(15), Accuracy); Assert.AreNotEqual(3, MatLib.log10(999), Accuracy); Assert.AreNotEqual(1.1, MatLib.log10(11), Accuracy); try { MatLib.log10(-1); Assert.Fail("Chyba, nedefinovana hodnota."); } catch { } try { MatLib.log10(0); Assert.Fail("Chyba, nedefinovana hodnota."); } catch { } }
public void ShouldPower() { Assert.AreEqual(1, MatLib.power(1, 1)); Assert.AreEqual(1, MatLib.power(1, 10)); Assert.AreEqual(1, MatLib.power(1, 0)); Assert.AreEqual(1, MatLib.power(10, 0)); Assert.AreEqual(1, MatLib.power(0, 0)); Assert.AreEqual(0, MatLib.power(0, 10)); Assert.AreEqual(2, MatLib.power(2, 1)); Assert.AreEqual(1024, MatLib.power(2, 10)); Assert.AreEqual(27, MatLib.power(3, 3)); Assert.AreEqual(-27, MatLib.power(-3, 3)); Assert.AreEqual(81, MatLib.power(-3, 4)); Assert.AreEqual(2.25, MatLib.power(1.5, 2), Accuracy); Assert.AreEqual(915.0625, MatLib.power(5.5, 4), Accuracy); Assert.AreEqual(915.0625, MatLib.power(-5.5, 4), Accuracy); Assert.AreEqual(-5032.84375, MatLib.power(-5.5, 5), Accuracy); Assert.AreNotEqual(105, MatLib.power(10, 3)); try { MatLib.power(0, -1); Assert.Fail("Chyba, delenie nulou."); } catch { } }
public void ShouldDivide() { try { MatLib.divide(1, 0); Assert.Fail("Chyba, delenie nulou."); } catch { } try { MatLib.divide(-549.41268, 0); Assert.Fail("Chyba, delenie nulou."); } catch { } Assert.AreEqual(1, MatLib.divide(1, 1)); Assert.AreEqual(100, MatLib.divide(100, 1)); Assert.AreEqual(0.01, MatLib.divide(1, 100), Accuracy); Assert.AreEqual(5, MatLib.divide(50, 10)); Assert.AreEqual(-5, MatLib.divide(50, -10)); Assert.AreEqual(5, MatLib.divide(-50, -10)); Assert.AreEqual(0, MatLib.divide(0, 10)); Assert.AreEqual(10, MatLib.divide(5, 0.5), Accuracy); Assert.AreEqual(100, MatLib.divide(1, 0.01), Accuracy); Assert.AreEqual(0.6480482716, MatLib.divide(4.4893192, 6.92744568), Accuracy); Assert.AreNotEqual(0.6, MatLib.divide(4.4893192, 6.92744568), Accuracy); Assert.AreNotEqual(0.4, MatLib.divide(0.1601, 4)); Assert.AreNotEqual(10, MatLib.divide(0, 10)); }
/** * @brief Výpočet sumy druhých mocnín prvkov * * @param list Zoznam double, z ktorého vypočítať sumu druhých mocnín prvkov * @return Suma druhých mocnín */ public static double GetSumSqr(List <double> list) { int N = list.Count; double sum = 0; for (int i = 0; i < N; i++) { sum = MatLib.add(sum, MatLib.square(list[i])); } return(sum); }
public void ShouldSquare() { Assert.AreEqual(1, MatLib.square(1)); Assert.AreEqual(0, MatLib.square(0)); Assert.AreEqual(1, MatLib.square(-1)); Assert.AreEqual(10000, MatLib.square(100)); Assert.AreEqual(1.5625, MatLib.square(1.25), Accuracy); Assert.AreEqual(0.010201, MatLib.square(0.101), Accuracy); Assert.AreEqual(3, MatLib.square(1.73205080756), Accuracy); Assert.AreNotEqual(15, MatLib.square(4)); Assert.AreNotEqual(16, MatLib.square(4.1), Accuracy); }
public void ShouldAdd() { Assert.AreEqual(9, MatLib.add(4, 5)); Assert.AreEqual(0, MatLib.add(-5, 5)); Assert.AreEqual(0, MatLib.add(0, 0)); Assert.AreEqual(100000000, MatLib.add(60000000, 40000000)); Assert.AreEqual(1, MatLib.add(0.4, 0.6), Accuracy); Assert.AreEqual(11.41676488, MatLib.add(4.4893192, 6.92744568), Accuracy); Assert.AreEqual(-11.41676488, MatLib.add(-4.4893192, -6.92744568), Accuracy); Assert.AreNotEqual(25, MatLib.add(0, -25)); Assert.AreNotEqual(0, MatLib.add(-5, -5)); Assert.AreNotEqual(0, MatLib.add(0.00001, 0.00001)); Assert.AreNotEqual(11.41676488, MatLib.add(4.9993192, 6.99944568), Accuracy); }
public void ShouldSubtract() { Assert.AreEqual(10, MatLib.subtract(10, 0)); Assert.AreEqual(-10, MatLib.subtract(0, 10)); Assert.AreEqual(0, MatLib.subtract(5, 5)); Assert.AreEqual(0, MatLib.subtract(0, 0)); Assert.AreEqual(20000000, MatLib.subtract(60000000, 40000000)); Assert.AreEqual(-0.2, MatLib.subtract(0.4, 0.6), Accuracy); Assert.AreEqual(0.2, MatLib.subtract(-0.4, -0.6), Accuracy); Assert.AreEqual(-2.43812648, MatLib.subtract(4.4893192, 6.92744568), Accuracy); Assert.AreEqual(2.43812648, MatLib.subtract(-4.4893192, -6.92744568), Accuracy); Assert.AreNotEqual(0, MatLib.subtract(10, -10)); Assert.AreNotEqual(0, MatLib.subtract(-10, 10)); Assert.AreNotEqual(10, MatLib.subtract(-10, 20)); Assert.AreNotEqual(-50, MatLib.subtract(0, -50.0000357)); }
public void ShouldFactorial() { Assert.AreEqual(120, MatLib.factorial(5)); Assert.AreEqual(1, MatLib.factorial(1)); Assert.AreEqual(3628800, MatLib.factorial(10)); Assert.AreEqual(1, MatLib.factorial(0)); Assert.AreNotEqual(120.00001, MatLib.factorial(5)); try { MatLib.factorial(-1); Assert.Fail("Chyba, faktoriál musí byť minimálne 0."); } catch { } }
/** * @brief Výpočet smerodajnej odchýlky * * @param list Zoznam double, z ktorého vypočítať smerodajnú odchýlku * @return Smerodajná odchýlka */ public static double GetStandartDeviation(List <double> list) { int N = list.Count; double tmp = MatLib.subtract(GetSumSqr(list), MatLib.multiply(N, MatLib.square(GetArithmeticMean(list)))); try { tmp = MatLib.divide(tmp, N - 1); } catch (DivideByZeroException e) { Console.WriteLine("{0}", e.Message); Console.WriteLine("Press any key to continue . . ."); Console.Read(); Environment.Exit(-1); } tmp = MatLib.sqrt(tmp); return(tmp); }
public void ShouldSqrt() { Assert.AreEqual(0, MatLib.sqrt(0)); Assert.AreEqual(1, MatLib.sqrt(1)); Assert.AreEqual(1.414213562373, MatLib.sqrt(2), Accuracy); Assert.AreEqual(5, MatLib.sqrt(25)); Assert.AreEqual(0.707106781186547, MatLib.sqrt(0.5), Accuracy); Assert.AreEqual(387.2989801174281, MatLib.sqrt(150000.5), Accuracy); Assert.AreNotEqual(1000, MatLib.sqrt(999999), Accuracy); try { MatLib.sqrt(-1); Assert.Fail("Chyba, nepatri do oboru realnych cisel."); } catch { } }
/** * @brief Výpočet aritmetického priemeru * * @param list Zoznam double, z ktorého vypočítať priemer * @return Aritmetický priemer */ public static double GetArithmeticMean(List <double> list) { int N = list.Count; double res = 0, sum = 0; for (int i = 0; i < N; i++) { sum = MatLib.add(sum, list[i]); } try { res = MatLib.divide(sum, N); } catch (DivideByZeroException e) { Console.WriteLine("{0}", e.Message); Console.WriteLine("Press any key to continue . . ."); Console.Read(); Environment.Exit(-1); } return(res); }
public void ShouldMultiply() { Assert.AreEqual(1, MatLib.multiply(1, 1)); Assert.AreEqual(0, MatLib.multiply(1, 0)); Assert.AreEqual(0, MatLib.multiply(100000, 0)); Assert.AreEqual(0, MatLib.multiply(0, 100000)); Assert.AreEqual(4, MatLib.multiply(2, 2)); Assert.AreEqual(-4, MatLib.multiply(2, -2)); Assert.AreEqual(6, MatLib.multiply(-2, -3)); Assert.AreEqual(625, MatLib.multiply(25, 25)); Assert.AreEqual(1.805375, MatLib.multiply(1.625, 1.111), Accuracy); Assert.AreEqual(-1.805375, MatLib.multiply(-1.625, 1.111), Accuracy); Assert.AreEqual(-1.805375, MatLib.multiply(1.625, -1.111), Accuracy); Assert.AreEqual(1.805375, MatLib.multiply(-1.625, -1.111), Accuracy); Assert.AreEqual(0.0009, MatLib.multiply(9, 0.0001), Accuracy); Assert.AreNotEqual(100, MatLib.multiply(10, -10)); Assert.AreNotEqual(0.13, MatLib.multiply(0.4, 0.3)); Assert.AreNotEqual(-10000, MatLib.multiply(-100, -100)); Assert.AreNotEqual(-0.002, MatLib.multiply(0.0002, -0.1), Accuracy); }
public void AddMat(int id, Material Mat) { MatLib.Add(id, Mat); }