Adjusted a literal scribble tabular to use 2d
This commit is contained in:
parent
a00bcfd16e
commit
8adbd7e836
|
@ -1,9 +1,10 @@
|
||||||
#lang scribble/manual
|
#lang unstable/2d scribble/manual
|
||||||
|
|
||||||
@(require scribble/eval
|
@(require scribble/eval
|
||||||
scribble/core
|
scribble/core
|
||||||
scribble/html-properties
|
scribble/html-properties
|
||||||
racket/sandbox
|
racket/sandbox
|
||||||
|
unstable/2d/tabular
|
||||||
(for-label racket/base racket/vector racket/list
|
(for-label racket/base racket/vector racket/list
|
||||||
math plot
|
math plot
|
||||||
(only-in typed/racket/base
|
(only-in typed/racket/base
|
||||||
|
@ -199,34 +200,62 @@ these identities for @racket[b > 0.0]:
|
||||||
|
|
||||||
Unlike with @racket[flexpt], there is no standard for @racket[fllogb]'s behavior at limit values.
|
Unlike with @racket[flexpt], there is no standard for @racket[fllogb]'s behavior at limit values.
|
||||||
Fortunately, deriving the following rules (applied in order) is not prohibitively difficult.
|
Fortunately, deriving the following rules (applied in order) is not prohibitively difficult.
|
||||||
@centered{
|
@centered[
|
||||||
@tabular[#:style
|
#2dtabular
|
||||||
(style 'plain
|
╔═════════════════════════════════╦══════════════════╦═════════════════╗
|
||||||
(list (table-columns (list (style 'plain (list 'left))
|
║ @bold{Case} ║@bold{Condition} ║ @bold{Value} ║
|
||||||
(style 'plain (list 'center))
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
(style 'plain (list 'right))))
|
║ @racket[(fllogb b 1.0)] ║ ║ @racket[0.0] ║
|
||||||
(attributes '((width . "90%")))))
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
(list (list @bold{Case} @bold{Condition} @bold{Value})
|
║ @racket[(fllogb 1.0 x)] ║ ║ @racket[+nan.0] ║
|
||||||
(list @racket[(fllogb b 1.0)] "" @racket[0.0])
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
(list @racket[(fllogb 1.0 x)] "" @racket[+nan.0])
|
║ @racket[(fllogb b x)] ║ @racket[b < 0.0] ║ @racket[+nan.0] ║
|
||||||
(list @racket[(fllogb b x)]
|
║ ║ "or" ║ ║
|
||||||
@nested{@racket[b < 0.0] or @racket[x < 0.0]}
|
║ ║ @racket[x < 0.0] ║ ║
|
||||||
@racket[+nan.0])
|
╠═════════════════════════════════╩══════════════════╩═════════════════╣
|
||||||
(list @italic{Double limits} 'cont 'cont)
|
║ ║
|
||||||
(list @racket[(fllogb 0.0 0.0)] "" @racket[+inf.0])
|
║ @italic{Double limits} ║
|
||||||
(list @racket[(fllogb 0.0 +inf.0)] "" @racket[-inf.0])
|
║ ║
|
||||||
(list @racket[(fllogb +inf.0 0.0)] "" @racket[-inf.0])
|
╠═════════════════════════════════╦══════════════════╦═════════════════╣
|
||||||
(list @racket[(fllogb +inf.0 +inf.0)] "" @racket[+inf.0])
|
║ @racket[(fllogb 0.0 0.0)] ║ ║ @racket[+inf.0] ║
|
||||||
(list @italic{Limits with respect to @racket[b]} 'cont 'cont)
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
(list @racket[(fllogb 0.0 x)] @nested{@racket[x < 1.0]} @racket[0.0])
|
║ @racket[(fllogb 0.0 +inf.0)] ║ ║ @racket[-inf.0] ║
|
||||||
(list @racket[(fllogb 0.0 x)] @nested{@racket[x > 1.0]} @racket[-0.0])
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
(list @racket[(fllogb +inf.0 x)] @nested{@racket[x > 1.0]} @racket[0.0])
|
║ @racket[(fllogb +inf.0 0.0)] ║ ║ @racket[-inf.0] ║
|
||||||
(list @racket[(fllogb +inf.0 x)] @nested{@racket[x < 1.0]} @racket[-0.0])
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
(list @italic{Limits with respect to @racket[x]} 'cont 'cont)
|
║ @racket[(fllogb +inf.0 +inf.0)] ║ ║ @racket[+inf.0] ║
|
||||||
(list @racket[(fllogb b 0.0)] @nested{@racket[b < 1.0]} @racket[+inf.0])
|
╠═════════════════════════════════╩══════════════════╩═════════════════╣
|
||||||
(list @racket[(fllogb b 0.0)] @nested{@racket[b > 1.0]} @racket[-inf.0])
|
║ ║
|
||||||
(list @racket[(fllogb b +inf.0)] @nested{@racket[b > 1.0]} @racket[+inf.0])
|
║ @italic{Limits with respect to @racket[b]} ║
|
||||||
(list @racket[(fllogb b +inf.0)] @nested{@racket[b < 1.0]} @racket[-inf.0]))]}
|
║ ║
|
||||||
|
╠═════════════════════════════════╦══════════════════╦═════════════════╣
|
||||||
|
║ @racket[(fllogb 0.0 x)] ║ @racket[x < 1.0] ║ @racket[0.0] ║
|
||||||
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
|
║ @racket[(fllogb 0.0 x)] ║ @racket[x > 1.0] ║ @racket[-0.0] ║
|
||||||
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
|
║ @racket[(fllogb +inf.0 x)] ║ @racket[x > 1.0] ║ @racket[0.0] ║
|
||||||
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
|
║ @racket[(fllogb +inf.0 x)] ║ @racket[x < 1.0] ║ @racket[-0.0] ║
|
||||||
|
╠═════════════════════════════════╩══════════════════╩═════════════════╣
|
||||||
|
║ ║
|
||||||
|
║ @italic{Limits with respect to @racket[x]} ║
|
||||||
|
║ ║
|
||||||
|
╠═════════════════════════════════╦══════════════════╦═════════════════╣
|
||||||
|
║ @racket[(fllogb b 0.0)] ║ @racket[b < 1.0] ║ @racket[+inf.0] ║
|
||||||
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
|
║ @racket[(fllogb b 0.0)] ║ @racket[b > 1.0] ║ @racket[-inf.0] ║
|
||||||
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
|
║ @racket[(fllogb b +inf.0)] ║ @racket[b > 1.0] ║ @racket[+inf.0] ║
|
||||||
|
╠═════════════════════════════════╬══════════════════╬═════════════════╣
|
||||||
|
║ @racket[(fllogb b +inf.0)] ║ @racket[b < 1.0] ║ @racket[-inf.0] ║
|
||||||
|
╠═════════════════════════════════╩══════════════════╩═════════════════╣
|
||||||
|
║ #:style ║
|
||||||
|
║ (style 'plain ║
|
||||||
|
║ (list (table-columns (list (style 'plain (list 'left)) ║
|
||||||
|
║ (style 'plain (list 'center)) ║
|
||||||
|
║ (style 'plain (list 'right)))) ║
|
||||||
|
║ (attributes '((width . "90%"))))) ║
|
||||||
|
╚══════════════════════════════════════════════════════════════════════╝]
|
||||||
Most of these rules are derived by taking limits of the mathematical base-@racket[b] log function.
|
Most of these rules are derived by taking limits of the mathematical base-@racket[b] log function.
|
||||||
Except for @racket[(fllogb 1.0 x)], when doing so gives rise to ambiguities, they are resolved using
|
Except for @racket[(fllogb 1.0 x)], when doing so gives rise to ambiguities, they are resolved using
|
||||||
@racket[flexpt]'s behavior, which follows the IEEE 754 and C99 standards for @tt{pow}.
|
@racket[flexpt]'s behavior, which follows the IEEE 754 and C99 standards for @tt{pow}.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user