Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpWriter.cs
- RelatedView.cs
- VirtualDirectoryMapping.cs
- WebBrowser.cs
- ProcessHostMapPath.cs
- UpdateTranslator.cs
- SimpleApplicationHost.cs
- StyleBamlRecordReader.cs
- RowSpanVector.cs
- BasicExpressionVisitor.cs
- Soap.cs
- HtmlTitle.cs
- JsonFaultDetail.cs
- AnnouncementService.cs
- BinHexEncoder.cs
- DateTimeSerializationSection.cs
- MultiBinding.cs
- WasAdminWrapper.cs
- ScaleTransform3D.cs
- MultipartIdentifier.cs
- ProtocolViolationException.cs
- SQLInt16.cs
- FileChangesMonitor.cs
- OrderByBuilder.cs
- HtmlFormWrapper.cs
- TypeElement.cs
- FormViewUpdateEventArgs.cs
- backend.cs
- WebExceptionStatus.cs
- GeneralTransform2DTo3D.cs
- InlinedLocationReference.cs
- DataServiceExpressionVisitor.cs
- UserPersonalizationStateInfo.cs
- QuaternionAnimationBase.cs
- ScriptingSectionGroup.cs
- ListViewSelectEventArgs.cs
- AxisAngleRotation3D.cs
- MonikerBuilder.cs
- Translator.cs
- RotateTransform3D.cs
- DocumentApplication.cs
- AliasExpr.cs
- RecommendedAsConfigurableAttribute.cs
- Array.cs
- ListViewItem.cs
- unitconverter.cs
- JoinTreeNode.cs
- PrintPreviewControl.cs
- WebControlAdapter.cs
- InheritanceContextHelper.cs
- SiteOfOriginContainer.cs
- CompilationLock.cs
- KeyConverter.cs
- SR.cs
- NullExtension.cs
- XamlRtfConverter.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- CompressedStack.cs
- ViewRendering.cs
- BindValidator.cs
- Symbol.cs
- SymDocumentType.cs
- SubclassTypeValidator.cs
- CodeMemberField.cs
- CollectionViewGroupRoot.cs
- DataGridViewCheckBoxCell.cs
- FormattedText.cs
- WSHttpBinding.cs
- StackOverflowException.cs
- DesignTimeTemplateParser.cs
- RequestCacheManager.cs
- IndependentAnimationStorage.cs
- SqlTriggerAttribute.cs
- WebHttpBindingCollectionElement.cs
- AssemblyCollection.cs
- FileInfo.cs
- MarkupProperty.cs
- Propagator.JoinPropagator.cs
- SubqueryRules.cs
- ToolStripProgressBar.cs
- DataGridViewTopLeftHeaderCell.cs
- TdsParserSessionPool.cs
- XmlSchemaFacet.cs
- ObjectStorage.cs
- PeerFlooder.cs
- objectquery_tresulttype.cs
- MimeBasePart.cs
- SocketElement.cs
- TimeoutException.cs
- ModelFunction.cs
- VectorAnimationUsingKeyFrames.cs
- BitmapSizeOptions.cs
- SharedConnectionInfo.cs
- Localizer.cs
- LayoutSettings.cs
- BamlBinaryReader.cs
- ChtmlTextWriter.cs
- ColorInterpolationModeValidation.cs
- SHA1.cs
- TypeLoadException.cs