示例#1
0
            public override Item Or(Item other)
            {
                switch (other)
                {
                case Integer number: return(New(Value | number.Value));

                case Long number:    return(Long.New(Value | number.Value));

                case Float number:   return(Float.New(nz(Value) | nz(number.Value)));

                case Double number:  return(Double.New(nz(Value) | nz(number.Value)));

                default:             return(base.Or(other));
                }
            }
示例#2
0
            public override Item Divide(Item other)
            {
                switch (other)
                {
                case Integer number: return(New(Value / number.Value));

                case Long number:    return(Long.New(Value / number.Value));

                case Float number:   return(Float.New(Value / number.Value));

                case Double number:  return(Double.New(Value / number.Value));

                default:             return(base.Divide(other));
                }
            }
示例#3
0
            public override Item And(Item other)
            {
                switch (other)
                {
                case Integer number: return(New(Value & number.Value));

                case Long number:    return(Long.New(Value & number.Value));

                case Float number:   return(New(nz(Value) & nz(number.Value)));

                case Double number:  return(New(nz(Value) & nz(number.Value)));

                default:             return(base.And(other));
                }
            }
示例#4
0
            public override Item Plus(Item other)
            {
                switch (other)
                {
                case Integer number: return(New(Value + number.Value));

                case Long number:    return(Long.New(Value + number.Value));

                case Float number:   return(Float.New(Value + number.Value));

                case Double number:  return(Double.New(Value + number.Value));

                case Object obj:     return(Object.New(Value.ToString() + obj.Value));

                default:             return(base.Plus(other));
                }
            }