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 (data)
18 (let ((comp (salza2:compress-data
20 (make-instance 'salza2:zlib-compressor))))
21 (values comp (length comp))))
23 ;; KMR: zlib appears to works fine with salza2 zlib compressor, but
24 ;; moving to chipz as default decompressor as appears better supported
25 ;;(defun uncompress-zlib (data)
26 ;; (zlib:uncompress data))
28 (defun uncompress (data)
29 (chipz:decompress nil 'chipz:zlib data))