;;; -*- Mode:LISP; Package:VINCULUM; Readtable:CL; Base:10 -*- (export '( %%quantum-number-in-cluster cluster->address cluster-number cluster-quantum quantum->address quantum-number quantum->cluster )) (defextractor cluster-number %%cluster-number) (defsubst cluster->address (cluster) (hw:dpb cluster %%cluster-number 0.)) (defextractor quantum-number %%quantum-number) (defsubst quantum->address (quantum) (hw:dpb-unboxed quantum %%quantum-number (hw:unboxed-constant 0.))) (defconstant %%quantum-number-in-cluster (byte (byte-size %%quantum-number) (- (byte-position %%quantum-number) (byte-position %%cluster-number)))) (defsubst cluster-quantum (cluster) (hw:ldb cluster %%quantum-number-in-cluster 0)) (defsubst quantum->cluster (quantum) (hw:dpb quantum %%quantum-number-in-cluster 0))