;;; R7RS-PNM --- Library for reading and writing PNM (Portable Any Map) files for R7RS ;;; Copyright © 2024 Masaya Tojo <masaya@tojo.tokyo> ;;; ;;; This file is part of R7RS-PNM. ;;; ;;; R7RS-PNM is free software: you can redistribute it and/or modify it ;;; under the terms of the GNU Lesser General Public License as published ;;; by the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; R7RS-PNM is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU Lesser General Public License for more details. ;;; ;;; You should have received a copy of the GNU Lesser General Public License ;;; along with R7RS-PNM. If not, see <https://www.gnu.org/licenses/>. (define-library (image-format pnm private double-byte) (export split-double-byte combine-bytes) (import (scheme base) (image-format pnm private bitwise)) (begin (define (split-double-byte v) (values (arithmetic-shift v -8) (bitwise-and v 255))) (define (combine-bytes l r) (bitwise-ior (arithmetic-shift l 8) r))))