Esempio n. 1
0
 public override void Initialise(int offset, int length)
 {
     Offset     = offset;
     Length     = length;
     Count.Text = $"{length}";
     Values     = new OffsetArray <byte>(Document.Buffer, offset, length);
 }
Esempio n. 2
0
            public static IReadOnlySet <Index3D> CreateCenteredSpiral(IBoundedIndexable <Index3D, bool> shape)
            {
                Contracts.Requires.That(shape != null);

                shape = OffsetArray.CenterOnZero(shape, RoundUp);
                return(Create(shape, SpiralColumns(shape.LowerBounds, shape.UpperBounds)));
            }
Esempio n. 3
0
 /// <inheritdoc />
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         if (Type != null)
         {
             hashCode = hashCode * 59 + Type.GetHashCode();
         }
         if (Visible != null)
         {
             hashCode = hashCode * 59 + Visible.GetHashCode();
         }
         if (ShowLegend != null)
         {
             hashCode = hashCode * 59 + ShowLegend.GetHashCode();
         }
         if (LegendGroup != null)
         {
             hashCode = hashCode * 59 + LegendGroup.GetHashCode();
         }
         if (Opacity != null)
         {
             hashCode = hashCode * 59 + Opacity.GetHashCode();
         }
         if (Name != null)
         {
             hashCode = hashCode * 59 + Name.GetHashCode();
         }
         if (UId != null)
         {
             hashCode = hashCode * 59 + UId.GetHashCode();
         }
         if (Ids != null)
         {
             hashCode = hashCode * 59 + Ids.GetHashCode();
         }
         if (CustomData != null)
         {
             hashCode = hashCode * 59 + CustomData.GetHashCode();
         }
         if (Meta != null)
         {
             hashCode = hashCode * 59 + Meta.GetHashCode();
         }
         if (MetaArray != null)
         {
             hashCode = hashCode * 59 + MetaArray.GetHashCode();
         }
         if (SelectedPoints != null)
         {
             hashCode = hashCode * 59 + SelectedPoints.GetHashCode();
         }
         if (HoverLabel != null)
         {
             hashCode = hashCode * 59 + HoverLabel.GetHashCode();
         }
         if (Stream != null)
         {
             hashCode = hashCode * 59 + Stream.GetHashCode();
         }
         if (Transforms != null)
         {
             hashCode = hashCode * 59 + Transforms.GetHashCode();
         }
         if (UiRevision != null)
         {
             hashCode = hashCode * 59 + UiRevision.GetHashCode();
         }
         if (R != null)
         {
             hashCode = hashCode * 59 + R.GetHashCode();
         }
         if (Theta != null)
         {
             hashCode = hashCode * 59 + Theta.GetHashCode();
         }
         if (R0 != null)
         {
             hashCode = hashCode * 59 + R0.GetHashCode();
         }
         if (Dr != null)
         {
             hashCode = hashCode * 59 + Dr.GetHashCode();
         }
         if (Theta0 != null)
         {
             hashCode = hashCode * 59 + Theta0.GetHashCode();
         }
         if (DTheta != null)
         {
             hashCode = hashCode * 59 + DTheta.GetHashCode();
         }
         if (ThetaUnit != null)
         {
             hashCode = hashCode * 59 + ThetaUnit.GetHashCode();
         }
         if (Base != null)
         {
             hashCode = hashCode * 59 + Base.GetHashCode();
         }
         if (BaseArray != null)
         {
             hashCode = hashCode * 59 + BaseArray.GetHashCode();
         }
         if (Offset != null)
         {
             hashCode = hashCode * 59 + Offset.GetHashCode();
         }
         if (OffsetArray != null)
         {
             hashCode = hashCode * 59 + OffsetArray.GetHashCode();
         }
         if (Width != null)
         {
             hashCode = hashCode * 59 + Width.GetHashCode();
         }
         if (WidthArray != null)
         {
             hashCode = hashCode * 59 + WidthArray.GetHashCode();
         }
         if (Text != null)
         {
             hashCode = hashCode * 59 + Text.GetHashCode();
         }
         if (TextArray != null)
         {
             hashCode = hashCode * 59 + TextArray.GetHashCode();
         }
         if (HoverText != null)
         {
             hashCode = hashCode * 59 + HoverText.GetHashCode();
         }
         if (HoverTextArray != null)
         {
             hashCode = hashCode * 59 + HoverTextArray.GetHashCode();
         }
         if (Marker != null)
         {
             hashCode = hashCode * 59 + Marker.GetHashCode();
         }
         if (HoverInfo != null)
         {
             hashCode = hashCode * 59 + HoverInfo.GetHashCode();
         }
         if (HoverInfoArray != null)
         {
             hashCode = hashCode * 59 + HoverInfoArray.GetHashCode();
         }
         if (HoverTemplate != null)
         {
             hashCode = hashCode * 59 + HoverTemplate.GetHashCode();
         }
         if (HoverTemplateArray != null)
         {
             hashCode = hashCode * 59 + HoverTemplateArray.GetHashCode();
         }
         if (Selected != null)
         {
             hashCode = hashCode * 59 + Selected.GetHashCode();
         }
         if (Unselected != null)
         {
             hashCode = hashCode * 59 + Unselected.GetHashCode();
         }
         if (Subplot != null)
         {
             hashCode = hashCode * 59 + Subplot.GetHashCode();
         }
         if (IdsSrc != null)
         {
             hashCode = hashCode * 59 + IdsSrc.GetHashCode();
         }
         if (CustomDataSrc != null)
         {
             hashCode = hashCode * 59 + CustomDataSrc.GetHashCode();
         }
         if (MetaSrc != null)
         {
             hashCode = hashCode * 59 + MetaSrc.GetHashCode();
         }
         if (RSrc != null)
         {
             hashCode = hashCode * 59 + RSrc.GetHashCode();
         }
         if (ThetaSrc != null)
         {
             hashCode = hashCode * 59 + ThetaSrc.GetHashCode();
         }
         if (BaseSrc != null)
         {
             hashCode = hashCode * 59 + BaseSrc.GetHashCode();
         }
         if (OffsetSrc != null)
         {
             hashCode = hashCode * 59 + OffsetSrc.GetHashCode();
         }
         if (WidthSrc != null)
         {
             hashCode = hashCode * 59 + WidthSrc.GetHashCode();
         }
         if (TextSrc != null)
         {
             hashCode = hashCode * 59 + TextSrc.GetHashCode();
         }
         if (HoverTextSrc != null)
         {
             hashCode = hashCode * 59 + HoverTextSrc.GetHashCode();
         }
         if (HoverInfoSrc != null)
         {
             hashCode = hashCode * 59 + HoverInfoSrc.GetHashCode();
         }
         if (HoverTemplateSrc != null)
         {
             hashCode = hashCode * 59 + HoverTemplateSrc.GetHashCode();
         }
         return(hashCode);
     }
 }
Esempio n. 4
0
        /// <inheritdoc />
        public bool Equals([AllowNull] BarPolar 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)
                 ) &&
                 (
                     SelectedPoints == other.SelectedPoints ||
                     SelectedPoints != null &&
                     SelectedPoints.Equals(other.SelectedPoints)
                 ) &&
                 (
                     HoverLabel == other.HoverLabel ||
                     HoverLabel != null &&
                     HoverLabel.Equals(other.HoverLabel)
                 ) &&
                 (
                     Stream == other.Stream ||
                     Stream != null &&
                     Stream.Equals(other.Stream)
                 ) &&
                 (
                     Equals(Transforms, other.Transforms) ||
                     Transforms != null && other.Transforms != null &&
                     Transforms.SequenceEqual(other.Transforms)
                 ) &&
                 (
                     UiRevision == other.UiRevision ||
                     UiRevision != null &&
                     UiRevision.Equals(other.UiRevision)
                 ) &&
                 (
                     Equals(R, other.R) ||
                     R != null && other.R != null &&
                     R.SequenceEqual(other.R)
                 ) &&
                 (
                     Equals(Theta, other.Theta) ||
                     Theta != null && other.Theta != null &&
                     Theta.SequenceEqual(other.Theta)
                 ) &&
                 (
                     R0 == other.R0 ||
                     R0 != null &&
                     R0.Equals(other.R0)
                 ) &&
                 (
                     Dr == other.Dr ||
                     Dr != null &&
                     Dr.Equals(other.Dr)
                 ) &&
                 (
                     Theta0 == other.Theta0 ||
                     Theta0 != null &&
                     Theta0.Equals(other.Theta0)
                 ) &&
                 (
                     DTheta == other.DTheta ||
                     DTheta != null &&
                     DTheta.Equals(other.DTheta)
                 ) &&
                 (
                     ThetaUnit == other.ThetaUnit ||
                     ThetaUnit != null &&
                     ThetaUnit.Equals(other.ThetaUnit)
                 ) &&
                 (
                     Base == other.Base ||
                     Base != null &&
                     Base.Equals(other.Base)
                 ) &&
                 (
                     Equals(BaseArray, other.BaseArray) ||
                     BaseArray != null && other.BaseArray != null &&
                     BaseArray.SequenceEqual(other.BaseArray)
                 ) &&
                 (
                     Offset == other.Offset ||
                     Offset != null &&
                     Offset.Equals(other.Offset)
                 ) &&
                 (
                     Equals(OffsetArray, other.OffsetArray) ||
                     OffsetArray != null && other.OffsetArray != null &&
                     OffsetArray.SequenceEqual(other.OffsetArray)
                 ) &&
                 (
                     Width == other.Width ||
                     Width != null &&
                     Width.Equals(other.Width)
                 ) &&
                 (
                     Equals(WidthArray, other.WidthArray) ||
                     WidthArray != null && other.WidthArray != null &&
                     WidthArray.SequenceEqual(other.WidthArray)
                 ) &&
                 (
                     Text == other.Text ||
                     Text != null &&
                     Text.Equals(other.Text)
                 ) &&
                 (
                     Equals(TextArray, other.TextArray) ||
                     TextArray != null && other.TextArray != null &&
                     TextArray.SequenceEqual(other.TextArray)
                 ) &&
                 (
                     HoverText == other.HoverText ||
                     HoverText != null &&
                     HoverText.Equals(other.HoverText)
                 ) &&
                 (
                     Equals(HoverTextArray, other.HoverTextArray) ||
                     HoverTextArray != null && other.HoverTextArray != null &&
                     HoverTextArray.SequenceEqual(other.HoverTextArray)
                 ) &&
                 (
                     Marker == other.Marker ||
                     Marker != null &&
                     Marker.Equals(other.Marker)
                 ) &&
                 (
                     HoverInfo == other.HoverInfo ||
                     HoverInfo != null &&
                     HoverInfo.Equals(other.HoverInfo)
                 ) &&
                 (
                     Equals(HoverInfoArray, other.HoverInfoArray) ||
                     HoverInfoArray != null && other.HoverInfoArray != null &&
                     HoverInfoArray.SequenceEqual(other.HoverInfoArray)
                 ) &&
                 (
                     HoverTemplate == other.HoverTemplate ||
                     HoverTemplate != null &&
                     HoverTemplate.Equals(other.HoverTemplate)
                 ) &&
                 (
                     Equals(HoverTemplateArray, other.HoverTemplateArray) ||
                     HoverTemplateArray != null && other.HoverTemplateArray != null &&
                     HoverTemplateArray.SequenceEqual(other.HoverTemplateArray)
                 ) &&
                 (
                     Selected == other.Selected ||
                     Selected != null &&
                     Selected.Equals(other.Selected)
                 ) &&
                 (
                     Unselected == other.Unselected ||
                     Unselected != null &&
                     Unselected.Equals(other.Unselected)
                 ) &&
                 (
                     Subplot == other.Subplot ||
                     Subplot != null &&
                     Subplot.Equals(other.Subplot)
                 ) &&
                 (
                     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)
                 ) &&
                 (
                     RSrc == other.RSrc ||
                     RSrc != null &&
                     RSrc.Equals(other.RSrc)
                 ) &&
                 (
                     ThetaSrc == other.ThetaSrc ||
                     ThetaSrc != null &&
                     ThetaSrc.Equals(other.ThetaSrc)
                 ) &&
                 (
                     BaseSrc == other.BaseSrc ||
                     BaseSrc != null &&
                     BaseSrc.Equals(other.BaseSrc)
                 ) &&
                 (
                     OffsetSrc == other.OffsetSrc ||
                     OffsetSrc != null &&
                     OffsetSrc.Equals(other.OffsetSrc)
                 ) &&
                 (
                     WidthSrc == other.WidthSrc ||
                     WidthSrc != null &&
                     WidthSrc.Equals(other.WidthSrc)
                 ) &&
                 (
                     TextSrc == other.TextSrc ||
                     TextSrc != null &&
                     TextSrc.Equals(other.TextSrc)
                 ) &&
                 (
                     HoverTextSrc == other.HoverTextSrc ||
                     HoverTextSrc != null &&
                     HoverTextSrc.Equals(other.HoverTextSrc)
                 ) &&
                 (
                     HoverInfoSrc == other.HoverInfoSrc ||
                     HoverInfoSrc != null &&
                     HoverInfoSrc.Equals(other.HoverInfoSrc)
                 ) &&
                 (
                     HoverTemplateSrc == other.HoverTemplateSrc ||
                     HoverTemplateSrc != null &&
                     HoverTemplateSrc.Equals(other.HoverTemplateSrc)
                 ));
        }
Esempio n. 5
0
        public void Forward(float[] input, float[] output)
        {
            var n    = _n;
            var n2   = n >> 1;
            var n4   = n >> 2;
            var n8   = n >> 3;
            var work = new float[n];
            var w2   = new OffsetArray <float>(work, n2);

            // rotate
            // window + rotate + step 1
            var x0 = n2 + n4;
            var x1 = x0 + 1;
            var t  = n2;

            var i = 0;

            for (; i < n8; i += 2)
            {
                x0 -= 4;
                t  -= 2;
                var r0 = input[x0 + 2] + input[x1 + 0];
                var r1 = input[x0 + 0] + input[x1 + 2];
                w2[i]     = r1 * _trig[t + 1] + r0 * _trig[t + 0];
                w2[i + 1] = r1 * _trig[t + 0] - r0 * _trig[t + 1];
                x1       += 4;
            }

            x1 = 1;

            for (; i < n2 - n8; i += 2)
            {
                t  -= 2;
                x0 -= 4;
                var r0 = input[x0 + 2] - input[x1 + 0];
                var r1 = input[x0 + 0] - input[x1 + 2];
                w2[i]     = r1 * _trig[t + 1] + r0 * _trig[t + 0];
                w2[i + 1] = r1 * _trig[t + 0] - r0 * _trig[t + 1];
                x1       += 4;
            }

            x0 = n;

            for (; i < n2; i += 2)
            {
                t  -= 2;
                x0 -= 4;
                var r0 = -input[x0 + 2] - input[x1 + 0];
                var r1 = -input[x0 + 0] - input[x1 + 2];
                w2[i]     = r1 * _trig[t + 1] + r0 * _trig[t + 0];
                w2[i + 1] = r1 * _trig[t + 0] - r0 * _trig[t + 1];
                x1       += 4;
            }


            Butterflies(w2, n2);
            ReverseBits(work);

            // rotate + window
            t  = n2;
            x0 = n2;
            var offset = 0;

            for (i = 0; i < n4; i++)
            {
                x0--;
                output[i] = (work[offset + 0] * _trig[t + 0]
                             + work[offset + 1] * _trig[t + 1]) * _scale;

                output[x0 + 0] = (work[offset + 0] * _trig[t + 1]
                                  - work[offset + 1] * _trig[t + 0]) * _scale;
                offset += 2;
                t      += 2;
            }
        }