コード例 #1
0
        public static PineBool CrossOver(Pine xSource, Pine ySource)
        {
            IEnumerable <(double x, double y)> tuples = ZipEnd(xSource, ySource, (x, y) => (x, y));
            PineBool ret = new PineBool();

            (double x, double y)prev = tuples.First();
            ret.Add(prev.x == prev.y);
            tuples = tuples.Skip(1);
            foreach ((double x, double y)tupl in tuples)
            {
                ret.Add(tupl.x == tupl.y || (tupl.x > tupl.y && prev.x < prev.y));
                prev = tupl;
            }
            return(ret);
        }
コード例 #2
0
        public static PineBool ToPineBool(this IEnumerable <double?> source)
        {
            PineBool ret = new PineBool();

            foreach (double?num in source)
            {
                ret.Add(num != null);
            }
            return(ret);
        }
コード例 #3
0
        public static PineBool ToPineBool(this IEnumerable <bool> source)
        {
            PineBool ret = new PineBool();

            foreach (bool num in source)
            {
                ret.Add(num);
            }
            return(ret);
        }