Exemplo n.º 1
0
        //public static Signal Constant(Context context, ValueStructure value)
        //{
        //    Signal s = new Signal(context, value);
        //    s.Label = "Constant_" + value.ToString();
        //    s.AddConstraint(Properties.ConstantSignalProperty.Instance);
        //    return s;
        //}

        public static bool IsConstant(Signal signal)
        {
            if (signal == null)
            {
                throw new ArgumentNullException("signal");
            }

            return(signal.AskForProperty("Constant", "Std"));
        }
Exemplo n.º 2
0
        //public static bool IsConstantZero(Signal signal)
        //{
        //    return IsConstant(signal) && (signal.Value.ToString() == "0");
        //}
        //public static bool IsConstantOne(Signal signal)
        //{
        //    return IsConstant(signal) && (signal.Value.ToString() == "1");
        //}

        /// <summary>
        /// Whether the signal is restricted to be an integer > 0, that is one of 1,2,3,...
        /// </summary>
        public static bool IsAlwaysPositiveInteger(Signal signal)
        {
            if (signal == null)
            {
                throw new ArgumentNullException("signal");
            }

            return(signal.AskForProperty("PositiveIntegerSet", "Std") ||
                   IsConstant(signal) && IntegerValue.Converter.CanConvertLosslessFrom(signal.Value) && IntegerValue.ConvertFrom(signal.Value).Value > 0);
        }
Exemplo n.º 3
0
        public static bool IsAlwaysRational(Signal signal)
        {
            if (signal == null)
            {
                throw new ArgumentNullException("signal");
            }

            return(signal.AskForProperty("RationalSet", "Std") ||
                   IsConstant(signal) && RationalValue.Converter.CanConvertLosslessFrom(signal.Value) ||
                   IsAlwaysInteger(signal));
        }
Exemplo n.º 4
0
 public static bool IsAlwaysReal(Signal signal)
 {
     return(signal.AskForProperty("RealSet", "Std") ||
            IsConstant(signal) && RealValue.Converter.CanConvertLosslessFrom(signal.Value) ||
            IsAlwaysRational(signal));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Whether the signal is restricted to be an integer, that is one of ...,-3,-2,-1,0,1,2,3,...
 /// </summary>
 public static bool IsAlwaysInteger(Signal signal)
 {
     return(signal.AskForProperty("IntegerSet", "Std") ||
            IsConstant(signal) && IntegerValue.Converter.CanConvertLosslessFrom(signal.Value) ||
            IsAlwaysNonnegativeInteger(signal));
 }
Exemplo n.º 6
0
        //public static Signal Constant(Context context, ValueStructure value)
        //{
        //    Signal s = new Signal(context, value);
        //    s.Label = "Constant_" + value.ToString();
        //    s.Properties.AddProperty(Properties.ConstantSignalProperty.Instance);
        //    return s;
        //}

        public static bool IsConstant(Signal signal)
        {
            return(signal.AskForProperty("Constant", "Std"));
        }