Documentation
Mathlib
.
Data
.
FP
.
Basic
Search
return to top
source
Imports
Init
Mathlib.Data.Semiquot
Batteries.Data.Rat.Basic
Mathlib.Data.Nat.Size
Mathlib.Data.PNat.Defs
Mathlib.Data.Rat.Init
Mathlib.Algebra.Ring.Int.Defs
Mathlib.Algebra.Order.Group.Unbundled.Basic
Imported by
Int
.
shift2
FP
.
RMode
FP
.
instInhabitedRMode
FP
.
FloatCfg
FP
.
prec
FP
.
emax
FP
.
emin
FP
.
ValidFinite
FP
.
decValidFinite
FP
.
Float
FP
.
Float
.
isFinite
FP
.
toRat
FP
.
Float
.
Zero
.
valid
FP
.
Float
.
zero
FP
.
instInhabitedFloat
FP
.
Float
.
sign'
FP
.
Float
.
sign
FP
.
Float
.
isZero
FP
.
Float
.
neg
FP
.
divNatLtTwoPow
FP
.
ofPosRatDn
FP
.
nextUpPos
FP
.
nextDnPos
FP
.
nextUp
FP
.
nextDn
FP
.
ofRatUp
FP
.
ofRatDn
FP
.
ofRat
FP
.
Float
.
instNeg
FP
.
Float
.
add
FP
.
Float
.
instAdd
FP
.
Float
.
sub
FP
.
Float
.
instSub
FP
.
Float
.
mul
FP
.
Float
.
div
Implementation of floating-point numbers (experimental).
#
source
def
Int
.
shift2
(
a
b
:
ℕ
)
:
ℤ
→
ℕ
×
ℕ
Equations
Instances For
source
inductive
FP
.
RMode
:
Type
NE :
RMode
Instances For
source
instance
FP
.
instInhabitedRMode
:
Inhabited
RMode
Equations
source
class
FP
.
FloatCfg
:
Type
prec :
ℕ
emax :
ℕ
precPos :
0
<
prec
precMax :
prec
≤
emax
Instances
source
def
FP
.
prec
[
C
:
FloatCfg
]
:
ℕ
Equations
Instances For
source
def
FP
.
emax
[
C
:
FloatCfg
]
:
ℕ
Equations
Instances For
source
def
FP
.
emin
[
C
:
FloatCfg
]
:
ℤ
Equations
Instances For
source
def
FP
.
ValidFinite
[
C
:
FloatCfg
]
(
e
:
ℤ
)
(
m
:
ℕ
)
:
Prop
Equations
Instances For
source
instance
FP
.
decValidFinite
[
C
:
FloatCfg
]
(
e
:
ℤ
)
(
m
:
ℕ
)
:
Decidable
(
ValidFinite
e
m
)
Equations
source
inductive
FP
.
Float
[
C
:
FloatCfg
]
:
Type
inf
[
C
:
FloatCfg
]
:
Bool
→
Float
nan
[
C
:
FloatCfg
]
:
Float
finite
[
C
:
FloatCfg
]
:
Bool
→
(
e
:
ℤ
) →
(
m
:
ℕ
) →
ValidFinite
e
m
→
Float
Instances For
source
def
FP
.
Float
.
isFinite
[
C
:
FloatCfg
]
:
Float
→
Bool
Equations
Instances For
source
def
FP
.
toRat
[
C
:
FloatCfg
]
(
f
:
Float
)
:
f
.
isFinite
=
true
→
ℚ
Equations
Instances For
source
theorem
FP
.
Float
.
Zero
.
valid
[
C
:
FloatCfg
]
:
ValidFinite
emin
0
source
def
FP
.
Float
.
zero
[
C
:
FloatCfg
]
(
s
:
Bool
)
:
Float
Equations
Instances For
source
instance
FP
.
instInhabitedFloat
[
C
:
FloatCfg
]
:
Inhabited
Float
Equations
source
def
FP
.
Float
.
sign'
[
C
:
FloatCfg
]
:
Float
→
Semiquot
Bool
Equations
Instances For
source
def
FP
.
Float
.
sign
[
C
:
FloatCfg
]
:
Float
→
Bool
Equations
Instances For
source
def
FP
.
Float
.
isZero
[
C
:
FloatCfg
]
:
Float
→
Bool
Equations
Instances For
source
def
FP
.
Float
.
neg
[
C
:
FloatCfg
]
:
Float
→
Float
Equations
Instances For
source
def
FP
.
divNatLtTwoPow
(
n
d
:
ℕ
)
:
ℤ
→
Bool
Equations
Instances For
source
unsafe def
FP
.
ofPosRatDn
[
C
:
FloatCfg
]
(
n
d
:
ℕ+
)
:
Float
×
Bool
Equations
Instances For
source
unsafe def
FP
.
nextUpPos
[
C
:
FloatCfg
]
(
e
:
ℤ
)
(
m
:
ℕ
)
(
v
:
ValidFinite
e
m
)
:
Float
Equations
Instances For
source
unsafe def
FP
.
nextDnPos
[
C
:
FloatCfg
]
(
e
:
ℤ
)
(
m
:
ℕ
)
(
v
:
ValidFinite
e
m
)
:
Float
Equations
Instances For
source
unsafe def
FP
.
nextUp
[
C
:
FloatCfg
]
:
Float
→
Float
Equations
Instances For
source
unsafe def
FP
.
nextDn
[
C
:
FloatCfg
]
:
Float
→
Float
Equations
Instances For
source
unsafe def
FP
.
ofRatUp
[
C
:
FloatCfg
]
:
ℚ
→
Float
Equations
Instances For
source
unsafe def
FP
.
ofRatDn
[
C
:
FloatCfg
]
(
r
:
ℚ
)
:
Float
Equations
Instances For
source
unsafe def
FP
.
ofRat
[
C
:
FloatCfg
]
:
RMode
→
ℚ
→
Float
Equations
Instances For
source
instance
FP
.
Float
.
instNeg
[
C
:
FloatCfg
]
:
Neg
Float
Equations
source
unsafe def
FP
.
Float
.
add
[
C
:
FloatCfg
]
(
mode
:
RMode
)
:
Float
→
Float
→
Float
Equations
Instances For
source
unsafe instance
FP
.
Float
.
instAdd
[
C
:
FloatCfg
]
:
Add
Float
Equations
source
unsafe def
FP
.
Float
.
sub
[
C
:
FloatCfg
]
(
mode
:
RMode
)
(
f1
f2
:
Float
)
:
Float
Equations
Instances For
source
unsafe instance
FP
.
Float
.
instSub
[
C
:
FloatCfg
]
:
Sub
Float
Equations
source
unsafe def
FP
.
Float
.
mul
[
C
:
FloatCfg
]
(
mode
:
RMode
)
:
Float
→
Float
→
Float
Equations
Instances For
source
unsafe def
FP
.
Float
.
div
[
C
:
FloatCfg
]
(
mode
:
RMode
)
:
Float
→
Float
→
Float
Equations
Instances For