Skip to main content

precision_core/
lib.rs

1#![no_std]
2#![forbid(unsafe_code)]
3#![deny(missing_docs)]
4
5//! Deterministic fixed-point arithmetic for financial computation.
6//!
7//! This crate provides [`Decimal`], a 128-bit decimal type with configurable
8//! rounding modes designed for financial calculations that must produce
9//! identical results across all platforms.
10//!
11//! # Oracle Integration
12//!
13//! The [`oracle`] module provides utilities for working with different oracle
14//! decimal formats (Chainlink, Pyth, etc.) commonly used in DeFi applications.
15
16mod decimal;
17mod error;
18pub mod oracle;
19mod rounding;
20mod tolerance;
21
22pub use decimal::Decimal;
23pub use error::{ArithmeticError, ParseError};
24pub use rounding::RoundingMode;
25pub use tolerance::{
26    approx_eq, approx_eq_relative, approx_eq_ulps, within_basis_points, within_percentage,
27};
28
29#[cfg(feature = "proptest")]
30mod proptest_impl;