The lispqr Reference Manual

This is the lispqr Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:10:11 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 lispqr

QR code encoding.

Author

<>

License

MIT

Version

1.0.0

Dependency

zpng (system).

Source

lispqr.asd.

Child Component

src (module).


3 Modules

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


3.1 lispqr/src

Source

lispqr.asd.

Parent Component

lispqr (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 lispqr/lispqr.asd

Source

lispqr.asd.

Parent Component

lispqr (system).

ASDF Systems

lispqr.

Packages

lispqr-asd.


4.1.2 lispqr/src/packages.lisp

Source

lispqr.asd.

Parent Component

src (module).

Packages

4.1.3 lispqr/src/utils.lisp

Source

lispqr.asd.

Parent Component

src (module).

Public Interface
Internals

pad-bits (function).


4.1.4 lispqr/src/image.lisp

Source

lispqr.asd.

Parent Component

src (module).

Public Interface

4.1.5 lispqr/src/galois.lisp

Source

lispqr.asd.

Parent Component

src (module).

Public Interface

generate-ec-codewords (function).

Internals

4.1.6 lispqr/src/matrix.lisp

Source

lispqr.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 lispqr/src/encode.lisp

Source

lispqr.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 mare5x.lispqr.image

Source

packages.lisp.

Use List
Used By List

mare5x.lispqr.encode.

Public Interface

5.2 mare5x.lispqr.utils

Source

packages.lisp.

Use List

common-lisp.

Used By List
Public Interface
Internals

pad-bits (function).


5.3 mare5x.lispqr.encode

Source

packages.lisp.

Nickname

lispqr

Use List
Public Interface
Internals

5.4 lispqr-asd

Source

lispqr.asd.

Use List
  • asdf/interface.
  • common-lisp.

5.5 mare5x.lispqr.galois

Source

packages.lisp.

Use List

common-lisp.

Used By List

mare5x.lispqr.encode.

Public Interface

generate-ec-codewords (function).

Internals

5.6 mare5x.lispqr.matrix

Source

packages.lisp.

Use List
Used By List

mare5x.lispqr.encode.

Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Macros

Macro: loop-index-value ((index value) seq &body loop-body)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Macro: loop-submatrix (((row col) (&optional sub-row sub-col)) (sub-dimensions &optional position) &body do-body)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Macro: swap (seq i j)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Macro: with-remainder ((var n divisor) &body body)

Bind var to be n mod divisor.

Package

mare5x.lispqr.utils.

Source

utils.lisp.


6.1.2 Ordinary functions

Function: binary->decimal (seq)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: clamp (val low high)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: copy-matrix (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: decimal->8-bit (decimal)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: decimal->binary (n)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: decimal->n-bit (decimal n)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: encode->image (str path &key min-version ec-level encoding-mode mask-number)

Encode the string ’str’ and save it to ’path’ (png format).

Optionally specify the minimum version to be used ’min-version’ (1-40).
Error correction level ’ec-level’ can be one of (:L, :M, :Q, :H) as defined by the standard. The ’encoding-mode’ must be in (:alphanumeric :8-bit-byte).
To force the use of a specific masking pattern, use ’mask-number’ (0-7).

If optional parameters are omitted, appropriate values will be automatically computed.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode->matrix (str &key min-version ec-level encoding-mode mask-number)

Encode the string ’str’ and return the encoded QR matrix (2-d array). The QR matrix is a 2-d array of only 1s and 0s. A 1 denotes
a dark module and a 0 denotes a light module.

Optional parameters are the same as for ’encode->image’.

NOTE: the returned matrix does NOT contain the Quiet zone (blank border).

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: floor-div (a b)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: generate-ec-codewords (data-bytes ec-codewords)

Generate error correction codewords for the given data. Returns a list of 8-bit error correction codewords.

Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: get-elt (seq index &optional default)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: init-matrix (size &key initial-element)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: list-lpad (list n val)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: list-ltrim (list val)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: list-rpad (list n val)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: list-xor (list &rest rest)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: make-qr-matrix (data version ec-level &optional mask-number)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: mask-pattern (matrix test-fn)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: mask-pattern-test-fn (mask-number)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: print-2d-array (array)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: print-bits (bits &optional type)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: sequence->list (seq)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: shift-array (array k)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: splice-list (seq &optional rtype)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: split-list (seq n)

Splits a sequence into a list of n-wide parts.

Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: string+ (&rest strings)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: string-split (str &optional delim)
Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: version-size (version)

Returns the size of the QR code (in modules).

Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: write-qr-matrix (file-path matrix &key module-size-px)
Package

mare5x.lispqr.image.

Source

image.lisp.

Function: write-qr-text (matrix &key dark-char light-char destination)
Package

mare5x.lispqr.image.

Source

image.lisp.


6.2 Internals


6.2.1 Constants

Constant: +mod-const+
Package

mare5x.lispqr.galois.

Source

galois.lisp.


6.2.2 Special variables

Special Variable: *draw-debug*
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Special Variable: *draw-debug-path*
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Special Variable: *encode-debug*
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +alignment-pattern+
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Special Variable: +alignment-pattern-locations+
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Special Variable: +alphanumeric-table+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +character-count-indicator-table+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +ec-bits+
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Special Variable: +ec-level->index+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +finder-pattern+
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Special Variable: +mode->index+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +mode-indicators+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +pad-alternators+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +powers-of-2+
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Special Variable: +remainder-bits-table+
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Special Variable: +version-ec-characteristics+
Package

mare5x.lispqr.encode.

Source

encode.lisp.


6.2.3 Macros

Macro: generate-powers-of-2 (&optional n)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Macro: loop-submatrix-by-column (((row col) (sub-row sub-col)) (sub-dimensions position) &body do-body)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Macro: make-ec-info-table (&rest rows)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Macro: when-debugging (&body body)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Macro: with-entry ((entry (version ec-level)) &body body)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Macro: with-entry-slots (slots version ec-level &body body)
Package

mare5x.lispqr.encode.

Source

encode.lisp.


6.2.4 Ordinary functions

Function: add (&rest integers)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: add-alignment-patterns (matrix marked version)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: add-dark-module (matrix marked version)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: add-data-bits (matrix marked data)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: add-finder-patterns (matrix marked)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: add-format-information-bits (matrix bits)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: add-timing-patterns (matrix marked)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: add-version-information-bits (matrix version)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: alnum-pair->binary (pair)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: alpha->polynom (f)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: alphanumeric-bit-stream-length (str version)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: best-mask-pattern (matrix protected-region &optional force-mask-number)

Returns 2 values: the masked matrix and the mask used.

Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: bit-stream-length (str version encoding-mode)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: byte-bit-stream-length (str version)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: bytes->polynomial (bytes)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: character-count-indicator-bits (mode version)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: data-codeword-blocks->ec-blocks (blocks version ec-level)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: data-codewords->blocks (data-codewords version ec-level)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: draw-debug-matrix (matrix info-str)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: ec-polynom-div (f g ec-codewords)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: encodable-alphanumerically? (str)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encodable-byte-mode? (str)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode (str version ec-level encoding-mode)

Completes the encoding necessary to fill in the QR matrix.

Assumes the given version, error correction level and encoding mode are compatible with the given string.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-add-metadata (encoded-data str version ec-level encoding-mode)

Add Mode Indicator, Character count indicator and terminator to binary data. Returns a list of codewords.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-alphanumeric (str)

Encodes the given string ’str’ using alphanumeric mode.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-bytes (str)

Encodes the given string ’str’ using Byte mode.
The character set used is: ISO/IEC 8859-1, which is very similar to Unicode. As such encoding is very simple.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-character-count-indicator (str version encoding-mode)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-codewords (str version ec-level encoding-mode)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-mode-indicator (encoding-mode)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-string-using-mode (str encoding-mode)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encode-terminator (parts version ec-level)

Calculate required terminator bits.
parts is a sequence that contains the mode indicator and encoded data.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: encoded-parts->codewords (bits version ec-level)

Transforms a sequence of bits in
(mode-indicator, character-count-indicator, encoded-data, terminator) to a valid concatenated sequence of 8-bit codewords and padded until the required data codewords quota is filled.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: eval-mask-penalty (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: eval-mask-penalty-rule-1 (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: eval-mask-penalty-rule-2 (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: eval-mask-penalty-rule-3 (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: eval-mask-penalty-rule-4 (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: fill&mark-submatrix (matrix marked sub-matrix &optional position)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: fill-submatrix (matrix sub-matrix &optional position)

Place sub-matrix into matrix at position.

Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: gen-generator (n)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: generate-format-bits (ec-level mask-pattern)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: generate-version-bits (version)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: get-best-encoding-mode (str)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-characteristics-entry (version ec-level)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-ec-codewords-per-block (version ec-level)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-encoding-parameters (str &key min-version ec-level encoding-mode)

Picks the ’best’ encoding parameters to encode the given string, prioritizing lower versions and higher error correction levels.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-entry-slot (version ec-level slot)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-min-version (str min-version ec-level encoding-mode)

Returns the minimum version that fits the given string, encoded using encoding-mode and using the specified error correction level.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-min-version-and-ec-level (str min-version encoding-mode)

Returns the highest error correction level and lowest version that encodes the given string.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: get-required-data-codewords (version ec-level)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: int->power (a)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: interleave-blocks (data-blocks ec-blocks version)

Returns the interleaving of data-blocks and ec-blocks as a list of bit-vectors. If necessary, remainder bits are also added to the result.

Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: is-fully-marked-submatrix (matrix sub-dimensions position &optional value)

Check if all values in sub-matrix are of the given value.

Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: is-marked-submatrix (matrix sub-dimensions &optional position)

Check if there are any 1s at the given sub-dimensions at position in matrix.

Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: mark-submatrix (matrix sub-dimensions &optional position)

Mark matrix’s sub-dimensions with 1s at the given position.

Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: mask-pattern-region (matrix protected-region mask-number)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: match-submatrix (matrix sub-matrix position)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: matrix-size (matrix)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: mul (a b)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: mul-exponents (a b)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: order (f)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: out-of-bounds (dimensions row col)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: pad-bits (bits)

(Left) pad a bit vector with 0s into a multiple of 8.

Package

mare5x.lispqr.utils.

Source

utils.lisp.

Function: polynom->alpha (f)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: polynom-add (f g)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: polynom-add-ec (f g)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: polynom-mul (f g)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: polynom-mul-scalar (f alpha)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: polynom-mul-x^n (f n)
Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: polynom-trim (f &optional count)

Remove excess zero coefficients.

Package

mare5x.lispqr.galois.

Source

galois.lisp.

Function: print-characteristics (entry)
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Function: reserve-format-information (marked)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: reserve-version-information (marked version)
Package

mare5x.lispqr.matrix.

Source

matrix.lisp.

Function: sub (&rest integers)
Package

mare5x.lispqr.galois.

Source

galois.lisp.


6.2.5 Generic functions

Generic Reader: data-codewords (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: data-codewords ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

data-codewords.

Generic Writer: (setf data-codewords) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf data-codewords) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

data-codewords.

Generic Reader: data-codewords-per-block (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: data-codewords-per-block ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

data-codewords-per-block.

Generic Writer: (setf data-codewords-per-block) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf data-codewords-per-block) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

data-codewords-per-block.

Generic Reader: ec-blocks (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: ec-blocks ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

ec-blocks.

Generic Writer: (setf ec-blocks) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf ec-blocks) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

ec-blocks.

Generic Reader: ec-codewords (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: ec-codewords ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

ec-codewords.

Generic Writer: (setf ec-codewords) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf ec-codewords) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

ec-codewords.

Generic Reader: ec-codewords-per-block (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: ec-codewords-per-block ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

ec-codewords-per-block.

Generic Writer: (setf ec-codewords-per-block) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf ec-codewords-per-block) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

ec-codewords-per-block.

Generic Reader: ec-level (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: ec-level ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

ec-level.

Generic Writer: (setf ec-level) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf ec-level) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

ec-level.

Generic Reader: total-codewords (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: total-codewords ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

total-codewords.

Generic Writer: (setf total-codewords) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf total-codewords) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

total-codewords.

Generic Reader: version (object)
Package

mare5x.lispqr.encode.

Methods
Reader Method: version ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated reader method

Source

encode.lisp.

Target Slot

version.

Generic Writer: (setf version) (object)
Package

mare5x.lispqr.encode.

Methods
Writer Method: (setf version) ((version-ec-level-characteristics version-ec-level-characteristics))

automatically generated writer method

Source

encode.lisp.

Target Slot

version.


6.2.6 Classes

Class: encoding-parameters-t
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Direct slots
Slot: version
Initargs

:version

Slot: ec-level
Initargs

:ec-level

Slot: encoding-mode
Initargs

:encoding-mode

Class: version-ec-level-characteristics
Package

mare5x.lispqr.encode.

Source

encode.lisp.

Direct methods
Direct slots
Slot: version
Initargs

:version

Readers

version.

Writers

(setf version).

Slot: ec-level
Initargs

:ec-level

Readers

ec-level.

Writers

(setf ec-level).

Slot: total-codewords
Initargs

:total-codewords

Readers

total-codewords.

Writers

(setf total-codewords).

Slot: data-codewords
Initargs

:data-codewords

Readers

data-codewords.

Writers

(setf data-codewords).

Slot: ec-codewords
Initargs

:ec-codewords

Readers

ec-codewords.

Writers

(setf ec-codewords).

Slot: ec-codewords-per-block
Initargs

:ec-codewords-per-block

Readers

ec-codewords-per-block.

Writers

(setf ec-codewords-per-block).

Slot: ec-blocks
Initargs

:ec-blocks

Readers

ec-blocks.

Writers

(setf ec-blocks).

Slot: data-codewords-per-block
Initargs

:data-codewords-per-block

Readers

data-codewords-per-block.

Writers

(setf data-codewords-per-block).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   O   P   R   S   T   V   W  
Index Entry  Section

(
(setf data-codewords): Private generic functions
(setf data-codewords): Private generic functions
(setf data-codewords-per-block): Private generic functions
(setf data-codewords-per-block): Private generic functions
(setf ec-blocks): Private generic functions
(setf ec-blocks): Private generic functions
(setf ec-codewords): Private generic functions
(setf ec-codewords): Private generic functions
(setf ec-codewords-per-block): Private generic functions
(setf ec-codewords-per-block): Private generic functions
(setf ec-level): Private generic functions
(setf ec-level): Private generic functions
(setf total-codewords): Private generic functions
(setf total-codewords): Private generic functions
(setf version): Private generic functions
(setf version): Private generic functions

A
add: Private ordinary functions
add-alignment-patterns: Private ordinary functions
add-dark-module: Private ordinary functions
add-data-bits: Private ordinary functions
add-finder-patterns: Private ordinary functions
add-format-information-bits: Private ordinary functions
add-timing-patterns: Private ordinary functions
add-version-information-bits: Private ordinary functions
alnum-pair->binary: Private ordinary functions
alpha->polynom: Private ordinary functions
alphanumeric-bit-stream-length: Private ordinary functions

B
best-mask-pattern: Private ordinary functions
binary->decimal: Public ordinary functions
bit-stream-length: Private ordinary functions
byte-bit-stream-length: Private ordinary functions
bytes->polynomial: Private ordinary functions

C
character-count-indicator-bits: Private ordinary functions
clamp: Public ordinary functions
copy-matrix: Public ordinary functions

D
data-codeword-blocks->ec-blocks: Private ordinary functions
data-codewords: Private generic functions
data-codewords: Private generic functions
data-codewords->blocks: Private ordinary functions
data-codewords-per-block: Private generic functions
data-codewords-per-block: Private generic functions
decimal->8-bit: Public ordinary functions
decimal->binary: Public ordinary functions
decimal->n-bit: Public ordinary functions
draw-debug-matrix: Private ordinary functions

E
ec-blocks: Private generic functions
ec-blocks: Private generic functions
ec-codewords: Private generic functions
ec-codewords: Private generic functions
ec-codewords-per-block: Private generic functions
ec-codewords-per-block: Private generic functions
ec-level: Private generic functions
ec-level: Private generic functions
ec-polynom-div: Private ordinary functions
encodable-alphanumerically?: Private ordinary functions
encodable-byte-mode?: Private ordinary functions
encode: Private ordinary functions
encode->image: Public ordinary functions
encode->matrix: Public ordinary functions
encode-add-metadata: Private ordinary functions
encode-alphanumeric: Private ordinary functions
encode-bytes: Private ordinary functions
encode-character-count-indicator: Private ordinary functions
encode-codewords: Private ordinary functions
encode-mode-indicator: Private ordinary functions
encode-string-using-mode: Private ordinary functions
encode-terminator: Private ordinary functions
encoded-parts->codewords: Private ordinary functions
eval-mask-penalty: Private ordinary functions
eval-mask-penalty-rule-1: Private ordinary functions
eval-mask-penalty-rule-2: Private ordinary functions
eval-mask-penalty-rule-3: Private ordinary functions
eval-mask-penalty-rule-4: Private ordinary functions

F
fill&mark-submatrix: Private ordinary functions
fill-submatrix: Private ordinary functions
floor-div: Public ordinary functions
Function, add: Private ordinary functions
Function, add-alignment-patterns: Private ordinary functions
Function, add-dark-module: Private ordinary functions
Function, add-data-bits: Private ordinary functions
Function, add-finder-patterns: Private ordinary functions
Function, add-format-information-bits: Private ordinary functions
Function, add-timing-patterns: Private ordinary functions
Function, add-version-information-bits: Private ordinary functions
Function, alnum-pair->binary: Private ordinary functions
Function, alpha->polynom: Private ordinary functions
Function, alphanumeric-bit-stream-length: Private ordinary functions
Function, best-mask-pattern: Private ordinary functions
Function, binary->decimal: Public ordinary functions
Function, bit-stream-length: Private ordinary functions
Function, byte-bit-stream-length: Private ordinary functions
Function, bytes->polynomial: Private ordinary functions
Function, character-count-indicator-bits: Private ordinary functions
Function, clamp: Public ordinary functions
Function, copy-matrix: Public ordinary functions
Function, data-codeword-blocks->ec-blocks: Private ordinary functions
Function, data-codewords->blocks: Private ordinary functions
Function, decimal->8-bit: Public ordinary functions
Function, decimal->binary: Public ordinary functions
Function, decimal->n-bit: Public ordinary functions
Function, draw-debug-matrix: Private ordinary functions
Function, ec-polynom-div: Private ordinary functions
Function, encodable-alphanumerically?: Private ordinary functions
Function, encodable-byte-mode?: Private ordinary functions
Function, encode: Private ordinary functions
Function, encode->image: Public ordinary functions
Function, encode->matrix: Public ordinary functions
Function, encode-add-metadata: Private ordinary functions
Function, encode-alphanumeric: Private ordinary functions
Function, encode-bytes: Private ordinary functions
Function, encode-character-count-indicator: Private ordinary functions
Function, encode-codewords: Private ordinary functions
Function, encode-mode-indicator: Private ordinary functions
Function, encode-string-using-mode: Private ordinary functions
Function, encode-terminator: Private ordinary functions
Function, encoded-parts->codewords: Private ordinary functions
Function, eval-mask-penalty: Private ordinary functions
Function, eval-mask-penalty-rule-1: Private ordinary functions
Function, eval-mask-penalty-rule-2: Private ordinary functions
Function, eval-mask-penalty-rule-3: Private ordinary functions
Function, eval-mask-penalty-rule-4: Private ordinary functions
Function, fill&mark-submatrix: Private ordinary functions
Function, fill-submatrix: Private ordinary functions
Function, floor-div: Public ordinary functions
Function, gen-generator: Private ordinary functions
Function, generate-ec-codewords: Public ordinary functions
Function, generate-format-bits: Private ordinary functions
Function, generate-version-bits: Private ordinary functions
Function, get-best-encoding-mode: Private ordinary functions
Function, get-characteristics-entry: Private ordinary functions
Function, get-ec-codewords-per-block: Private ordinary functions
Function, get-elt: Public ordinary functions
Function, get-encoding-parameters: Private ordinary functions
Function, get-entry-slot: Private ordinary functions
Function, get-min-version: Private ordinary functions
Function, get-min-version-and-ec-level: Private ordinary functions
Function, get-required-data-codewords: Private ordinary functions
Function, init-matrix: Public ordinary functions
Function, int->power: Private ordinary functions
Function, interleave-blocks: Private ordinary functions
Function, is-fully-marked-submatrix: Private ordinary functions
Function, is-marked-submatrix: Private ordinary functions
Function, list-lpad: Public ordinary functions
Function, list-ltrim: Public ordinary functions
Function, list-rpad: Public ordinary functions
Function, list-xor: Public ordinary functions
Function, make-qr-matrix: Public ordinary functions
Function, mark-submatrix: Private ordinary functions
Function, mask-pattern: Public ordinary functions
Function, mask-pattern-region: Private ordinary functions
Function, mask-pattern-test-fn: Public ordinary functions
Function, match-submatrix: Private ordinary functions
Function, matrix-size: Private ordinary functions
Function, mul: Private ordinary functions
Function, mul-exponents: Private ordinary functions
Function, order: Private ordinary functions
Function, out-of-bounds: Private ordinary functions
Function, pad-bits: Private ordinary functions
Function, polynom->alpha: Private ordinary functions
Function, polynom-add: Private ordinary functions
Function, polynom-add-ec: Private ordinary functions
Function, polynom-mul: Private ordinary functions
Function, polynom-mul-scalar: Private ordinary functions
Function, polynom-mul-x^n: Private ordinary functions
Function, polynom-trim: Private ordinary functions
Function, print-2d-array: Public ordinary functions
Function, print-bits: Public ordinary functions
Function, print-characteristics: Private ordinary functions
Function, reserve-format-information: Private ordinary functions
Function, reserve-version-information: Private ordinary functions
Function, sequence->list: Public ordinary functions
Function, shift-array: Public ordinary functions
Function, splice-list: Public ordinary functions
Function, split-list: Public ordinary functions
Function, string+: Public ordinary functions
Function, string-split: Public ordinary functions
Function, sub: Private ordinary functions
Function, version-size: Public ordinary functions
Function, write-qr-matrix: Public ordinary functions
Function, write-qr-text: Public ordinary functions

G
gen-generator: Private ordinary functions
generate-ec-codewords: Public ordinary functions
generate-format-bits: Private ordinary functions
generate-powers-of-2: Private macros
generate-version-bits: Private ordinary functions
Generic Function, (setf data-codewords): Private generic functions
Generic Function, (setf data-codewords-per-block): Private generic functions
Generic Function, (setf ec-blocks): Private generic functions
Generic Function, (setf ec-codewords): Private generic functions
Generic Function, (setf ec-codewords-per-block): Private generic functions
Generic Function, (setf ec-level): Private generic functions
Generic Function, (setf total-codewords): Private generic functions
Generic Function, (setf version): Private generic functions
Generic Function, data-codewords: Private generic functions
Generic Function, data-codewords-per-block: Private generic functions
Generic Function, ec-blocks: Private generic functions
Generic Function, ec-codewords: Private generic functions
Generic Function, ec-codewords-per-block: Private generic functions
Generic Function, ec-level: Private generic functions
Generic Function, total-codewords: Private generic functions
Generic Function, version: Private generic functions
get-best-encoding-mode: Private ordinary functions
get-characteristics-entry: Private ordinary functions
get-ec-codewords-per-block: Private ordinary functions
get-elt: Public ordinary functions
get-encoding-parameters: Private ordinary functions
get-entry-slot: Private ordinary functions
get-min-version: Private ordinary functions
get-min-version-and-ec-level: Private ordinary functions
get-required-data-codewords: Private ordinary functions

I
init-matrix: Public ordinary functions
int->power: Private ordinary functions
interleave-blocks: Private ordinary functions
is-fully-marked-submatrix: Private ordinary functions
is-marked-submatrix: Private ordinary functions

L
list-lpad: Public ordinary functions
list-ltrim: Public ordinary functions
list-rpad: Public ordinary functions
list-xor: Public ordinary functions
loop-index-value: Public macros
loop-submatrix: Public macros
loop-submatrix-by-column: Private macros

M
Macro, generate-powers-of-2: Private macros
Macro, loop-index-value: Public macros
Macro, loop-submatrix: Public macros
Macro, loop-submatrix-by-column: Private macros
Macro, make-ec-info-table: Private macros
Macro, swap: Public macros
Macro, when-debugging: Private macros
Macro, with-entry: Private macros
Macro, with-entry-slots: Private macros
Macro, with-remainder: Public macros
make-ec-info-table: Private macros
make-qr-matrix: Public ordinary functions
mark-submatrix: Private ordinary functions
mask-pattern: Public ordinary functions
mask-pattern-region: Private ordinary functions
mask-pattern-test-fn: Public ordinary functions
match-submatrix: Private ordinary functions
matrix-size: Private ordinary functions
Method, (setf data-codewords): Private generic functions
Method, (setf data-codewords-per-block): Private generic functions
Method, (setf ec-blocks): Private generic functions
Method, (setf ec-codewords): Private generic functions
Method, (setf ec-codewords-per-block): Private generic functions
Method, (setf ec-level): Private generic functions
Method, (setf total-codewords): Private generic functions
Method, (setf version): Private generic functions
Method, data-codewords: Private generic functions
Method, data-codewords-per-block: Private generic functions
Method, ec-blocks: Private generic functions
Method, ec-codewords: Private generic functions
Method, ec-codewords-per-block: Private generic functions
Method, ec-level: Private generic functions
Method, total-codewords: Private generic functions
Method, version: Private generic functions
mul: Private ordinary functions
mul-exponents: Private ordinary functions

O
order: Private ordinary functions
out-of-bounds: Private ordinary functions

P
pad-bits: Private ordinary functions
polynom->alpha: Private ordinary functions
polynom-add: Private ordinary functions
polynom-add-ec: Private ordinary functions
polynom-mul: Private ordinary functions
polynom-mul-scalar: Private ordinary functions
polynom-mul-x^n: Private ordinary functions
polynom-trim: Private ordinary functions
print-2d-array: Public ordinary functions
print-bits: Public ordinary functions
print-characteristics: Private ordinary functions

R
reserve-format-information: Private ordinary functions
reserve-version-information: Private ordinary functions

S
sequence->list: Public ordinary functions
shift-array: Public ordinary functions
splice-list: Public ordinary functions
split-list: Public ordinary functions
string+: Public ordinary functions
string-split: Public ordinary functions
sub: Private ordinary functions
swap: Public macros

T
total-codewords: Private generic functions
total-codewords: Private generic functions

V
version: Private generic functions
version: Private generic functions
version-size: Public ordinary functions

W
when-debugging: Private macros
with-entry: Private macros
with-entry-slots: Private macros
with-remainder: Public macros
write-qr-matrix: Public ordinary functions
write-qr-text: Public ordinary functions


A.3 Variables

Jump to:   *   +  
C   D   E   S   T   V  
Index Entry  Section

*
*draw-debug*: Private special variables
*draw-debug-path*: Private special variables
*encode-debug*: Private special variables

+
+alignment-pattern+: Private special variables
+alignment-pattern-locations+: Private special variables
+alphanumeric-table+: Private special variables
+character-count-indicator-table+: Private special variables
+ec-bits+: Private special variables
+ec-level->index+: Private special variables
+finder-pattern+: Private special variables
+mod-const+: Private constants
+mode->index+: Private special variables
+mode-indicators+: Private special variables
+pad-alternators+: Private special variables
+powers-of-2+: Private special variables
+remainder-bits-table+: Private special variables
+version-ec-characteristics+: Private special variables

C
Constant, +mod-const+: Private constants

D
data-codewords: Private classes
data-codewords-per-block: Private classes

E
ec-blocks: Private classes
ec-codewords: Private classes
ec-codewords-per-block: Private classes
ec-level: Private classes
ec-level: Private classes
encoding-mode: Private classes

S
Slot, data-codewords: Private classes
Slot, data-codewords-per-block: Private classes
Slot, ec-blocks: Private classes
Slot, ec-codewords: Private classes
Slot, ec-codewords-per-block: Private classes
Slot, ec-level: Private classes
Slot, ec-level: Private classes
Slot, encoding-mode: Private classes
Slot, total-codewords: Private classes
Slot, version: Private classes
Slot, version: Private classes
Special Variable, *draw-debug*: Private special variables
Special Variable, *draw-debug-path*: Private special variables
Special Variable, *encode-debug*: Private special variables
Special Variable, +alignment-pattern+: Private special variables
Special Variable, +alignment-pattern-locations+: Private special variables
Special Variable, +alphanumeric-table+: Private special variables
Special Variable, +character-count-indicator-table+: Private special variables
Special Variable, +ec-bits+: Private special variables
Special Variable, +ec-level->index+: Private special variables
Special Variable, +finder-pattern+: Private special variables
Special Variable, +mode->index+: Private special variables
Special Variable, +mode-indicators+: Private special variables
Special Variable, +pad-alternators+: Private special variables
Special Variable, +powers-of-2+: Private special variables
Special Variable, +remainder-bits-table+: Private special variables
Special Variable, +version-ec-characteristics+: Private special variables

T
total-codewords: Private classes

V
version: Private classes
version: Private classes


A.4 Data types

Jump to:   C   E   F   G   I   L   M   P   S   U   V  
Index Entry  Section

C
Class, encoding-parameters-t: Private classes
Class, version-ec-level-characteristics: Private classes

E
encode.lisp: The lispqr/src/encode․lisp file
encoding-parameters-t: Private classes

F
File, encode.lisp: The lispqr/src/encode․lisp file
File, galois.lisp: The lispqr/src/galois․lisp file
File, image.lisp: The lispqr/src/image․lisp file
File, lispqr.asd: The lispqr/lispqr․asd file
File, matrix.lisp: The lispqr/src/matrix․lisp file
File, packages.lisp: The lispqr/src/packages․lisp file
File, utils.lisp: The lispqr/src/utils․lisp file

G
galois.lisp: The lispqr/src/galois․lisp file

I
image.lisp: The lispqr/src/image․lisp file

L
lispqr: The lispqr system
lispqr-asd: The lispqr-asd package
lispqr.asd: The lispqr/lispqr․asd file

M
mare5x.lispqr.encode: The mare5x․lispqr․encode package
mare5x.lispqr.galois: The mare5x․lispqr․galois package
mare5x.lispqr.image: The mare5x․lispqr․image package
mare5x.lispqr.matrix: The mare5x․lispqr․matrix package
mare5x.lispqr.utils: The mare5x․lispqr․utils package
matrix.lisp: The lispqr/src/matrix․lisp file
Module, src: The lispqr/src module

P
Package, lispqr-asd: The lispqr-asd package
Package, mare5x.lispqr.encode: The mare5x․lispqr․encode package
Package, mare5x.lispqr.galois: The mare5x․lispqr․galois package
Package, mare5x.lispqr.image: The mare5x․lispqr․image package
Package, mare5x.lispqr.matrix: The mare5x․lispqr․matrix package
Package, mare5x.lispqr.utils: The mare5x․lispqr․utils package
packages.lisp: The lispqr/src/packages․lisp file

S
src: The lispqr/src module
System, lispqr: The lispqr system

U
utils.lisp: The lispqr/src/utils․lisp file

V
version-ec-level-characteristics: Private classes