The lispqr Reference Manual

Table of Contents

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

The lispqr Reference Manual

This is the lispqr Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Fri Jun 26 11:39:33 2020 GMT+0.


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

1 Introduction

LispQR

QR Code encoding written in Common Lisp.

Usage

To write to PNG files, you will need to install zpng. If you load LispQR using lispqr.asd, all dependencies will get installed automatically:

(ql:quickload "lispqr")
;; Compile the files (lispqr.asd):
;; (ql:quickload "lispqr")

;; Change into the 'encode' package.
(in-package :mare5x.lispqr.encode)  ;; (in-package :lispqr)

;; Encode to a PNG image file.
(encode->image "https://github.com/mare5x" "test.png" :ec-level :H)

https://github.com/mare5x
(string: "https://github.com/mare5x", version: 4, error correction level: high, encoding mode: byte)

Portacle

Checklist to get up and running using Portacle.

  1. Install Portacle.
  2. Ctrl-X, Ctrl-F <path to repo/lispqr.asd>
  3. Focus the code buffer and press Ctrl-C, Ctrl-K to load the current file.
  4. (ql:quickload "lispqr") in the REPL.
  5. Now you are ready to tinker with LispQR.

References

Written based on QR standards "ISO/IEC 18004:2000" and "ISO/IEC 18004:2006".

Great additional resources:


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 lispqr

Author

mare5x.dev@gmail.com

License

MIT

Description

QR code encoding.

Version

1.0.0

Dependency

zpng

Source

lispqr.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 lispqr/src

Parent

lispqr (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 lispqr.asd

Location

lispqr.asd

Systems

lispqr (system)

Packages

lispqr-asd


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

4.1.2 lispqr/src/packages.lisp

Parent

src (module)

Location

src/packages.lisp

Packages

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

4.1.3 lispqr/src/utils.lisp

Parent

src (module)

Location

src/utils.lisp

Exported Definitions
Internal Definitions

pad-bits (function)


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

4.1.4 lispqr/src/image.lisp

Parent

src (module)

Location

src/image.lisp

Exported Definitions

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

4.1.5 lispqr/src/galois.lisp

Parent

src (module)

Location

src/galois.lisp

Exported Definitions

generate-ec-codewords (function)

Internal Definitions

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

4.1.6 lispqr/src/matrix.lisp

Parent

src (module)

Location

src/matrix.lisp

Exported Definitions
Internal Definitions

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

4.1.7 lispqr/src/encode.lisp

Parent

src (module)

Location

src/encode.lisp

Exported Definitions
Internal Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 lispqr-asd

Source

lispqr.asd

Use List

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

5.2 mare5x.lispqr.galois

Source

packages.lisp (file)

Use List

common-lisp

Used By List

mare5x.lispqr.encode

Exported Definitions

generate-ec-codewords (function)

Internal Definitions

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

5.3 mare5x.lispqr.encode

Source

packages.lisp (file)

Nickname

lispqr

Use List
Exported Definitions
Internal Definitions

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

5.4 mare5x.lispqr.matrix

Source

packages.lisp (file)

Use List
Used By List

mare5x.lispqr.encode

Exported Definitions
Internal Definitions

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

5.5 mare5x.lispqr.image

Source

packages.lisp (file)

Use List
Used By List

mare5x.lispqr.encode

Exported Definitions

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

5.6 mare5x.lispqr.utils

Source

packages.lisp (file)

Use List

common-lisp

Used By List
Exported Definitions
Internal Definitions

pad-bits (function)


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 Macros

Macro: loop-index-value (INDEX VALUE) SEQ &body LOOP-BODY
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Macro: loop-submatrix ((ROW COL) (&optional SUB-ROW SUB-COL)) (SUB-DIMENSIONS &optional POSITION) &body DO-BODY
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Macro: swap SEQ I J
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Macro: with-remainder (VAR N DIVISOR) &body BODY

Bind var to be n mod divisor.

Package

mare5x.lispqr.utils

Source

utils.lisp (file)


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

6.1.2 Functions

Function: binary->decimal SEQ
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: clamp VAL LOW HIGH
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: copy-matrix MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: decimal->8-bit DECIMAL
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: decimal->binary N
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: decimal->n-bit DECIMAL N
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

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 (file)

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 (file)

Function: floor-div A B
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

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 (file)

Function: get-elt SEQ INDEX &optional DEFAULT
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: init-matrix SIZE &key INITIAL-ELEMENT
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: list-lpad LIST N VAL
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: list-ltrim LIST VAL
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: list-rpad LIST N VAL
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: list-xor LIST &rest REST
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: make-qr-matrix DATA VERSION EC-LEVEL &optional MASK-NUMBER
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: mask-pattern MATRIX TEST-FN
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: mask-pattern-test-fn MASK-NUMBER
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: print-2d-array ARRAY
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: print-bits BITS &optional TYPE
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: sequence->list SEQ
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: shift-array ARRAY K
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: splice-list SEQ &optional RTYPE
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: split-list SEQ N

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

Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: string+ &rest STRINGS
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: string-split STR &optional DELIM
Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: version-size VERSION

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

Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: write-qr-matrix FILE-PATH MATRIX &key MODULE-SIZE-PX
Package

mare5x.lispqr.image

Source

image.lisp (file)

Function: write-qr-text MATRIX &key DARK-CHAR LIGHT-CHAR DESTINATION
Package

mare5x.lispqr.image

Source

image.lisp (file)


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

6.2 Internal definitions


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

6.2.1 Constants

Constant: +mod-const+
Package

mare5x.lispqr.galois

Source

galois.lisp (file)


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

6.2.2 Special variables

Special Variable: *draw-debug*
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Special Variable: *draw-debug-path*
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Special Variable: *encode-debug*
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +alignment-pattern+
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Special Variable: +alignment-pattern-locations+
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Special Variable: +alphanumeric-table+
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +ec-bits+
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

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

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +finder-pattern+
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Special Variable: +mode->index+
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +mode-indicators+
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +pad-alternators+
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +powers-of-2+
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Special Variable: +remainder-bits-table+
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Special Variable: +version-ec-characteristics+
Package

mare5x.lispqr.encode

Source

encode.lisp (file)


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

6.2.3 Macros

Macro: generate-powers-of-2 &optional N
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Macro: loop-submatrix-by-column ((ROW COL) (SUB-ROW SUB-COL)) (SUB-DIMENSIONS POSITION) &body DO-BODY
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Macro: make-ec-info-table &rest ROWS
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Macro: when-debugging &body BODY
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Macro: with-entry (ENTRY (VERSION EC-LEVEL)) &body BODY
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Macro: with-entry-slots SLOTS VERSION EC-LEVEL &body BODY
Package

mare5x.lispqr.encode

Source

encode.lisp (file)


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

6.2.4 Functions

Function: add &rest INTEGERS
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: add-alignment-patterns MATRIX MARKED VERSION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: add-dark-module MATRIX MARKED VERSION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: add-data-bits MATRIX MARKED DATA
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: add-finder-patterns MATRIX MARKED
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: add-format-information-bits MATRIX BITS
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: add-timing-patterns MATRIX MARKED
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: add-version-information-bits MATRIX VERSION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: alnum-pair->binary PAIR
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: alpha->polynom F
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: alphanumeric-bit-stream-length STR VERSION
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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 (file)

Function: bit-stream-length STR VERSION ENCODING-MODE
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: byte-bit-stream-length STR VERSION
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: bytes->polynomial BYTES
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: character-count-indicator-bits MODE VERSION
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: data-codeword-blocks->ec-blocks BLOCKS VERSION EC-LEVEL
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: data-codewords->blocks DATA-CODEWORDS VERSION EC-LEVEL
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: draw-debug-matrix MATRIX INFO-STR
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: ec-polynom-div F G EC-CODEWORDS
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: encodable-alphanumerically? STR
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: encodable-byte-mode? STR
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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 (file)

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 (file)

Function: encode-alphanumeric STR

Encodes the given string ’str’ using alphanumeric mode.

Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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 (file)

Function: encode-character-count-indicator STR VERSION ENCODING-MODE
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: encode-codewords STR VERSION EC-LEVEL ENCODING-MODE
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: encode-mode-indicator ENCODING-MODE
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: encode-string-using-mode STR ENCODING-MODE
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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 (file)

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 (file)

Function: eval-mask-penalty MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: eval-mask-penalty-rule-1 MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: eval-mask-penalty-rule-2 MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: eval-mask-penalty-rule-3 MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: eval-mask-penalty-rule-4 MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: fill&mark-submatrix MATRIX MARKED SUB-MATRIX &optional POSITION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: fill-submatrix MATRIX SUB-MATRIX &optional POSITION

Place sub-matrix into matrix at position.

Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: gen-generator N
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: generate-format-bits EC-LEVEL MASK-PATTERN
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: generate-version-bits VERSION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: get-best-encoding-mode STR
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: get-characteristics-entry VERSION EC-LEVEL
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: get-ec-codewords-per-block VERSION EC-LEVEL
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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 (file)

Function: get-entry-slot VERSION EC-LEVEL SLOT
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

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 (file)

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 (file)

Function: get-required-data-codewords VERSION EC-LEVEL
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: int->power A
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: mask-pattern-region MATRIX PROTECTED-REGION MASK-NUMBER
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: match-submatrix MATRIX SUB-MATRIX POSITION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: matrix-size MATRIX
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: mul A B
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: mul-exponents A B
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: order F
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: out-of-bounds DIMENSIONS ROW COL
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: pad-bits BITS

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

Package

mare5x.lispqr.utils

Source

utils.lisp (file)

Function: polynom->alpha F
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: polynom-add F G
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: polynom-add-ec F G
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: polynom-mul F G
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: polynom-mul-scalar F ALPHA
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: polynom-mul-x^n F N
Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: polynom-trim F &optional COUNT

Remove excess zero coefficients.

Package

mare5x.lispqr.galois

Source

galois.lisp (file)

Function: print-characteristics ENTRY
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Function: reserve-format-information MARKED
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: reserve-version-information MARKED VERSION
Package

mare5x.lispqr.matrix

Source

matrix.lisp (file)

Function: sub &rest INTEGERS
Package

mare5x.lispqr.galois

Source

galois.lisp (file)


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

6.2.5 Generic functions

Generic Function: data-codewords OBJECT
Generic Function: (setf data-codewords) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: data-codewords (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf data-codewords) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: data-codewords-per-block OBJECT
Generic Function: (setf data-codewords-per-block) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: data-codewords-per-block (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf data-codewords-per-block) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: ec-blocks OBJECT
Generic Function: (setf ec-blocks) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: ec-blocks (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf ec-blocks) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: ec-codewords OBJECT
Generic Function: (setf ec-codewords) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: ec-codewords (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf ec-codewords) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: ec-codewords-per-block OBJECT
Generic Function: (setf ec-codewords-per-block) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: ec-codewords-per-block (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf ec-codewords-per-block) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: ec-level OBJECT
Generic Function: (setf ec-level) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: ec-level (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf ec-level) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: total-codewords OBJECT
Generic Function: (setf total-codewords) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: total-codewords (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf total-codewords) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)

Generic Function: version OBJECT
Generic Function: (setf version) NEW-VALUE OBJECT
Package

mare5x.lispqr.encode

Methods
Method: version (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated reader method

Source

encode.lisp (file)

Method: (setf version) NEW-VALUE (VERSION-EC-LEVEL-CHARACTERISTICS version-ec-level-characteristics)

automatically generated writer method

Source

encode.lisp (file)


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

6.2.6 Classes

Class: encoding-parameters-t ()
Package

mare5x.lispqr.encode

Source

encode.lisp (file)

Direct superclasses

standard-object (class)

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 (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: version
Initargs

:version

Readers

version (generic function)

Writers

(setf version) (generic function)

Slot: ec-level
Initargs

:ec-level

Readers

ec-level (generic function)

Writers

(setf ec-level) (generic function)

Slot: total-codewords
Initargs

:total-codewords

Readers

total-codewords (generic function)

Writers

(setf total-codewords) (generic function)

Slot: data-codewords
Initargs

:data-codewords

Readers

data-codewords (generic function)

Writers

(setf data-codewords) (generic function)

Slot: ec-codewords
Initargs

:ec-codewords

Readers

ec-codewords (generic function)

Writers

(setf ec-codewords) (generic function)

Slot: ec-codewords-per-block
Initargs

:ec-codewords-per-block

Readers

ec-codewords-per-block (generic function)

Writers

(setf ec-codewords-per-block) (generic function)

Slot: ec-blocks
Initargs

:ec-blocks

Readers

ec-blocks (generic function)

Writers

(setf ec-blocks) (generic function)

Slot: data-codewords-per-block
Initargs

:data-codewords-per-block

Readers

data-codewords-per-block (generic function)

Writers

(setf data-codewords-per-block) (generic function)


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, lispqr.asd: The lispqr․asd file
File, Lisp, lispqr/src/encode.lisp: The lispqr/src/encode․lisp file
File, Lisp, lispqr/src/galois.lisp: The lispqr/src/galois․lisp file
File, Lisp, lispqr/src/image.lisp: The lispqr/src/image․lisp file
File, Lisp, lispqr/src/matrix.lisp: The lispqr/src/matrix․lisp file
File, Lisp, lispqr/src/packages.lisp: The lispqr/src/packages․lisp file
File, Lisp, lispqr/src/utils.lisp: The lispqr/src/utils․lisp file

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

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

Jump to:   F   L   M  

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

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): Internal generic functions
(setf data-codewords): Internal generic functions
(setf data-codewords-per-block): Internal generic functions
(setf data-codewords-per-block): Internal generic functions
(setf ec-blocks): Internal generic functions
(setf ec-blocks): Internal generic functions
(setf ec-codewords): Internal generic functions
(setf ec-codewords): Internal generic functions
(setf ec-codewords-per-block): Internal generic functions
(setf ec-codewords-per-block): Internal generic functions
(setf ec-level): Internal generic functions
(setf ec-level): Internal generic functions
(setf total-codewords): Internal generic functions
(setf total-codewords): Internal generic functions
(setf version): Internal generic functions
(setf version): Internal generic functions

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

B
best-mask-pattern: Internal functions
binary->decimal: Exported functions
bit-stream-length: Internal functions
byte-bit-stream-length: Internal functions
bytes->polynomial: Internal functions

C
character-count-indicator-bits: Internal functions
clamp: Exported functions
copy-matrix: Exported functions

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

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

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

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

I
init-matrix: Exported functions
int->power: Internal functions
interleave-blocks: Internal functions
is-fully-marked-submatrix: Internal functions
is-marked-submatrix: Internal functions

L
list-lpad: Exported functions
list-ltrim: Exported functions
list-rpad: Exported functions
list-xor: Exported functions
loop-index-value: Exported macros
loop-submatrix: Exported macros
loop-submatrix-by-column: Internal macros

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

O
order: Internal functions
out-of-bounds: Internal functions

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

R
reserve-format-information: Internal functions
reserve-version-information: Internal functions

S
sequence->list: Exported functions
shift-array: Exported functions
splice-list: Exported functions
split-list: Exported functions
string+: Exported functions
string-split: Exported functions
sub: Internal functions
swap: Exported macros

T
total-codewords: Internal generic functions
total-codewords: Internal generic functions

V
version: Internal generic functions
version: Internal generic functions
version-size: Exported functions

W
when-debugging: Internal macros
with-entry: Internal macros
with-entry-slots: Internal macros
with-remainder: Exported macros
write-qr-matrix: Exported functions
write-qr-text: Exported functions

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

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

A.3 Variables

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

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

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

C
Constant, +mod-const+: Internal constants

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

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

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

T
total-codewords: Internal classes

V
version: Internal classes
version: Internal classes

Jump to:   *   +  
C   D   E   S   T   V  

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

A.4 Data types

Jump to:   C   E   L   M   P   S   V  
Index Entry  Section

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

E
encoding-parameters-t: Internal classes

L
lispqr: The lispqr system
lispqr-asd: The lispqr-asd package

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

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

S
System, lispqr: The lispqr system

V
version-ec-level-characteristics: Internal classes

Jump to:   C   E   L   M   P   S   V