예제 #1
0
        /// <inheritdoc />
        protected override Value cloneValue()
        {
            AnyFloatValue value = new AnyFloatValue();

            value.setStorage(getStorage());
            return(value);
        }
예제 #2
0
        /// <inheritdoc />
        public override void VisitAnyFloatValue(AnyFloatValue value)
        {
            result = ArithmeticOperation.AbstractFloatArithmetic(Snapshot, operation);
            if (result != null)
            {
                return;
            }

            base.VisitAnyFloatValue(value);
        }
예제 #3
0
        /// <inheritdoc />
        public override void VisitAnyFloatValue(AnyFloatValue value)
        {
            switch (operation)
            {
            case Operations.Identical:
            case Operations.NotIdentical:
                result = OutSet.AnyBooleanValue;
                break;

            default:
                base.VisitAnyFloatValue(value);
                break;
            }
        }
예제 #4
0
        /// <inheritdoc />
        public override void VisitAnyFloatValue(AnyFloatValue value)
        {
            switch (operation)
            {
            case Operations.Identical:
                result = OutSet.CreateBool(false);
                break;

            case Operations.NotIdentical:
                result = OutSet.CreateBool(true);
                break;

            default:
                base.VisitAnyFloatValue(value);
                break;
            }
        }
예제 #5
0
        /// <inheritdoc />
        public override void VisitAnyFloatValue(AnyFloatValue value)
        {
            switch (operation)
            {
            case Operations.Minus:
                result = value;
                break;

            case Operations.BitNegation:
                result = OutSet.AnyIntegerValue;
                break;

            default:
                base.VisitAnyFloatValue(value);
                break;
            }
        }
예제 #6
0
        /// <inheritdoc />
        public override void VisitAnyFloatValue(AnyFloatValue value)
        {
            // When comparing, both operands are converted to boolean
            switch (operation)
            {
            case Operations.BitOr:
            case Operations.BitXor:
                result = OutSet.AnyIntegerValue;
                break;

            default:
                result = ArithmeticOperation.AbstractFloatArithmetic(Snapshot, operation);
                if (result != null)
                {
                    break;
                }

                base.VisitAnyFloatValue(value);
                break;
            }
        }
예제 #7
0
        /// <inheritdoc />
        public override void VisitAnyFloatValue(AnyFloatValue value)
        {
            switch (operation)
            {
            case Operations.Identical:
                result = OutSet.CreateBool(false);
                break;

            case Operations.NotIdentical:
                result = OutSet.CreateBool(true);
                break;

            default:
                result = ArithmeticOperation.AbstractFloatArithmetic(Snapshot, operation);
                if (result != null)
                {
                    return;
                }

                base.VisitAnyFloatValue(value);
                break;
            }
        }
예제 #8
0
 /// <inheritdoc />
 public override void VisitAnyFloatValue(AnyFloatValue value)
 {
     containsFloat = true;
     minFloat      = Math.Min(minFloat, double.MinValue);
     maxFloat      = Math.Max(maxFloat, double.MaxValue);
 }
예제 #9
0
 /// <inheritdoc />
 public override void VisitAnyFloatValue(AnyFloatValue value)
 {
     numberFound();
 }
예제 #10
0
 /// <inheritdoc />
 public override void VisitAnyFloatValue(AnyFloatValue value)
 {
     result = value;
 }
예제 #11
0
 /// <inheritdoc />
 public override void VisitAnyFloatValue(AnyFloatValue value)
 {
     anyFloatVisitor.SetLeftOperand(value);
     visitor = anyFloatVisitor;
 }