Exemplo n.º 1
0
        public bool Execute(Pointer pointer, IRunicContext context)
        {
            object a = pointer.Pop();

            if (a is ValueType)
            {
                MathHelper.NumericRelationship r = MathHelper.Compare((ValueType)a, 0);
                if (r != MathHelper.NumericRelationship.EqualTo)
                {
                    int b = (int)MathHelper.GetValue((ValueType)a);
                    pointer.SetSkip(System.Math.Max(1, b));
                }
            }
            else
            {
                if (a == null)
                {
                    pointer.SetSkip(1);
                }
                else
                {
                    pointer.Push(a);
                }
            }
            return(true);
        }
Exemplo n.º 2
0
        public bool Execute(Pointer pointer, IRunicContext context)
        {
            object a = pointer.Pop();
            object b = pointer.Pop();

            if (a is ValueType && b is ValueType)
            {
                MathHelper.NumericRelationship q = MathHelper.Compare((ValueType)b, (ValueType)a);
                bool r        = q == MathHelper.NumericRelationship.LessThan;
                char modifier = context.GetModifier(pointer.position.x, pointer.position.y);
                if (modifier == '̸' || modifier == '͍')
                {
                    r = !r;
                }
                pointer.Push(r ? 1 : 0);
            }
            return(true);
        }