Skip to content

QuadrupleLib is a modern implementation of the IEEE 754 binary128 floating point number type for .NET 7 and above based on the UInt128 built-in.

License

Notifications You must be signed in to change notification settings

IsaMorphic/QuadrupleLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuadrupleLib

QuadrupleLib is a modern implementation of the IEEE 754 binary128 floating point number type for .NET 7 and above based on the UInt128 built-in. The goal of this project is to eventually create a fully fleshed out 128-bit floating point arithmetic library that includes all of the bells and whistles one could possibly want.

Project TODOs (Completed)

  • Adheres to minimum requirements of IEEE 754 specification
  • Partially implements .NET 7 INumber generic arithmetic interface
  • Implements all basic arithmetic operations (+, -, *, /, %, ++, --)
  • Implements all standard rounding functions (Round, Floor, Ceiling)
  • Implements basic ToString and Parse/TryParse methods
  • Implements conversion methods to & from binary64 type
  • Provides conversion pathways to all standard .NET number types via binary64

Project TODOs (HELP WANTED!!)

  • Unit tests to check for specification coverage
  • Implements IEEERemainder as suggested in IEEE 754
  • Implements typical library functions (Pow, Atan2, Log)
  • Supports all rounding modes (atm only implements "ties to even" mode)
  • Supports .NET Core formatting features for ToString and Parse
  • Implements .NET 7 IBinaryFloatingPointIeee754 generic arithmetic interface

About

QuadrupleLib is a modern implementation of the IEEE 754 binary128 floating point number type for .NET 7 and above based on the UInt128 built-in.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages