public List <double> KesisimHesapla(double d, KESISIM k, int sekilIndex = -1) { switch (k) { case KESISIM.HASSASLIK: return(HassaslikVeMiktarKesisim(d, k, sekilIndex)); case KESISIM.MIKTAR: return(HassaslikVeMiktarKesisim(d, k, sekilIndex)); case KESISIM.KIRLILIK: return(KirlilikKesisim(d, sekilIndex)); } return(null); }
private List <double> HassaslikVeMiktarKesisim(double d, KESISIM k, int sekilIndex) { // [-4, -1.5, 2, 4] - [3, 5, 7] - [5.5, 8, 12.5, 14] var tempList = new List <string>(); List <double> kesisimler = new List <double>(); double d1, d2, d3; d1 = -1; d2 = -1; d3 = -1; if (d >= 0 && d <= 2) { d1 = 1; } else if (d >= 2 && d <= 4) { d1 = 1 - (d - 2) * (1 / Math.Abs((2.0) - (4))); } if (d >= 3 && d <= 5) { d2 = (d - 3) * (1 / Math.Abs((3.0) - (5.0))); } else if (d >= 5 && d <= 7) { d2 = 1 - (d - 5) * (1 / Math.Abs((5.0) - (7.0))); } if (d >= 5.5 && d <= 8) { d3 = (d - 5.5) * (1 / Math.Abs((5.5) - (8))); } else if (d >= 8 && d <= 12.5) { d3 = 1; } else if (d >= 12.5 && d <= 14) { d3 = 1 - ((d - 12.5) * (1 / Math.Abs((12.5) - (14.0)))); } if (d1 > -1) { tempList.Add(k == KESISIM.HASSASLIK ? "Sağlam" : "Küçük"); if (sekilIndex == -1 || sekilIndex == 0) { kesisimler.Add(d1); } } if (d2 > -1) { tempList.Add("Orta"); if (sekilIndex == -1 || sekilIndex == 1) { kesisimler.Add(d2); } } if (d3 > -1) { tempList.Add(k == KESISIM.HASSASLIK ? "Hassas" : "Büyük"); if (sekilIndex == -1 || sekilIndex == 2) { kesisimler.Add(d3); } } if (k == KESISIM.HASSASLIK) { _hassaslikList = tempList; } else { _miktarList = tempList; } if (kesisimler.Count == 0) { kesisimler.Add(-1); } return(kesisimler); }