Esempio n. 1
0
        public Robot(int targetX, int targetY, short accumulator = 150)
        {
            TurnBy(0);

            Target      = new RVector(targetX, targetY);
            Accumulator = accumulator;
        }
Esempio n. 2
0
        public void RObjectTest()
        {
            RNumber  rn = new RNumber(1);
            RLogical rl = new RLogical(false);
            RString  rs = new RString("abc");

            RVector <RString> rvs = new RVector <RString>(RMode.Character, 1);
            RVector <RNumber> rvn = new RVector <RNumber>(RMode.Numeric, 2);

            rs.IsString.Should().BeTrue();
            rn.IsString.Should().BeFalse();
            rl.IsString.Should().BeFalse();

            rs.IsNumber.Should().BeFalse();
            rn.IsNumber.Should().BeTrue();
            rl.IsNumber.Should().BeFalse();

            rs.IsScalar.Should().BeTrue();
            rn.IsScalar.Should().BeTrue();
            rl.IsScalar.Should().BeTrue();

            rs.IsBoolean.Should().BeFalse();
            rn.IsBoolean.Should().BeFalse();
            rl.IsBoolean.Should().BeTrue();

            rvs.IsScalar.Should().BeTrue();
            rvn.IsScalar.Should().BeFalse();

            rvs.IsString.Should().BeTrue();
            rvn.IsNumber.Should().BeFalse();
        }
Esempio n. 3
0
        public static RVector Logistic(RVector vector)
        {
            var result = new RVector(vector.Length);

            for (int i = 0; i < vector.Length; i++)
            {

                result[i] = Logistic(vector[i]);

            }
            return result;
        }
        public RVectorViewModel(IRVector rVector)
        {
            foreach (var value in rVector.Vector)
            {
                var vector = new Vector
                {
                    Value      = value,
                    BasisValue = value.GetPBasis(rVector.Basis)
                };

                RVector.Add(vector);
            }
        }
Esempio n. 5
0
        public void RVectorTest()
        {
            var rv = new RVector <RLogical>(RMode.Logical, 2);

            rv.Length.Should().Be(2);
            rv.Mode.Should().Be(RMode.Logical);
            rv.IsBoolean.Should().BeFalse();

            rv[0] = new RLogical(false);
            rv[1] = new RLogical(true);

            rv[0].Should().Be(RLogical.FALSE);
            rv[1].Should().Be(RLogical.TRUE);

            rv = new RVector <RLogical>(RMode.Logical, 1);
            rv.IsBoolean.Should().BeTrue();
        }
Esempio n. 6
0
        public void RListTest()
        {
            RList rl = new RList();

            rl.Mode.Should().Be(RMode.List);
            rl.Should().BeEmpty();

            var e = rl.GetEnumerator();

            e.Should().NotBeNull();

            e.MoveNext().Should().BeFalse();

            RObject rv = new RVector <RNumber>(RMode.Numeric, 1);
            var     rs = new RString("abc");

            rl.Add(rs, rv);
            rl.Should().HaveCount(1);

            var e1 = rl.Keys.GetEnumerator();

            e1.MoveNext();
            e1.Current.Should().Be(rs);
            e1.Current.Should().Be(new RString("abc"));

            var e2 = rl.Values.GetEnumerator();

            e2.MoveNext();
            e2.Current.Should().Be(rv);

            rl.ContainsKey(rs).Should().BeTrue();
            rl.ContainsKey(new RString("abc")).Should().BeTrue();

            rl.Contains(new KeyValuePair <RString, RObject>(rs, rv)).Should().BeTrue();

            var arr = new KeyValuePair <RString, RObject> [2];

            rl.CopyTo(arr, 1);

            arr[1].Key.Should().Be(rs);
            arr[1].Value.Should().Be(rv);

            rl[rs].Should().Be(rv);
            rl.IsReadOnly.Should().BeFalse();

            RObject u;

            rl.TryGetValue(rs, out u).Should().BeTrue();

            var en = rl.GetEnumerator();

            en.Should().NotBeNull();
            en.MoveNext().Should().BeTrue();
            en.Current.Key.Should().Be(rs);
            en.Current.Value.Should().Be(rv);
            en.MoveNext().Should().BeFalse();

            IEnumerator <RObject> en1 = ((IEnumerable <RObject>)rl).GetEnumerator();

            en1.Should().NotBeNull();
            en1.MoveNext().Should().BeTrue();
            en1.Current.Should().Be(rv);
            en1.MoveNext().Should().BeFalse();

            IEnumerator <KeyValuePair <RString, RObject> > en2 = ((IEnumerable <KeyValuePair <RString, RObject> >)rl).GetEnumerator();

            en2.Should().NotBeNull();
            en2.MoveNext().Should().BeTrue();
            en2.Current.Key.Should().Be(rs);
            en2.Current.Value.Should().Be(rv);
            en2.MoveNext().Should().BeFalse();

            IEnumerator en3 = ((IEnumerable)rl).GetEnumerator();

            en3.Should().NotBeNull();
            en3.MoveNext().Should().BeTrue();
            en3.MoveNext().Should().BeFalse();

            rl.Remove(rs).Should().BeTrue();
            rl.Should().BeEmpty();
            rl.ContainsKey(rs).Should().BeFalse();

            rl.Add(new KeyValuePair <RString, RObject>(new RString("x"), new RLogical(true)));
            rl.Length.Should().Be(1);
            rl.Count.Should().Be(1);
            rl.Clear();
            rl.Length.Should().Be(0);
            rl.Count.Should().Be(0);

            rl.TryGetValue(rs, out u).Should().BeFalse();
            u.Should().BeNull();
        }
Esempio n. 7
0
        /// <summary>
        /// Uniform Random Vector
        /// </summary>
        /// <param name="numElements"></param>
        /// <returns></returns>
        public static RVector UniformRandromVector(int numElements)
        {
            var vector = new RVector(numElements);

            Parallel.For(0, numElements, i =>
                                             {
                                                 vector[i] = GetRandomDouble();
                                             });
            return vector;
        }