Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers

We study arithmetic properties of a new tree-based canonical num- ber representation, recursively run-length compressed natural numbers, defined by applying recursively a run-length encoding of their binary digits. We design arithmetic and boolean operations with recursively run- length compressed n...

Full description

Bibliographic Details
Main Author: P. Tarau
Format: Article
Language:English
Published: Alexandru Ioan Cuza University of Iasi 2014-12-01
Series:Scientific Annals of Computer Science
Online Access:http://www.info.uaic.ro/bin/download/Annals/XXIV2/XXIV2_4.pdf
id doaj-074bcdbd61494125bf8ecc1e70dc9c07
record_format Article
spelling doaj-074bcdbd61494125bf8ecc1e70dc9c072020-11-25T01:12:33ZengAlexandru Ioan Cuza University of IasiScientific Annals of Computer Science1843-81212248-26952014-12-01XXIV228732310.7561/SACS.2014.2.287Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural NumbersP. TarauWe study arithmetic properties of a new tree-based canonical num- ber representation, recursively run-length compressed natural numbers, defined by applying recursively a run-length encoding of their binary digits. We design arithmetic and boolean operations with recursively run- length compressed natural numbers that work a block of digits at a time and are limited only by the representation complexity of their operands, rather than their bitsizes. As a result, operations on very large numbers exhibiting a regular structure become tractable. In addition, we ensure that the average complexity of our operations is still within constant factors of the usual arithmetic operations on binary numbers. Arithmetic operations on our recursively run-length compressed are specified as pattern-directed recursive equations made executable by using a purely declarative subset of the functional language Haskell.http://www.info.uaic.ro/bin/download/Annals/XXIV2/XXIV2_4.pdf
collection DOAJ
language English
format Article
sources DOAJ
author P. Tarau
spellingShingle P. Tarau
Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers
Scientific Annals of Computer Science
author_facet P. Tarau
author_sort P. Tarau
title Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers
title_short Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers
title_full Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers
title_fullStr Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers
title_full_unstemmed Arithmetic and Boolean Operations on Recursively Run-Length Compressed Natural Numbers
title_sort arithmetic and boolean operations on recursively run-length compressed natural numbers
publisher Alexandru Ioan Cuza University of Iasi
series Scientific Annals of Computer Science
issn 1843-8121
2248-2695
publishDate 2014-12-01
description We study arithmetic properties of a new tree-based canonical num- ber representation, recursively run-length compressed natural numbers, defined by applying recursively a run-length encoding of their binary digits. We design arithmetic and boolean operations with recursively run- length compressed natural numbers that work a block of digits at a time and are limited only by the representation complexity of their operands, rather than their bitsizes. As a result, operations on very large numbers exhibiting a regular structure become tractable. In addition, we ensure that the average complexity of our operations is still within constant factors of the usual arithmetic operations on binary numbers. Arithmetic operations on our recursively run-length compressed are specified as pattern-directed recursive equations made executable by using a purely declarative subset of the functional language Haskell.
url http://www.info.uaic.ro/bin/download/Annals/XXIV2/XXIV2_4.pdf
work_keys_str_mv AT ptarau arithmeticandbooleanoperationsonrecursivelyrunlengthcompressednaturalnumbers
_version_ 1725165706078584832