oxilean_std/arithmetic_geometry/ellipticcurve_traits.rs
1//! # EllipticCurve - Trait Implementations
2//!
3//! This module contains trait implementations for `EllipticCurve`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use super::types::EllipticCurve;
12use std::fmt;
13
14impl std::fmt::Display for EllipticCurve {
15 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16 let sign_b = if self.b >= 0 { "+" } else { "-" };
17 write!(
18 f,
19 "y² = x³ {} {} x {} {} over {}",
20 if self.a >= 0 { "+" } else { "-" },
21 self.a.unsigned_abs(),
22 sign_b,
23 self.b.unsigned_abs(),
24 self.field
25 )
26 }
27}