private KecaknoahObject ExpressionOperation(KecaknoahILCodeType op, KecaknoahFloat target) { switch (op) { case KecaknoahILCodeType.Negative: return((-Value).AsKecaknoahInteger()); case KecaknoahILCodeType.Plus: return((Value + target.Value).AsKecaknoahFloat()); case KecaknoahILCodeType.Minus: return((Value - target.Value).AsKecaknoahFloat()); case KecaknoahILCodeType.Multiply: return((Value * target.Value).AsKecaknoahFloat()); case KecaknoahILCodeType.Divide: return((Value / target.Value).AsKecaknoahFloat()); case KecaknoahILCodeType.Modular: return((Value % target.Value).AsKecaknoahFloat()); case KecaknoahILCodeType.LeftBitShift: return((Value << (int)target.Value).AsKecaknoahInteger()); case KecaknoahILCodeType.RightBitShift: return((Value >> (int)target.Value).AsKecaknoahInteger()); case KecaknoahILCodeType.Equal: return((Value == target.Value).AsKecaknoahBoolean()); case KecaknoahILCodeType.NotEqual: return((Value != target.Value).AsKecaknoahBoolean()); case KecaknoahILCodeType.Greater: return((Value > target.Value).AsKecaknoahBoolean()); case KecaknoahILCodeType.Lesser: return((Value < target.Value).AsKecaknoahBoolean()); case KecaknoahILCodeType.GreaterEqual: return((Value >= target.Value).AsKecaknoahBoolean()); case KecaknoahILCodeType.LesserEqual: return((Value <= target.Value).AsKecaknoahBoolean()); default: return(KecaknoahNil.Instance); } }
private KecaknoahObject ExpressionOperation(KecaknoahILCodeType op, KecaknoahFloat target) { switch (op) { case KecaknoahILCodeType.Negative: return (-Value).AsKecaknoahInteger(); case KecaknoahILCodeType.Plus: return (Value + target.Value).AsKecaknoahFloat(); case KecaknoahILCodeType.Minus: return (Value - target.Value).AsKecaknoahFloat(); case KecaknoahILCodeType.Multiply: return (Value * target.Value).AsKecaknoahFloat(); case KecaknoahILCodeType.Divide: return (Value / target.Value).AsKecaknoahFloat(); case KecaknoahILCodeType.Modular: return (Value % target.Value).AsKecaknoahFloat(); case KecaknoahILCodeType.LeftBitShift: return (Value << (int)target.Value).AsKecaknoahInteger(); case KecaknoahILCodeType.RightBitShift: return (Value >> (int)target.Value).AsKecaknoahInteger(); case KecaknoahILCodeType.Equal: return (Value == target.Value).AsKecaknoahBoolean(); case KecaknoahILCodeType.NotEqual: return (Value != target.Value).AsKecaknoahBoolean(); case KecaknoahILCodeType.Greater: return (Value > target.Value).AsKecaknoahBoolean(); case KecaknoahILCodeType.Lesser: return (Value < target.Value).AsKecaknoahBoolean(); case KecaknoahILCodeType.GreaterEqual: return (Value >= target.Value).AsKecaknoahBoolean(); case KecaknoahILCodeType.LesserEqual: return (Value <= target.Value).AsKecaknoahBoolean(); default: return KecaknoahNil.Instance; } }