Function: 5x5-log
5x5-log is a byte-compiled function defined in 5x5.el.gz.
Signature
(5x5-log NAME VALUE)
Source Code
;; Defined in /usr/src/emacs/lisp/play/5x5.el.gz
(if nil; set to t to enable solver logging
;; Note these logging facilities were not cleaned out as the arithmetic
;; solver is not yet complete --- it works only for grid size = 5.
;; So they may be useful again to design a more generic solution.
(progn
(defvar 5x5-log-buffer nil)
(defun 5x5-log-init ()
(if (buffer-live-p 5x5-log-buffer)
(with-current-buffer 5x5-log-buffer (erase-buffer))
(setq 5x5-log-buffer (get-buffer-create "*5x5 LOG*"))))
(defun 5x5-log (name value)
"Debug purposes only.
Log a matrix VALUE of (mod B 2) forms, only B is output and
Scilab matrix notation is used. VALUE is returned so that it is
easy to log a value with minimal rewrite of code."
(when (buffer-live-p 5x5-log-buffer)
(defvar calc-matrix-brackets)
(defvar calc-vector-commas)
(let* ((unpacked-value
(math-map-vec
(lambda (row) (math-map-vec 'cadr row))
value))
(calc-vector-commas "")
(calc-matrix-brackets '(C O))
(value-to-log (math-format-value unpacked-value)))
(with-current-buffer 5x5-log-buffer
(insert name ?= value-to-log ?\n))))
value))
(defsubst 5x5-log-init ())
(defsubst 5x5-log (_name value) value))