Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlAggregates.cs / 1305376 / XmlAggregates.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Xml; using System.Diagnostics; using System.ComponentModel; namespace System.Xml.Xsl.Runtime { ////// Computes aggregates over a sequence of Int32 values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct Int32Aggregator { private int result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(int value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(int value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(int value) { if (this.cnt == 0 || value < this.result) this.result = value; this.cnt = 1; } public void Maximum(int value) { if (this.cnt == 0 || value > this.result) this.result = value; this.cnt = 1; } public int SumResult { get { return this.result; } } public int AverageResult { get { return this.result / this.cnt; } } public int MinimumResult { get { return this.result; } } public int MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } ////// Computes aggregates over a sequence of Int64 values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct Int64Aggregator { private long result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(long value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(long value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(long value) { if (this.cnt == 0 || value < this.result) this.result = value; this.cnt = 1; } public void Maximum(long value) { if (this.cnt == 0 || value > this.result) this.result = value; this.cnt = 1; } public long SumResult { get { return this.result; } } public long AverageResult { get { return this.result / (long) this.cnt; } } public long MinimumResult { get { return this.result; } } public long MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } ////// Computes aggregates over a sequence of Decimal values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct DecimalAggregator { private decimal result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(decimal value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(decimal value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(decimal value) { if (this.cnt == 0 || value < this.result) this.result = value; this.cnt = 1; } public void Maximum(decimal value) { if (this.cnt == 0 || value > this.result) this.result = value; this.cnt = 1; } public decimal SumResult { get { return this.result; } } public decimal AverageResult { get { return this.result / (decimal) this.cnt; } } public decimal MinimumResult { get { return this.result; } } public decimal MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } ////// Computes aggregates over a sequence of Double values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct DoubleAggregator { private double result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(double value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(double value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(double value) { if (this.cnt == 0 || value < this.result || double.IsNaN(value)) this.result = value; this.cnt = 1; } public void Maximum(double value) { if (this.cnt == 0 || value > this.result || double.IsNaN(value)) this.result = value; this.cnt = 1; } public double SumResult { get { return this.result; } } public double AverageResult { get { return this.result / (double) this.cnt; } } public double MinimumResult { get { return this.result; } } public double MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Xml; using System.Diagnostics; using System.ComponentModel; namespace System.Xml.Xsl.Runtime { ////// Computes aggregates over a sequence of Int32 values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct Int32Aggregator { private int result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(int value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(int value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(int value) { if (this.cnt == 0 || value < this.result) this.result = value; this.cnt = 1; } public void Maximum(int value) { if (this.cnt == 0 || value > this.result) this.result = value; this.cnt = 1; } public int SumResult { get { return this.result; } } public int AverageResult { get { return this.result / this.cnt; } } public int MinimumResult { get { return this.result; } } public int MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } ////// Computes aggregates over a sequence of Int64 values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct Int64Aggregator { private long result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(long value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(long value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(long value) { if (this.cnt == 0 || value < this.result) this.result = value; this.cnt = 1; } public void Maximum(long value) { if (this.cnt == 0 || value > this.result) this.result = value; this.cnt = 1; } public long SumResult { get { return this.result; } } public long AverageResult { get { return this.result / (long) this.cnt; } } public long MinimumResult { get { return this.result; } } public long MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } ////// Computes aggregates over a sequence of Decimal values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct DecimalAggregator { private decimal result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(decimal value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(decimal value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(decimal value) { if (this.cnt == 0 || value < this.result) this.result = value; this.cnt = 1; } public void Maximum(decimal value) { if (this.cnt == 0 || value > this.result) this.result = value; this.cnt = 1; } public decimal SumResult { get { return this.result; } } public decimal AverageResult { get { return this.result / (decimal) this.cnt; } } public decimal MinimumResult { get { return this.result; } } public decimal MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } ////// Computes aggregates over a sequence of Double values. /// [EditorBrowsable(EditorBrowsableState.Never)] public struct DoubleAggregator { private double result; private int cnt; public void Create() { this.cnt = 0; } public void Sum(double value) { if (this.cnt == 0) { this.result = value; this.cnt = 1; } else { this.result += value; } } public void Average(double value) { if (this.cnt == 0) this.result = value; else this.result += value; this.cnt++; } public void Minimum(double value) { if (this.cnt == 0 || value < this.result || double.IsNaN(value)) this.result = value; this.cnt = 1; } public void Maximum(double value) { if (this.cnt == 0 || value > this.result || double.IsNaN(value)) this.result = value; this.cnt = 1; } public double SumResult { get { return this.result; } } public double AverageResult { get { return this.result / (double) this.cnt; } } public double MinimumResult { get { return this.result; } } public double MaximumResult { get { return this.result; } } public bool IsEmpty { get { return this.cnt == 0; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AsyncCompletedEventArgs.cs
- HtmlProps.cs
- HandledEventArgs.cs
- OleDbCommandBuilder.cs
- PointF.cs
- StoragePropertyMapping.cs
- Material.cs
- ProcessModelSection.cs
- C14NUtil.cs
- CategoryGridEntry.cs
- XmlImplementation.cs
- MetadataCache.cs
- DPTypeDescriptorContext.cs
- SendSecurityHeaderElement.cs
- XhtmlBasicImageAdapter.cs
- Visitors.cs
- AVElementHelper.cs
- DbProviderServices.cs
- IconBitmapDecoder.cs
- DataColumnChangeEvent.cs
- StorageAssociationTypeMapping.cs
- PrintingPermission.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ContourSegment.cs
- ClientData.cs
- SoapSchemaExporter.cs
- RoleManagerModule.cs
- ThreadPool.cs
- DataSourceConverter.cs
- ServiceDebugBehavior.cs
- DataRow.cs
- FontFaceLayoutInfo.cs
- FakeModelPropertyImpl.cs
- OperationInfoBase.cs
- CharacterMetrics.cs
- MessageQueueConverter.cs
- PrivilegedConfigurationManager.cs
- DefaultBindingPropertyAttribute.cs
- SessionStateContainer.cs
- InfoCardRSACryptoProvider.cs
- AnchoredBlock.cs
- ScriptingWebServicesSectionGroup.cs
- FontClient.cs
- StringHandle.cs
- ManagedFilter.cs
- NameTable.cs
- PolyQuadraticBezierSegment.cs
- TypeToArgumentTypeConverter.cs
- ParseHttpDate.cs
- COM2Properties.cs
- TableRowsCollectionEditor.cs
- StrokeNode.cs
- CapabilitiesPattern.cs
- OletxEnlistment.cs
- DivideByZeroException.cs
- SimpleType.cs
- VisualProxy.cs
- DecimalConstantAttribute.cs
- PageSettings.cs
- ScriptingProfileServiceSection.cs
- TextSearch.cs
- TextRunCacheImp.cs
- SqlDataReaderSmi.cs
- SvcFileManager.cs
- BindingsCollection.cs
- EntityKey.cs
- ListBase.cs
- _LazyAsyncResult.cs
- DataGridTextBoxColumn.cs
- StringKeyFrameCollection.cs
- mil_sdk_version.cs
- ExpressionHelper.cs
- WizardPanel.cs
- XslCompiledTransform.cs
- SqlRowUpdatedEvent.cs
- RayMeshGeometry3DHitTestResult.cs
- remotingproxy.cs
- ToolStripAdornerWindowService.cs
- DataServiceResponse.cs
- EncryptedPackage.cs
- TraceHandler.cs
- _ConnectionGroup.cs
- ListViewEditEventArgs.cs
- Matrix.cs
- DebuggerAttributes.cs
- SplineQuaternionKeyFrame.cs
- SeekStoryboard.cs
- RowCache.cs
- COM2EnumConverter.cs
- DataRecord.cs
- Label.cs
- LineVisual.cs
- Decimal.cs
- TabControlEvent.cs
- BamlReader.cs
- NameNode.cs
- ListDesigner.cs
- LogicalMethodInfo.cs
- ColumnTypeConverter.cs
- GeometryModel3D.cs