1 ;; -*- Mode: Common-Lisp -*-
2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 ;; Purpose: Uses zlib to compress and uncompress vectors of octets
7 ;; Author: Kevin Rosenberg
8 ;; Date Started: July 2011
10 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12 (in-package #:memstore)
14 ;; KMR: zlib gives compression errors on random tests:
15 ;; indices outside of input array size
16 ;; Using salza2 as default compressor
17 ;;(defun compress-zlib (data)
18 ;; (zlib:compress data :fixed))
20 (defun compress (data)
21 (let ((comp (salza2:compress-data
23 (make-instance 'salza2:zlib-compressor))))
24 (values comp (length comp))))
26 ;; KMR: zlib appears to works fine with salza2 zlib compressor, but
27 ;; moving to chipz as default decompressor as appears better supported
29 ;;(defun uncompress-zlib (data)
30 ;; (zlib:uncompress data))
32 (defun uncompress (data)
33 (chipz:decompress nil 'chipz:zlib data))