Skip to main content

A Python library for Q format representation and overflow handling.

Project description

Introduction

Welcome to the qformat Python library, a powerful tool for formatting floating-point numbers into fixed-point representation with Q notation.

This library supports ARM’s Q format, where QI includes the sign bit.

The main function, qformat, allows users to specify the number of integer bits (QI), fractional bits (QF), whether the number is signed or unsigned, and provides flexibility in choosing rounding and overflow handling methods.

Whether you’re working on embedded systems, signal processing, or any application requiring fixed-point representation, qformat is here to streamline the process.

The example below shows pi being converter to the sQ4.8 format, using Truncation as the rounding method:

>>> from qformatpy import qformat

>>> x = 3.141592653589793
>>> result = qformat(x, qi=4, qf=8, rnd_method='Trunc')
>>> result
array([3.140625])

Installation

The qformatpy library is available via PIP install:

python3 -m venv pyenv
source pyenv/bin/activate

pip install qformatpy

Import the package as shown below:

import qformatpy

Example usage

>>> import numpy as np
>>> import qformatpy

>>> test_array = np.array([1.4, 5.57, 3.14])
>>> qformatpy.rounding(test_array, 'TowardsZero')
array([1, 5, 3])

>>> qformatpy.rounding(test_array, 'HalfDown')
array([1, 6, 3])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qformatpy-0.1.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

qformatpy-0.1.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file qformatpy-0.1.3.tar.gz.

File metadata

  • Download URL: qformatpy-0.1.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for qformatpy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 35b4eb2cdf87f52d70000662d9ea591b92a54ce9f876db0099e61b1b79d6c53f
MD5 64d0e4727cba3e42d85288a65b5448e1
BLAKE2b-256 ac5a62cc2e82bcd1447c7b86b8b0eb2ca0fef5c32e464d9714b5075109615fcc

See more details on using hashes here.

File details

Details for the file qformatpy-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: qformatpy-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for qformatpy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 865b826d84b44297a849cf919ed6ece4ea462c53a1514f69a0297bbee431264e
MD5 8653a56611ef060ff5c1b4beac31573a
BLAKE2b-256 7c98eeb238d491644afd91d1b1533aa624793543f44e78495a2cf4701a6e8e43

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page