Exemplo n.º 1
0
        /// <summary>
        /// Method used in case checking by the Case AST Node in the generated DLR expression tree
        /// </summary>
        /// <param name="targetValue"></param>
        /// <param name="caseValue"></param>
        /// <returns></returns>
        internal static bool CaseCheck(AType targetValue, AType caseValue)
        {
            if (targetValue.Type == ATypes.ANull)
            {
                // ANull is always false! this will lead to the default case.
                return(false);
            }

            AType result = DyadicFunctionInstance.Member.Execute(caseValue, targetValue);

            bool found = trueValue.Equals(DyadicFunctionInstance.Member.Execute(result, trueValue));

            return(found);
        }
Exemplo n.º 2
0
        private bool ComparisonToleranceCompareTo(AType actual, AType other)
        {
            if (actual.Rank > 0)
            {
                for (int i = 0; i < actual.Length; i++)
                {
                    if (!ComparisonToleranceCompareTo(actual[i], other[i]))
                    {
                        return(false);
                    }
                }

                return(true);
            }
            else
            {
                if (actual.IsNumber && other.IsNumber)
                {
                    return(Utils.ComparisonTolerance(actual.asFloat, other.asFloat));
                }
                else if (actual.Type == ATypes.AChar && other.Type == ATypes.AChar)
                {
                    return(actual.asChar == other.asChar);
                }
                else if (actual.Type == ATypes.ASymbol && other.Type == ATypes.ASymbol)
                {
                    return(actual.asString == other.asString);
                }
                else if ((actual.Type == ATypes.AFunc && other.Type == ATypes.AFunc) || (actual.IsBox && other.IsBox))
                {
                    return(actual.Equals(other));
                }

                return(false);
            }
        }
Exemplo n.º 3
0
        /// <inheritdoc />
        public bool Equals([AllowNull] ContourCarpet other)
        {
            if (other == null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Type == other.Type ||
                     Type != null &&
                     Type.Equals(other.Type)
                     ) &&
                 (
                     Visible == other.Visible ||
                     Visible != null &&
                     Visible.Equals(other.Visible)
                 ) &&
                 (
                     ShowLegend == other.ShowLegend ||
                     ShowLegend != null &&
                     ShowLegend.Equals(other.ShowLegend)
                 ) &&
                 (
                     LegendGroup == other.LegendGroup ||
                     LegendGroup != null &&
                     LegendGroup.Equals(other.LegendGroup)
                 ) &&
                 (
                     Opacity == other.Opacity ||
                     Opacity != null &&
                     Opacity.Equals(other.Opacity)
                 ) &&
                 (
                     Name == other.Name ||
                     Name != null &&
                     Name.Equals(other.Name)
                 ) &&
                 (
                     UId == other.UId ||
                     UId != null &&
                     UId.Equals(other.UId)
                 ) &&
                 (
                     Equals(Ids, other.Ids) ||
                     Ids != null && other.Ids != null &&
                     Ids.SequenceEqual(other.Ids)
                 ) &&
                 (
                     Equals(CustomData, other.CustomData) ||
                     CustomData != null && other.CustomData != null &&
                     CustomData.SequenceEqual(other.CustomData)
                 ) &&
                 (
                     Meta == other.Meta ||
                     Meta != null &&
                     Meta.Equals(other.Meta)
                 ) &&
                 (
                     Equals(MetaArray, other.MetaArray) ||
                     MetaArray != null && other.MetaArray != null &&
                     MetaArray.SequenceEqual(other.MetaArray)
                 ) &&
                 (
                     Stream == other.Stream ||
                     Stream != null &&
                     Stream.Equals(other.Stream)
                 ) &&
                 (
                     UiRevision == other.UiRevision ||
                     UiRevision != null &&
                     UiRevision.Equals(other.UiRevision)
                 ) &&
                 (
                     Carpet == other.Carpet ||
                     Carpet != null &&
                     Carpet.Equals(other.Carpet)
                 ) &&
                 (
                     Equals(Z, other.Z) ||
                     Z != null && other.Z != null &&
                     Z.SequenceEqual(other.Z)
                 ) &&
                 (
                     Equals(A, other.A) ||
                     A != null && other.A != null &&
                     A.SequenceEqual(other.A)
                 ) &&
                 (
                     A0 == other.A0 ||
                     A0 != null &&
                     A0.Equals(other.A0)
                 ) &&
                 (
                     DA == other.DA ||
                     DA != null &&
                     DA.Equals(other.DA)
                 ) &&
                 (
                     Equals(B, other.B) ||
                     B != null && other.B != null &&
                     B.SequenceEqual(other.B)
                 ) &&
                 (
                     B0 == other.B0 ||
                     B0 != null &&
                     B0.Equals(other.B0)
                 ) &&
                 (
                     Db == other.Db ||
                     Db != null &&
                     Db.Equals(other.Db)
                 ) &&
                 (
                     Equals(Text, other.Text) ||
                     Text != null && other.Text != null &&
                     Text.SequenceEqual(other.Text)
                 ) &&
                 (
                     Equals(HoverText, other.HoverText) ||
                     HoverText != null && other.HoverText != null &&
                     HoverText.SequenceEqual(other.HoverText)
                 ) &&
                 (
                     Transpose == other.Transpose ||
                     Transpose != null &&
                     Transpose.Equals(other.Transpose)
                 ) &&
                 (
                     AType == other.AType ||
                     AType != null &&
                     AType.Equals(other.AType)
                 ) &&
                 (
                     BType == other.BType ||
                     BType != null &&
                     BType.Equals(other.BType)
                 ) &&
                 (
                     FillColor == other.FillColor ||
                     FillColor != null &&
                     FillColor.Equals(other.FillColor)
                 ) &&
                 (
                     AutoContour == other.AutoContour ||
                     AutoContour != null &&
                     AutoContour.Equals(other.AutoContour)
                 ) &&
                 (
                     NContours == other.NContours ||
                     NContours != null &&
                     NContours.Equals(other.NContours)
                 ) &&
                 (
                     Contours == other.Contours ||
                     Contours != null &&
                     Contours.Equals(other.Contours)
                 ) &&
                 (
                     Line == other.Line ||
                     Line != null &&
                     Line.Equals(other.Line)
                 ) &&
                 (
                     ZAuto == other.ZAuto ||
                     ZAuto != null &&
                     ZAuto.Equals(other.ZAuto)
                 ) &&
                 (
                     ZMin == other.ZMin ||
                     ZMin != null &&
                     ZMin.Equals(other.ZMin)
                 ) &&
                 (
                     ZMax == other.ZMax ||
                     ZMax != null &&
                     ZMax.Equals(other.ZMax)
                 ) &&
                 (
                     ZMid == other.ZMid ||
                     ZMid != null &&
                     ZMid.Equals(other.ZMid)
                 ) &&
                 (
                     ColorScale == other.ColorScale ||
                     ColorScale != null &&
                     ColorScale.Equals(other.ColorScale)
                 ) &&
                 (
                     AutoColorScale == other.AutoColorScale ||
                     AutoColorScale != null &&
                     AutoColorScale.Equals(other.AutoColorScale)
                 ) &&
                 (
                     ReverseScale == other.ReverseScale ||
                     ReverseScale != null &&
                     ReverseScale.Equals(other.ReverseScale)
                 ) &&
                 (
                     ShowScale == other.ShowScale ||
                     ShowScale != null &&
                     ShowScale.Equals(other.ShowScale)
                 ) &&
                 (
                     ColorBar == other.ColorBar ||
                     ColorBar != null &&
                     ColorBar.Equals(other.ColorBar)
                 ) &&
                 (
                     ColorAxis == other.ColorAxis ||
                     ColorAxis != null &&
                     ColorAxis.Equals(other.ColorAxis)
                 ) &&
                 (
                     XAxis == other.XAxis ||
                     XAxis != null &&
                     XAxis.Equals(other.XAxis)
                 ) &&
                 (
                     YAxis == other.YAxis ||
                     YAxis != null &&
                     YAxis.Equals(other.YAxis)
                 ) &&
                 (
                     IdsSrc == other.IdsSrc ||
                     IdsSrc != null &&
                     IdsSrc.Equals(other.IdsSrc)
                 ) &&
                 (
                     CustomDataSrc == other.CustomDataSrc ||
                     CustomDataSrc != null &&
                     CustomDataSrc.Equals(other.CustomDataSrc)
                 ) &&
                 (
                     MetaSrc == other.MetaSrc ||
                     MetaSrc != null &&
                     MetaSrc.Equals(other.MetaSrc)
                 ) &&
                 (
                     ZSrc == other.ZSrc ||
                     ZSrc != null &&
                     ZSrc.Equals(other.ZSrc)
                 ) &&
                 (
                     ASrc == other.ASrc ||
                     ASrc != null &&
                     ASrc.Equals(other.ASrc)
                 ) &&
                 (
                     BSrc == other.BSrc ||
                     BSrc != null &&
                     BSrc.Equals(other.BSrc)
                 ) &&
                 (
                     TextSrc == other.TextSrc ||
                     TextSrc != null &&
                     TextSrc.Equals(other.TextSrc)
                 ) &&
                 (
                     HoverTextSrc == other.HoverTextSrc ||
                     HoverTextSrc != null &&
                     HoverTextSrc.Equals(other.HoverTextSrc)
                 ));
        }
Exemplo n.º 4
0
 public override AType Execute(AType right, AType left, Aplus environment = null)
 {
     return(AInteger.Create(left.Equals(right) ? 1 : 0));
 }
Exemplo n.º 5
0
        private bool ComparisonToleranceCompareTo(AType actual, AType other)
        {
            if (actual.Rank > 0)
            {
                for (int i = 0; i < actual.Length; i++)
                {
                    if (!ComparisonToleranceCompareTo(actual[i], other[i]))
                    {
                        return false;
                    }
                }

                return true;
            }
            else
            {
                if (actual.IsNumber && other.IsNumber)
                {
                    return Utils.ComparisonTolerance(actual.asFloat, other.asFloat);
                }
                else if (actual.Type == ATypes.AChar && other.Type == ATypes.AChar)
                {
                    return actual.asChar == other.asChar;
                }
                else if (actual.Type == ATypes.ASymbol && other.Type == ATypes.ASymbol)
                {
                    return actual.asString == other.asString;
                }
                else if ((actual.Type == ATypes.AFunc && other.Type == ATypes.AFunc) || (actual.IsBox && other.IsBox))
                {
                    return actual.Equals(other);
                }

                return false;
            }
        }
Exemplo n.º 6
0
 public override AType Execute(AType right, AType left, Aplus environment = null)
 {
     return AInteger.Create(left.Equals(right) ? 1 : 0);   
 }