avr-int24

Crates.ioavr-int24
lib.rsavr-int24
version1.1.0
created_at2025-10-25 19:11:40.752014+00
updated_at2025-10-29 18:16:23.030996+00
description24 bit integer arithmetic for AVR
homepagehttps://bues.ch/
repositoryhttps://github.com/mbuesch/avr-int24
max_upload_size
id1900534
size73,401
Michael Büsch (mbuesch)

documentation

README

24 bit integer arithmetic for AVR

This library provides a 24-bit signed integer type, Int24, for Rust. It is designed for use on AVR microcontrollers.

Features

  • 24-bit signed integer type (Int24)
  • Saturating arithmetic operations: addition, subtraction, multiplication, division
  • Bitwise operations: shift left, shift right
  • Specialized operations: Shift left and then divide
  • Comparison operations
  • Conversions to and from i16 and i32
  • Most operations are const or have a const variant
  • All operations are highly optimized for speed and code size

Usage

To use the Int24 type, add avr-int24 as a dependency to your Cargo.toml

[dependencies]
avr-int24 = "1"

and then use it in your code:

use avr_int24::Int24;

let a = Int24::from_i16(30000);
let b = Int24::from_i16(10000);

let c = a + b;

assert_eq!(c.to_i32(), 40000);

Rust compiler

AVR inline assembly is not yet stabilized. Therefore, a nightly Rust compiler is required.

Commit count: 0

cargo fmt