The fixed Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The fixed Reference Manual

This is the fixed Reference Manual, version 0.0.2, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:53:41 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

FIXED

A Common Lisp fixed-point numeric type package intended to be similar to the Ada language type. The focus is providing a useful abstraction for known reliable precision in a specific range. This package uses CLOS to encapsulate the underlying type.

If the reader macro is installed (install-reader-macro), then fixed point values can be read without floating point precision issues.

A small utility package (:fixed/real-time) provides a portable fixed-point type representing the internal real time.

Please let me know if you find this useful, or encounter issues.

Usage

;; Ordinary power-of-2 fixed point type that supports a resolution of 1/10.
;; This is represented by a 1/16 resolution value.
> (defdelta foo 1/10)

;; Reader macro usage.
> #q foo 1.25
#<FOO 5/4>

;; Fixed point type with precise resolution
;; This is represented by a 1/10 resolution value.
> (defdelta bar 1/10 :small 1/10)

;; Adding range info
> (defdelta foobar 0.01 :small 0.01 :low 0.00 :high 1.00)
> (defparameter fb (make-foobar 0.5))
FB

> fb
#<FOOBAR 0.5>

> (f+ fb (make-foobar 1/2))
#<FOOBAR 1.0>
> (f+ fb (make-foobar 0.51))
;; ERROR: The value 101 is not of type (MOD 101).

> (setf (foobar fb) 0.49)
#<FOOBAR 0.48999998>
> (f+ fb (make-foobar 0.51))
#<FOOBAR 1.0>

;; Base 10 decimal types are simply created like this:
> (fixed:defdecimal milli 3)
MILLI

;; Using the make-milli function works...but comes with
;; floating point precision issues.
> (make-milli 123456789.001)
#<MILLI 123456782.336>
0.0

;; Using the #q reader avoids floating point representation.
> #q milli 123456789.001
#<MILLI 123456789.001>

Fixed-point Reader Macro

A fixed-point reader macro provides a method to input fixed-point literals in decimal form. The reader macro uses the Q format to define a fixed-point spec for the following value.

Install the reader macro as a Q dispatch on # with (install-q-reader).

e.g.

;; Read in fixed-point literals that can be represented exactly by a Q8 spec.
> #Q8 1.5
3/2

> #Q8 0.0078125
1/128

;; Read in a fixed-point literal that can be represented exactly by a Q3 spec, and one that can't.
> #Q3 1.5
3/2

> #Q3 0.0078125
;; ERROR: 0.0078125 is not a #Q3

Bounds checking can also be performed when the maximum number of useable bits are provided in the Q spec.

;; Read in the most positive Q7.8 value.
> #Q7.8 255.99609375
65535/256

> #Q7.8 256.0
;; Error: 256.0 is not a #Q7.8

> #Q7.8 -256.0
-256

Decimal fixed-point values can be read as well with #QD and an optional spec value for digits.

e.g.

> #QD 1.2345678901234567890
1234567890123456789/1000000000000000000

> #QD3 1.2345678901234567890
;; ERROR: 1.2345678901234567890 is not a #QD3

> #QD3 1.234
617/500
> (float *)
1.234

Syntax

defdelta name delta [:small small-value] [:low low-value] [:high high-value]

=> delta-name

defdecimal name power [:low low-value] [:high high-value]

=> decimal-name

Arguments

name --- a symbol

delta --- real number

power --- integer

small-value, low-value, and high-value --- optional real numbers

Description

defdelta defines a fixed-point number type named name capable of representing a value with at least the accuracy provided in delta.

If small-value is provided in defdelta, it must be a real value no greater than delta. small-value is used as the minimum resolution scaling factor for the underlying value. When small-value is not provided, it will be chosen automatically and will be no larger than delta.

The small-value can be any real number, but rationals are recommended to avoid unexpected rounding behaviors for some of the operations. If necessary, consider entering a decimal value using the provided #Q reader macro. The following are equivalent.

(defdelta a-fixed-type #qd 0.2 :small #qd 0.2)
(defdelta a-fixed-type 1/5 :small 1/5)

defdecimal defines a fixed-point number type named name capable of representing a base-10 decimal value with up to power number of digits to the right of the decimal. The small-value selected will be (expt 10 (- power)). Note: This declaration is different from the Ada decimal type where you must still define the delta (but as a power-of-10), and you define the number of digits to use in the underlying type.

low-value and high-value are both optional for defdelta or defdecimal, and are used to define the most-negative and most-positive values of the fixed point type.

defdecimal is essentially identical to defdelta when called with an identical delta and small that is a power of 10. The only difference is that values that have a defdecimal defined type will always be printed in decimal form. Values with a defdelta defined type may be printed as rationals.

Operations

defdelta and defdecimal create a set of functions and generic methods associated with name.

| Operation | Type | Description | | --- | --- | --- | | (make-name value) | Function | Return a new instance of name with value rounded as necessary with *rounding-method* | | (make-name-value value) | Function | Return a new instance of name with the provided underlying value | | (name fp) | Function | Return the value in the name instance scaled by small | | (name-value fp) | Function | Returns the underlying value of an instance of name | | (set-name fp value) | Generic | Set the value of a name instance, rounding as necessary with *rounding-method* | | (set-name-value fp value) | Function | Set the underlying integer value of an instance of name | | (setf (name fp) value) | setf | Set the value of fp with rounding as necessary with *rounding-method* | | (setf (name-value fp) value) | setf | Set the underlying value of fp | | (small fp) or (small 'name) | Generic | Return the small when passed 'name or an instance of name | | (delta fp) or (delta 'name) | Generic | Return the delta when passed 'name or an instance of name | | (size fp) or (size 'name) | Generic | Return the number of bits required to store the underlying value of name when it is ranged, otherwise return :INFINITY |

Constants

+MOST-POSITIVE-NAME+ is defined for each fixed-point type and is either the most positive value, or :POSITIVE-INFINITY if unlimited.

+MOST-NEGATIVE-NAME+ is defined for each fixed-point type and is either the most negative value, or :NEGATIVE-INFINITY if unlimited.

Math Operations

Generic Function Predicates: f= f/= f> f>= f< f<=

Generic Arithmetic Operations: f+ f- f* f/

FIXED/REAL-TIME

A utility package that implements a fixed-point type for internal real time.

;; Get the current internal real time as a fixed point
> (defparameter the-time (current-time))
THE-TIME
> the-time
#<REAL-TIME 3711125.080>

;; do some stuff

;; calculate deltat
> (f- (current-time) the-time)
#<REAL-TIME 15.616>

License

MIT


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 fixed

Author

Nick Patrick <npatrick04@gmail.com>

License

MIT

Description

A fixed-point number type.

Version

0.0.2

Source

fixed.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 fixed/src

Parent

fixed (system)

Location

src/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 fixed.asd

Location

fixed.asd

Systems

fixed (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 fixed/src/package.lisp

Parent

src (module)

Location

src/package.lisp

Packages

fixed


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 fixed/src/reader.lisp

Parent

src (module)

Location

src/reader.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.4 fixed/src/fixed.lisp

Parent

src (module)

Location

src/fixed.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 fixed

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: *rounding-method*

#’round or #’truncate or similar functions will be used to handle precision loss.

Package

fixed

Source

fixed.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Macros

Macro: defdecimal NAME DIGITS &key LOW HIGH

A short-cut for defining a base-10 decimal type, that also happens to be printed correctly.

Package

fixed

Source

fixed.lisp (file)

Macro: defdelta NAME DELTA &key LOW HIGH SMALL

Define a fixed point class named NAME which supports a resolution
of DELTA. The class maintains the value as an
(INTEGER LOW-RANGE HIGH-RANGE) where the LOW-RANGE and HIGH_RANGE are determined to provide an engineering-unit value within the range of low to high.

When SMALL is provided, the resolution of the type is defined to
be exactly SMALL. When only DELTA is provided, the resolution of the type is defined to be the negative power of 2 that is no larger than DELTA.

e.g. (defdelta foo 1/10) yields a SMALL value of 1/16.
(defdelta foo 1/10 :small 1/10) yields a SMALL value of 1/10.

This definition also produces a set of related functions and generic methods for working with the NAME type.
- MAKE-NAME: Creates a NAME type with initial value rounded to the provided value.
- MAKE-NAME-VALUE: Creates a NAME type with internal value as provided.
- SET-NAME: A function to set the internal value according to the engineering unit value provided by rounding.
- SET-NAME-VALUE: A function to set the internal value.
- NAME-VALUE: Accessor (setf’able) for the internal value.
- NAME: Accessor (setf’able) for the engineering unit value.

- Predicates: f= f/= f< f<= f> f>=
- Math operations: f+ f- f* f/

Package

fixed

Source

fixed.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Functions

Function: install-q-reader &optional READTABLE

The Q reader can be used to read fixed point types directly with
exact precision. Generic fixed point types will be read directly
as rational values, and are suitable as an argument for a compatible fixed point type using the MAKE-NAME constructor, where NAME is
the name of the fixed point type.

A generic ordinary fixed point Q spec looks like this:
#Q3 => a type with delta and small of (/ (expt 2 3))
#Q7.8 => a 16 bit (1+ 7 8) signed type with delta and small of (/ (expt 2 8))

A generic decimal fixed point Q spec looks like this:
#QD3 => a type with delta and small of 1/1000
#QD3.1 => a 5 bit type with delta and small of 1/10, i.e. min == -

Use the Q reader to input fixed-point literals in decimal form. The rightmost integer in the Q spec defines the number of fractional
bits. The left-most number before the period, if provided, defines
the number of non-fractional bits. The sign bit is implied.

e.g.
#Q3 1.5 => 3/2
#Q3 1.25 => 5/4
#Q3 1.125 => 9/8
#Q3 1.0625 => Error: 1.0625 is not a Q3

The error in the last one is because 1.0625 requires 4 fractional bits
to represent.

#Q4 1.0625 => 17/16

Currently, the reader function returns a ratio representing the
decimal value read.

Package

fixed

Source

reader.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Generic functions

Generic Function: decimal-fixedp OBJECT

Is the object a decimal fixed point type.

Package

fixed

Source

fixed.lisp (file)

Methods
Method: decimal-fixedp OBJECT
Method: decimal-fixedp (OBJECT decimal-fp)
Generic Function: delta FP

Return the delta used by fp.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f* VALUE &rest REST

Multiply all fixed-point arguments of a single
type. The first value returned is the resultant fixed-point value, the second value is the residual.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f+ VALUE &rest REST

Sum all fixed-point arguments of a single type.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f- VALUE &rest REST

Subtract all fixed-point arguments of a single type
from the first value when more than one value are provided. If only a single value is provided, negate that value.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f/ VALUE &rest REST

Divide the first value by the rest, or perform the
inverse operation if a single value is provided.
The first value returned is the resultant fixed-point value, the second value is the residual.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f/= NUMBER &rest REST

Determine if fixed-point values of the same type are not equal.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f< NUMBER &rest REST

Determine if fixed-point values of the same type are in ascending order.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f<= NUMBER &rest REST

Determine if fixed-point values of the same type are in ascending-or-equal order.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f= NUMBER &rest REST

Determine if fixed-point values of the same type are equal.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f> NUMBER &rest REST

Determine if fixed-point values of the same type are in descending order.

Package

fixed

Source

fixed.lisp (file)

Generic Function: f>= NUMBER &rest REST

Determine if fixed-point values of the same type are in descending-or-equal order.

Package

fixed

Source

fixed.lisp (file)

Generic Function: fixedp OBJECT

Is the object an fixed point type.

Package

fixed

Source

fixed.lisp (file)

Methods
Method: fixedp OBJECT
Method: fixedp (OBJECT fp)
Generic Function: ordinary-fixedp OBJECT

Is the object an ordinary fixed point type.

Package

fixed

Source

fixed.lisp (file)

Methods
Method: ordinary-fixedp OBJECT
Method: ordinary-fixedp (OBJECT ordinary-fp)
Generic Function: ranged-fixedp OBJECT

Is the object a ranged fixed point type.

Package

fixed

Source

fixed.lisp (file)

Methods
Method: ranged-fixedp OBJECT
Method: ranged-fixedp (OBJECT ranged-fp)
Generic Function: size FP

Return the number of bits required by a ranged fp. An fp type defined with zero or one limits returns :INFINITY.

Package

fixed

Source

fixed.lisp (file)

Generic Function: small FP

Return the scaling factor used by fp.

Package

fixed

Source

fixed.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Conditions

Condition: q-reader-error ()
Package

fixed

Source

reader.lisp (file)

Direct superclasses

error (condition)

Direct subclasses
Condition: q-reader-invalid-value ()
Package

fixed

Source

reader.lisp (file)

Direct superclasses

q-reader-error (condition)

Direct methods

q-reader-invalid-value-message (method)

Direct slots
Slot: message
Initargs

:message

Readers

q-reader-invalid-value-message (generic function)

Condition: q-reader-non-symbol ()
Package

fixed

Source

reader.lisp (file)

Direct superclasses

q-reader-error (condition)

Condition: q-reader-unknown-fixed-type ()
Package

fixed

Source

reader.lisp (file)

Direct superclasses

q-reader-error (condition)

Direct methods

unknown-fixed-type-symbol (method)

Direct slots
Slot: symbol
Initargs

:symbol

Readers

unknown-fixed-type-symbol (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.6 Classes

Class: fp ()
Package

fixed

Source

fixed.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
  • fixedp (method)
  • make-load-form (method)
Direct slots
Slot: value
Class: ordinary-fp ()
Package

fixed

Source

fixed.lisp (file)

Direct superclasses

fp (class)

Direct methods

ordinary-fixedp (method)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Constants

Constant: +whitespace+
Package

fixed

Source

reader.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: %defdelta NAME DELTA LOW HIGH SMALL SUPER

Do the work of creating the delta type.

Package

fixed

Source

fixed.lisp (file)

Macro: make-q-class PWR
Package

fixed

Source

fixed.lisp (file)

Macro: math MNAME NAME SV-NAME V-NAME FN
Package

fixed

Source

fixed.lisp (file)

Macro: predicate PNAME NAME RAW FN
Package

fixed

Source

fixed.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: clear-whitespace STREAM
Package

fixed

Source

reader.lisp (file)

Function: pwr-of-2? NUMBER

Is a number a power of 2? If so, return that power.

Package

fixed

Source

fixed.lisp (file)

Function: q-class-name PWR &optional BITS
Package

fixed

Source

fixed.lisp (file)

Function: q-ratio VALUE SIZES
Package

fixed

Source

reader.lisp (file)

Function: q-reader STREAM SUBCHAR ARG

A generic Q spec looks like this:

#Q3 => a type with delta and small of (/ (expt 2 3))
Return value (cons nil 3)

#Q7.8 => a 16 bit (1+ 7 8) signed type with delta and small of (/ (expt 2 8)) Return value (cons 7 8)

Alternatively, a generic Q spec could be in decimal form:

#QD2 123.45 => 12345/100

Package

fixed

Source

reader.lisp (file)

Function: ratio-meets-spec? RAW SPEC
Package

fixed

Source

reader.lisp (file)

Function: read-decimal-q STREAM

Read a decimal #QD with infinite precision, or #QDvalue where value is some integer defining the number of digits of precision.

Package

fixed

Source

reader.lisp (file)

Function: read-decimal-q-decimal STREAM SPEC SPEC-SIZES

Read a decimal #QD with infinite precision, or #QDvalue where value is some integer defining the number of digits of precision.

Package

fixed

Source

reader.lisp (file)

Function: read-integer STREAM &optional CHECK-SIGN?

Read a base-10 integer, leaving whitespace or other characters on the stream. The integer is terminated by any non-digit-char. Return is (values sign result power terminating-char)

Package

fixed

Source

reader.lisp (file)

Function: read-ordinary-q STREAM

Read an ordinary fixed-point value.

Package

fixed

Source

reader.lisp (file)

Function: read-ordinary-q-decimal STREAM SPEC

Read an ordinary fixed-point value.

Package

fixed

Source

reader.lisp (file)

Function: read-q-character-spec STREAM

Read a user-specified Q type, or the D for a decimal type. If the first character read is #D or #d, followed by a digit character, then the result is ’D, indicating a decimal type.

Otherwise, the character is unread, the READ function is called, returning the resultant symbol

Package

fixed

Source

reader.lisp (file)

Function: read-q-decimal STREAM

This reads the integer and fraction into the car and cdr of a cons. The second value is a cons of the count of digits in the first and second integers.

Package

fixed

Source

reader.lisp (file)

Function: read-sign STREAM
Package

fixed

Source

reader.lisp (file)

Function: read-user-decimal DECIMAL-TYPE STREAM
Package

fixed

Source

reader.lisp (file)

Function: read-user-ordinary ORDINARY-TYPE STREAM
Package

fixed

Source

reader.lisp (file)

Function: spec-small Q-SPEC

Given a cons of a Q spec (see Q-READER), return the inverse of the small-value of a corresponding fixed type.

Package

fixed

Source

reader.lisp (file)

Function: symb &rest STRINGS
Package

fixed

Source

fixed.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: q-reader-invalid-value-message CONDITION
Package

fixed

Methods
Method: q-reader-invalid-value-message (CONDITION q-reader-invalid-value)
Source

reader.lisp (file)

Generic Function: unknown-fixed-type-symbol CONDITION
Package

fixed

Methods
Method: unknown-fixed-type-symbol (CONDITION q-reader-unknown-fixed-type)
Source

reader.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Classes

Class: decimal-fp ()
Package

fixed

Source

fixed.lisp (file)

Direct superclasses

fp (class)

Direct methods

decimal-fixedp (method)

Class: ranged-fp ()
Package

fixed

Source

fixed.lisp (file)

Direct superclasses

fp (class)

Direct methods

ranged-fixedp (method)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, fixed.asd: The fixed<dot>asd file
File, Lisp, fixed/src/fixed.lisp: The fixed/src/fixed<dot>lisp file
File, Lisp, fixed/src/package.lisp: The fixed/src/package<dot>lisp file
File, Lisp, fixed/src/reader.lisp: The fixed/src/reader<dot>lisp file
fixed.asd: The fixed<dot>asd file
fixed/src: The fixed/src module
fixed/src/fixed.lisp: The fixed/src/fixed<dot>lisp file
fixed/src/package.lisp: The fixed/src/package<dot>lisp file
fixed/src/reader.lisp: The fixed/src/reader<dot>lisp file

L
Lisp File, fixed.asd: The fixed<dot>asd file
Lisp File, fixed/src/fixed.lisp: The fixed/src/fixed<dot>lisp file
Lisp File, fixed/src/package.lisp: The fixed/src/package<dot>lisp file
Lisp File, fixed/src/reader.lisp: The fixed/src/reader<dot>lisp file

M
Module, fixed/src: The fixed/src module

Jump to:   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %  
C   D   F   G   I   M   O   P   Q   R   S   U  
Index Entry  Section

%
%defdelta: Internal macros

C
clear-whitespace: Internal functions

D
decimal-fixedp: Exported generic functions
decimal-fixedp: Exported generic functions
decimal-fixedp: Exported generic functions
defdecimal: Exported macros
defdelta: Exported macros
delta: Exported generic functions

F
f*: Exported generic functions
f+: Exported generic functions
f-: Exported generic functions
f/: Exported generic functions
f/=: Exported generic functions
f<: Exported generic functions
f<=: Exported generic functions
f=: Exported generic functions
f>: Exported generic functions
f>=: Exported generic functions
fixedp: Exported generic functions
fixedp: Exported generic functions
fixedp: Exported generic functions
Function, clear-whitespace: Internal functions
Function, install-q-reader: Exported functions
Function, pwr-of-2?: Internal functions
Function, q-class-name: Internal functions
Function, q-ratio: Internal functions
Function, q-reader: Internal functions
Function, ratio-meets-spec?: Internal functions
Function, read-decimal-q: Internal functions
Function, read-decimal-q-decimal: Internal functions
Function, read-integer: Internal functions
Function, read-ordinary-q: Internal functions
Function, read-ordinary-q-decimal: Internal functions
Function, read-q-character-spec: Internal functions
Function, read-q-decimal: Internal functions
Function, read-sign: Internal functions
Function, read-user-decimal: Internal functions
Function, read-user-ordinary: Internal functions
Function, spec-small: Internal functions
Function, symb: Internal functions

G
Generic Function, decimal-fixedp: Exported generic functions
Generic Function, delta: Exported generic functions
Generic Function, f*: Exported generic functions
Generic Function, f+: Exported generic functions
Generic Function, f-: Exported generic functions
Generic Function, f/: Exported generic functions
Generic Function, f/=: Exported generic functions
Generic Function, f<: Exported generic functions
Generic Function, f<=: Exported generic functions
Generic Function, f=: Exported generic functions
Generic Function, f>: Exported generic functions
Generic Function, f>=: Exported generic functions
Generic Function, fixedp: Exported generic functions
Generic Function, ordinary-fixedp: Exported generic functions
Generic Function, q-reader-invalid-value-message: Internal generic functions
Generic Function, ranged-fixedp: Exported generic functions
Generic Function, size: Exported generic functions
Generic Function, small: Exported generic functions
Generic Function, unknown-fixed-type-symbol: Internal generic functions

I
install-q-reader: Exported functions

M
Macro, %defdelta: Internal macros
Macro, defdecimal: Exported macros
Macro, defdelta: Exported macros
Macro, make-q-class: Internal macros
Macro, math: Internal macros
Macro, predicate: Internal macros
make-q-class: Internal macros
math: Internal macros
Method, decimal-fixedp: Exported generic functions
Method, decimal-fixedp: Exported generic functions
Method, fixedp: Exported generic functions
Method, fixedp: Exported generic functions
Method, ordinary-fixedp: Exported generic functions
Method, ordinary-fixedp: Exported generic functions
Method, q-reader-invalid-value-message: Internal generic functions
Method, ranged-fixedp: Exported generic functions
Method, ranged-fixedp: Exported generic functions
Method, unknown-fixed-type-symbol: Internal generic functions

O
ordinary-fixedp: Exported generic functions
ordinary-fixedp: Exported generic functions
ordinary-fixedp: Exported generic functions

P
predicate: Internal macros
pwr-of-2?: Internal functions

Q
q-class-name: Internal functions
q-ratio: Internal functions
q-reader: Internal functions
q-reader-invalid-value-message: Internal generic functions
q-reader-invalid-value-message: Internal generic functions

R
ranged-fixedp: Exported generic functions
ranged-fixedp: Exported generic functions
ranged-fixedp: Exported generic functions
ratio-meets-spec?: Internal functions
read-decimal-q: Internal functions
read-decimal-q-decimal: Internal functions
read-integer: Internal functions
read-ordinary-q: Internal functions
read-ordinary-q-decimal: Internal functions
read-q-character-spec: Internal functions
read-q-decimal: Internal functions
read-sign: Internal functions
read-user-decimal: Internal functions
read-user-ordinary: Internal functions

S
size: Exported generic functions
small: Exported generic functions
spec-small: Internal functions
symb: Internal functions

U
unknown-fixed-type-symbol: Internal generic functions
unknown-fixed-type-symbol: Internal generic functions

Jump to:   %  
C   D   F   G   I   M   O   P   Q   R   S   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   M   S   V  
Index Entry  Section

*
*rounding-method*: Exported special variables

+
+whitespace+: Internal constants

C
Constant, +whitespace+: Internal constants

M
message: Exported conditions

S
Slot, message: Exported conditions
Slot, symbol: Exported conditions
Slot, value: Exported classes
Special Variable, *rounding-method*: Exported special variables
symbol: Exported conditions

V
value: Exported classes

Jump to:   *   +  
C   M   S   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   F   O   P   Q   R   S  
Index Entry  Section

C
Class, decimal-fp: Internal classes
Class, fp: Exported classes
Class, ordinary-fp: Exported classes
Class, ranged-fp: Internal classes
Condition, q-reader-error: Exported conditions
Condition, q-reader-invalid-value: Exported conditions
Condition, q-reader-non-symbol: Exported conditions
Condition, q-reader-unknown-fixed-type: Exported conditions

D
decimal-fp: Internal classes

F
fixed: The fixed system
fixed: The fixed package
fp: Exported classes

O
ordinary-fp: Exported classes

P
Package, fixed: The fixed package

Q
q-reader-error: Exported conditions
q-reader-invalid-value: Exported conditions
q-reader-non-symbol: Exported conditions
q-reader-unknown-fixed-type: Exported conditions

R
ranged-fp: Internal classes

S
System, fixed: The fixed system

Jump to:   C   D   F   O   P   Q   R   S