Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Deployment Guide
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LineSearches Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.IO Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Mathematics Namespace
    • AccuracyGoal Structure
    • AlgorithmStatus Enumeration
    • ArrayMath Class
    • BigFloat Class
    • BigInteger Structure
    • BigRational Structure
    • ComplexMatrix Class
    • ComplexVector Class
    • Constants Class
    • ConvergenceCriterion Enumeration
    • DecimalMath Class
    • DimensionMismatchException Class
    • DimensionType Enumeration
    • DoubleComparer Class
    • DoubleComplex Structure
    • Elementary Class
    • EquationSolving Class
    • FunctionMath Class
    • IntegerMath Class
    • Intent Enumeration
    • Interval Structure
    • Interval(T) Structure
    • IPermutable Interface
    • MachineConstants Class
    • Matrix Class
    • MatrixDiagonal Enumeration
    • MatrixElementOrder Enumeration
    • MatrixNorm Enumeration
    • MatrixOperationSide Enumeration
    • MatrixTriangle Enumeration
    • NumericalDifferentiation Class
    • NumericalIntegration Class
    • Permutation Class
    • RoundingMode Enumeration
    • SingleComparer Class
    • SingleComplex Structure
    • SingleComplexMatrix Class
    • SingleComplexVector Class
    • SingleInterval Structure
    • SingleMatrix Class
    • SingleMatrixFiller Delegate
    • SingleVector Class
    • SingleVectorFiller Delegate
    • SolutionReport(T) Class
    • Special Class
    • SymbolicMath Class
    • TotalLossOfPrecisionException Class
    • TransposeOperation Enumeration
    • Vector Class
  • BigFloat Class
    • Members
    • Constructors
    • Fields
    • Methods
    • Operators and Type Conversions
    • Properties
Collapse image Expand Image Copy image CopyHover image
         




BigFloat Class

Members See Also 
Represents a floating-point number with arbitrary precision.

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)

Syntax

C#
[SerializableAttribute]
public class BigFloat : IFormattable, IEquatable<BigFloat>, 
	IComparable<BigFloat>
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class BigFloat _
	Implements IFormattable, IEquatable(Of BigFloat),  _
	IComparable(Of BigFloat)
Visual C++
[SerializableAttribute]
public ref class BigFloat : IFormattable, 
	IEquatable<BigFloat^>, IComparable<BigFloat^>
F#
[<SerializableAttribute>]
type BigFloat =  
    class
        interface IFormattable
        interface IEquatable<BigFloat>
        interface IComparable<BigFloat>
    end

Remarks

Use the BigFloat class to represent numbers that may not fit into the standard single or double precision floating point types, or the decimal type.

A BigFloat can have a precision of up to 236 bits. The binary exponent is an integer, which allows a decimal exponent up to roughly 646 million. This gives the BigFloat type a total range of roughly

BigFloat numbers can be constructed in a variety of ways, including from other numerical types and from strings. Implicit (widening) conversions are available for all built-in integer types and floating-point types. Explicit conversions are also available for Decimal and BigRational.

The BigFloat class provides methods for all the common operations on real numbers. Overloaded versions of the major arithmetic operators are provided for languages that support them. For languages that don't support operator overloading, equivalent staticSharedstaticstatic (Shared in Visual Basic) methods are supplied.

The precision of the result of an operation depends on the operation itself. Addition and subtraction by default use the smallest absolute precision of their operands. Multiplication and division use the smallest relative precision of their operands. Details on the precision of specific operations can be found in the documentation.

Results are rounded to the nearest number. There is a high probability but no guarantee that the result is correctly rounded.

The desired precision and rounding mode can be overridden by passing additional arguments to the method that performs the operation. An AccuracyGoal value specifies the precision. The precision can be absolute or relative. By default, the precision is inherited from the operands. The RoundingMode determines how the result is rounded.

The BigFloat type supports generic arithmetic. The associated arithmetic type implements IIeeeOperations<(Of <(<'T>)>)>, which means it supports all methods available for Double in the Math class, as well as special values such as PositiveInfinity, NegativeInfinity and NaN.

Inheritance Hierarchy

System..::..Object
  Extreme.Mathematics..::..BigFloat

See Also

BigFloat Members
Extreme.Mathematics Namespace

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.