Automatical formatting

This commit is contained in:
PlexSheep 2024-01-10 20:52:13 +00:00 committed by github-actions[bot]
parent 6dcc45d722
commit 43ac1e3fb8
18 changed files with 116 additions and 128 deletions

View File

@ -19,7 +19,7 @@ use libpt::ccc::*;
use libpt::log::*;
use clap::Parser;
use clap_verbosity_flag::{Verbosity, InfoLevel};
use clap_verbosity_flag::{InfoLevel, Verbosity};
use std::path::PathBuf;
@ -64,7 +64,7 @@ pub struct Cli {
pub log_meta: bool,
/// your exporession(s)
#[clap(trailing_var_arg=true)]
#[clap(trailing_var_arg = true)]
pub expression: Vec<String>,
}

View File

@ -19,7 +19,7 @@ use clap::{Parser, Subcommand};
use clap_num::number_range;
use clap_verbosity_flag::{Verbosity, InfoLevel};
use clap_verbosity_flag::{InfoLevel, Verbosity};
//// CONSTANTS /////////////////////////////////////////////////////////////////////////////////////
/// short about section displayed in help
@ -103,13 +103,10 @@ pub enum NetCommands {
/// set a timeout (in ms)
#[clap(short, long, default_value_t = 100)]
timeout: u64
timeout: u64,
},
/// discover hosts in your network
Discover {
}
Discover {},
}
////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -13,7 +13,6 @@
// enable clippy's extra lints, the pedantic version
#![warn(clippy::pedantic)]
//// IMPORTS ///////////////////////////////////////////////////////////////////////////////////////
use libpt::{log::*, net::monitoring::uptime};
@ -26,7 +25,6 @@ use std::path::PathBuf;
//// CONSTANTS /////////////////////////////////////////////////////////////////////////////////////
#[allow(dead_code)]
//// STATICS ///////////////////////////////////////////////////////////////////////////////////////
//// MACROS ////////////////////////////////////////////////////////////////////////////////////////

View File

@ -20,7 +20,8 @@ macro_rules! investigate_memory_layout {
let pointer = item as *const $t;
let mut memory: [u8; std::mem::size_of::<$t>()] = std::mem::transmute(item.clone());
memory.reverse();
println!("\
println!(
"\
\t{index:02x}\titem:\t\t{item:?}\n\
\t\tpointer: \t{:X?}\n\
\t\talign: \t{}\n\

View File

@ -59,8 +59,7 @@ where
return format!("{:.2} Z", total.to_f64().unwrap() / ZEBI as f64);
} else if YOBI <= total {
return format!("{:.2} Y", total.to_f64().unwrap() / YOBI as f64);
}
else {
} else {
unreachable!()
}
}

View File

@ -1,5 +1,5 @@
use libpt_bintols::*;
use libpt_bintols::display::*;
use libpt_bintols::*;
#[test]
fn btobin() {
@ -10,11 +10,16 @@ fn btobin() {
#[test]
fn big_btobin() {
let data = [12,31,82,32,123,32,92,23,12,32,12,1,1,1];
let data = [12, 31, 82, 32, 123, 32, 92, 23, 12, 32, 12, 1, 1, 1];
let r = bytes_to_bin(&data);
assert_eq!(r, format!("0b00001100_00011111_01010010_\
assert_eq!(
r,
format!(
"0b00001100_00011111_01010010_\
00100000_01111011_00100000_01011100_00010111_00001100\n\
_00100000_00001100_00000001_00000001_00000001"));
_00100000_00001100_00000001_00000001_00000001"
)
);
}
#[test]
@ -26,38 +31,38 @@ fn bybit() {
#[test]
fn hmnbytes() {
assert_eq!(humanbytes(0), format!("0 B"));
assert_eq!(humanbytes(1), format!("1 B"));
assert_eq!(humanbytes(0), format!("0 B"));
assert_eq!(humanbytes(1), format!("1 B"));
assert_eq!(humanbytes(KIBI-1), format!("1023 B"));
assert_eq!(humanbytes(KIBI), format!("1.00 K"));
assert_eq!(humanbytes(KIBI+1), format!("1.00 K"));
assert_eq!(humanbytes(KIBI - 1), format!("1023 B"));
assert_eq!(humanbytes(KIBI), format!("1.00 K"));
assert_eq!(humanbytes(KIBI + 1), format!("1.00 K"));
assert_eq!(humanbytes(MEBI-1), format!("1024.00 K"));
assert_eq!(humanbytes(MEBI), format!("1.00 M"));
assert_eq!(humanbytes(MEBI+1), format!("1.00 M"));
assert_eq!(humanbytes(MEBI - 1), format!("1024.00 K"));
assert_eq!(humanbytes(MEBI), format!("1.00 M"));
assert_eq!(humanbytes(MEBI + 1), format!("1.00 M"));
assert_eq!(humanbytes(GIBI-1), format!("1024.00 M"));
assert_eq!(humanbytes(GIBI), format!("1.00 G"));
assert_eq!(humanbytes(GIBI+1), format!("1.00 G"));
assert_eq!(humanbytes(GIBI - 1), format!("1024.00 M"));
assert_eq!(humanbytes(GIBI), format!("1.00 G"));
assert_eq!(humanbytes(GIBI + 1), format!("1.00 G"));
assert_eq!(humanbytes(TEBI-1), format!("1024.00 G"));
assert_eq!(humanbytes(TEBI), format!("1.00 T"));
assert_eq!(humanbytes(TEBI+1), format!("1.00 T"));
assert_eq!(humanbytes(TEBI - 1), format!("1024.00 G"));
assert_eq!(humanbytes(TEBI), format!("1.00 T"));
assert_eq!(humanbytes(TEBI + 1), format!("1.00 T"));
assert_eq!(humanbytes(PEBI-1), format!("1024.00 T"));
assert_eq!(humanbytes(PEBI), format!("1.00 P"));
assert_eq!(humanbytes(PEBI+1), format!("1.00 P"));
assert_eq!(humanbytes(PEBI - 1), format!("1024.00 T"));
assert_eq!(humanbytes(PEBI), format!("1.00 P"));
assert_eq!(humanbytes(PEBI + 1), format!("1.00 P"));
assert_eq!(humanbytes(EXBI-1), format!("1024.00 P"));
assert_eq!(humanbytes(EXBI), format!("1.00 E"));
assert_eq!(humanbytes(EXBI+1), format!("1.00 E"));
assert_eq!(humanbytes(EXBI - 1), format!("1024.00 P"));
assert_eq!(humanbytes(EXBI), format!("1.00 E"));
assert_eq!(humanbytes(EXBI + 1), format!("1.00 E"));
assert_eq!(humanbytes(ZEBI-1), format!("1024.00 E"));
assert_eq!(humanbytes(ZEBI), format!("1.00 Z"));
assert_eq!(humanbytes(ZEBI+1), format!("1.00 Z"));
assert_eq!(humanbytes(ZEBI - 1), format!("1024.00 E"));
assert_eq!(humanbytes(ZEBI), format!("1.00 Z"));
assert_eq!(humanbytes(ZEBI + 1), format!("1.00 Z"));
assert_eq!(humanbytes(YOBI-1), format!("1024.00 Z"));
assert_eq!(humanbytes(YOBI), format!("1.00 Y"));
assert_eq!(humanbytes(YOBI+1), format!("1.00 Y"));
assert_eq!(humanbytes(YOBI - 1), format!("1024.00 Z"));
assert_eq!(humanbytes(YOBI), format!("1.00 Y"));
assert_eq!(humanbytes(YOBI + 1), format!("1.00 Y"));
}

View File

@ -12,12 +12,12 @@
#![warn(clippy::pedantic)]
//// IMPORTS ///////////////////////////////////////////////////////////////////////////////////////
use std::fmt::Display;
pub use num_traits::PrimInt;
use std::fmt::Display;
#[allow(unused_imports)] // we possibly want to use all log levels
#[allow(unused_imports)] // we possibly want to use all log levels
use libpt_log::*;
#[allow(unused_imports)] // import more complex math stuff from there
#[allow(unused_imports)] // import more complex math stuff from there
use libpt_math;
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
@ -48,7 +48,7 @@ pub enum Operator {
/// Mathmatical modulo, finite field arithmetic
Modulo,
/// Any function, seel [`Function`]
Function(Function)
Function(Function),
}
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -82,7 +82,7 @@ pub enum Function {
#[derive(Debug)]
pub enum Error {
/// The term has bad syntax
SyntaxError(String)
SyntaxError(String),
}
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -106,7 +106,7 @@ pub enum NumVal {
/// Value can be negative
Unsigned(u128),
/// Value is not an integer
Float(f64)
Float(f64),
}
//// STRUCTS ///////////////////////////////////////////////////////////////////////////////////////
@ -114,28 +114,27 @@ pub enum NumVal {
///
/// currently not implemented
#[derive(Debug)]
pub struct VarVal {
}
pub struct VarVal {}
////////////////////////////////////////////////////////////////////////////////////////////////////
/// Represents a Value with a complex number,
///
/// currently not implemented
#[derive(Debug)]
pub struct ComplVal {
}
pub struct ComplVal {}
//// IMPLEMENTATION ////////////////////////////////////////////////////////////////////////////////
impl<T: num_traits::PrimInt> From<T> for NumVal where
impl<T: num_traits::PrimInt> From<T> for NumVal
where
u128: TryFrom<T>,
u128: TryFrom<T> {
u128: TryFrom<T>,
{
fn from(value: T) -> Self {
if T::min_value().is_zero() {
// unsigned data types
// `u128` is the largest unsigned datatype, any other type will fit.
NumVal::Unsigned(value.to_u128().unwrap())
}
else {
} else {
// signed data types
// `i128` is the largest unsigned datatype, any other type will fit.
NumVal::Signed(value.to_i128().unwrap())
@ -145,7 +144,7 @@ impl<T: num_traits::PrimInt> From<T> for NumVal where
////////////////////////////////////////////////////////////////////////////////////////////////////
/// Display Errors with a nice little reason
impl Display for Error {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::SyntaxError(reason) => {
write!(f, "Syntax Error: {}", reason)
@ -155,9 +154,11 @@ impl Display for Error {
}
////////////////////////////////////////////////////////////////////////////////////////////////////
impl<T: PrimInt> From<T> for Value where
impl<T: PrimInt> From<T> for Value
where
u128: TryFrom<T>,
u128: TryFrom<T> {
u128: TryFrom<T>,
{
fn from(value: T) -> Self {
NumVal::from(value).into()
}

View File

@ -24,9 +24,9 @@ pub use base::{Error, Result, Value};
pub mod term;
pub use term::*;
#[allow(unused_imports)] // we possibly want to use all log levels
#[allow(unused_imports)] // we possibly want to use all log levels
use libpt_log::*;
#[allow(unused_imports)] // import more complex math stuff from there
#[allow(unused_imports)] // import more complex math stuff from there
use libpt_math;
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
@ -52,7 +52,7 @@ pub struct Calculator;
impl Calculator {
/// Do a single calculation without doing anything else
pub fn oneshot(t: String) -> Result<Value> {
trace!(orig=t, "parsing original string to Term");
trace!(orig = t, "parsing original string to Term");
let t = Term::new(t)?;
trace!("term has been parsed, starting Calculation");
debug!("parsed term: {t:#?}");
@ -73,9 +73,9 @@ impl Calculator {
if t.result.is_none() {
let reason = format!("Term was processed but no result was assigned.");
// FIXME: unfitting error type
return Err(Error::SyntaxError(reason))
return Err(Error::SyntaxError(reason));
}
return t.result.unwrap()
return t.result.unwrap();
}
}

View File

@ -20,10 +20,13 @@
use std::collections::VecDeque;
//// IMPORTS ///////////////////////////////////////////////////////////////////////////////////////
pub use super::{Error, Result, Value, base::{self, *}};
#[allow(unused_imports)] // we possibly want to use all log levels
pub use super::{
base::{self, *},
Error, Result, Value,
};
#[allow(unused_imports)] // we possibly want to use all log levels
use libpt_log::*;
#[allow(unused_imports)] // import more complex math stuff from there
#[allow(unused_imports)] // import more complex math stuff from there
use libpt_math;
//// TYPES /////////////////////////////////////////////////////////////////////////////////////////
@ -73,7 +76,7 @@ pub struct Term {
/////////////////////////////////////
#[allow(unused)] // tmp
operator_stack: Vec<Operator>,
output_queue: VecDeque<Token>
output_queue: VecDeque<Token>,
}
//// IMPLEMENTATION ////////////////////////////////////////////////////////////////////////////////
@ -82,15 +85,13 @@ impl Term {
///
/// Invalid terms will result in an [`Err`].
pub fn new(orig: String) -> Result<Term> {
return Ok(
Term {
original: orig,
text: String::new(), // will be initialized in `prepare()`
result: None,
operator_stack: Vec::new(),
output_queue: VecDeque::new()
}
)
return Ok(Term {
original: orig,
text: String::new(), // will be initialized in `prepare()`
result: None,
operator_stack: Vec::new(),
output_queue: VecDeque::new(),
});
}
/// Prepare the term for the processing.
@ -144,28 +145,21 @@ impl Term {
// - '学' alphanumeric
// - '+' not alphanumeric
for c in s.chars() {
#[cfg(debug_assertions)] {
debug!("filter checks for '{c}':
#[cfg(debug_assertions)]
{
debug!(
"filter checks for '{c}':
alphanumeric: {}
allowed special: {}
EXCEPT IF
ascii control: {}
",
!c.is_alphanumeric(),
!Self::is_allowed_special_c(&c),
c.is_ascii_control(),
)
!c.is_alphanumeric(),
!Self::is_allowed_special_c(&c),
c.is_ascii_control(),
)
}
if
(
!c.is_alphanumeric() ||
!Self::is_allowed_special_c(&c)
)
&&
(
c.is_ascii_control()
)
{
if (!c.is_alphanumeric() || !Self::is_allowed_special_c(&c)) && (c.is_ascii_control()) {
// TODO: allow any unicode char to be a variable
let reason = format!("'{c}' is not a valid character, only alphanumeric, punctuation, operators are allowed.");
warn!(reason);
@ -181,14 +175,14 @@ impl Term {
}
}
return Ok(filtered)
return Ok(filtered);
}
/// check if we should ignore this character
fn is_ignore(c: &char) -> bool {
match *c {
' ' => true,
_ => false
_ => false,
}
}
@ -196,21 +190,22 @@ impl Term {
fn is_allowed_special_c(c: &char) -> bool {
match *c {
'+' | '-' | '*' | '/' | '%' => true,
_ => false
_ => false,
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////
/// Helper methods for Tokens
impl Token { }
impl Token {}
////////////////////////////////////////////////////////////////////////////////////////////////////
impl<T> From<T> for Token where
impl<T> From<T> for Token
where
T: Into<Value>,
T: PrimInt,
u128: TryFrom<T>
{
u128: TryFrom<T>,
{
fn from(value: T) -> Self {
Token::Value(base::Value::from(value))
}

View File

@ -10,11 +10,9 @@
// we want docs
#![warn(missing_docs)]
#![warn(rustdoc::missing_crate_level_docs)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// we want Debug everywhere.
#![warn(missing_debug_implementations)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// enable clippy's extra lints, the pedantic version
#![warn(clippy::pedantic)]

View File

@ -6,11 +6,9 @@
// we want docs
#![warn(missing_docs)]
#![warn(rustdoc::missing_crate_level_docs)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// we want Debug everywhere.
#![warn(missing_debug_implementations)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// enable clippy's extra lints, the pedantic version
#![warn(clippy::pedantic)]

View File

@ -90,4 +90,3 @@ impl std::fmt::Display for Error {
//// PUBLIC FUNCTIONS //////////////////////////////////////////////////////////////////////////////
//// PRIVATE FUNCTIONS /////////////////////////////////////////////////////////////////////////////

View File

@ -28,7 +28,7 @@ use error::*;
pub use tracing::{debug, error, info, trace, warn, Level};
use tracing_appender;
use tracing_subscriber::{prelude::*, fmt::format::FmtSpan};
use tracing_subscriber::{fmt::format::FmtSpan, prelude::*};
use pyo3::prelude::*;
//// CONSTANTS /////////////////////////////////////////////////////////////////////////////////////
@ -254,4 +254,3 @@ impl fmt::Debug for Logger {
//// PUBLIC FUNCTIONS //////////////////////////////////////////////////////////////////////////////
//// PRIVATE FUNCTIONS /////////////////////////////////////////////////////////////////////////////

View File

@ -10,11 +10,9 @@
// we want docs
#![warn(missing_docs)]
#![warn(rustdoc::missing_crate_level_docs)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// we want Debug everywhere.
#![warn(missing_debug_implementations)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// enable clippy's extra lints, the pedantic version
#![warn(clippy::pedantic)]

View File

@ -6,11 +6,9 @@
// we want docs
#![warn(missing_docs)]
#![warn(rustdoc::missing_crate_level_docs)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// we want Debug everywhere.
#![warn(missing_debug_implementations)]
////////////////////////////////////////////////////////////////////////////////////////////////////
// enable clippy's extra lints, the pedantic version
#![warn(clippy::pedantic)]

View File

@ -188,7 +188,11 @@ pub fn continuous_uptime_monitor(
let mut last_was_up: bool = true;
let mut last_ratio: u8 = status.success_ratio;
loop {
trace!(?status, ?last_was_up, "loop iteration for continuous uptime monitor");
trace!(
?status,
?last_was_up,
"loop iteration for continuous uptime monitor"
);
if !status.success {
if last_was_up {
trace!("displaying status");

View File

@ -1,7 +1,5 @@
// FIXME: Using a local dependency does not work with maturin as it seems?
use libpt::{
log::*,
};
use libpt::log::*;
use pyo3::prelude::*;

View File

@ -6,17 +6,17 @@
//! `pt` is a project consisting of multiple smaller crates, all bundled together in this
//! "main crate". Most crates will only show up if you activate their feature.
#[cfg(feature = "core")]
pub use libpt_core as core;
#[cfg(feature = "bintols")]
pub use libpt_bintols as bintols;
#[cfg(feature = "hedu")]
pub use libpt_hedu as hedu;
#[cfg(feature = "log")]
pub use libpt_log as log;
#[cfg(feature = "math")]
pub use libpt_math as math;
#[cfg(feature = "net")]
pub use libpt_net as net;
pub use libpt_bintols as bintols;
#[cfg(feature = "ccc")]
pub use libpt_ccc as ccc;
pub use libpt_ccc as ccc;
#[cfg(feature = "core")]
pub use libpt_core as core;
#[cfg(feature = "hedu")]
pub use libpt_hedu as hedu;
#[cfg(feature = "log")]
pub use libpt_log as log;
#[cfg(feature = "math")]
pub use libpt_math as math;
#[cfg(feature = "net")]
pub use libpt_net as net;