public Deltas(CourseItem[] data) { var deltaArr = new DeltaArr(data); GPos = deltaArr.positive.Length == 0 ? 0 : deltaArr.positive.Sum() / deltaArr.positive.Length; GNeg = deltaArr.negative.Length == 0 ? 0 : deltaArr.negative.Sum() / deltaArr.negative.Length; G = GPos + GNeg; }
public Grad(CourseItem[] data) { if (SmallDataConstructor(data)) { return; } var deltaArr = new DeltaArr(data); GPos = deltaArr.positive.Length == 0 ? 0 : deltaArr.positive.Sum() / deltaArr.positive.Length; GNeg = deltaArr.negative.Length == 0 ? 0 : deltaArr.negative.Sum() / deltaArr.negative.Length; G = GPos + GNeg; }
public GradSkv(CourseItem[] data) { if (SmallDataConstructor(data)) { return; } var deltaArr = new DeltaArr(data); GPos = deltaArr.positive.Length == 0 ? 0 : Math.Sqrt(deltaArr.positive.Sum(d => d * d / deltaArr.all.Length)); GNeg = deltaArr.negative.Length == 0 ? 0 : -Math.Sqrt(deltaArr.negative.Sum(d => d * d / deltaArr.all.Length)); double sumSq = deltaArr.all.Length == 0? 0 : deltaArr.all.Sum(d => d * d * Math.Sign(d)) / deltaArr.all.Length; G = Math.Sign(sumSq) * Math.Sqrt(Math.Abs(sumSq)); }