Skip to content

Commit

Permalink
update (math): turn vec into matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
lumbrjx committed Jan 20, 2024
1 parent 49f0e8b commit 7c66635
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 14 deletions.
44 changes: 44 additions & 0 deletions src/encpt/math/matrix.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
use crate::shared::parse::split_string;

pub fn char_to_mtrx(chars: Vec<Vec<String>>) -> Vec<Vec<Vec<i32>>> {
let final_vec: Vec<Vec<Vec<i32>>> = chars
.into_iter()
.map(|e| {
e.iter()
.map(|c| {
split_string(c.to_string())
.iter()
.map(|r| r.parse::<i32>().unwrap())
.collect()
})
.collect()
})
.collect();
final_vec
}
// from [["145","456","789"],["741","789","123"]]

// to [[[1,4,5],[4,5,6],[7,8,9]],[[7,4,1],[7,8,9],[1,2,3]]]

#[cfg(test)]
mod tests {
use crate::shared::parse::str2String_vec;

use super::*;

#[test]
fn mtrx_vals() {
let expected = vec![
vec![vec![1, 4, 5], vec![4, 5, 6], vec![7, 8, 9]],
vec![vec![7, 4, 1], vec![7, 8, 9], vec![1, 2, 3]],
];
let nstd_vec = vec![vec!["145", "456", "789"], vec!["741", "789", "123"]];
let res = char_to_mtrx(
nstd_vec
.iter()
.map(|c| str2String_vec(c.to_vec()))
.collect(),
);
assert_eq!(res, expected)
}
}
39 changes: 25 additions & 14 deletions src/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::encpt::mapping::mapper::*;
use encpt::mapping::switcher::switch_chars;
use crate::{encpt::mapping::mapper::*, shared::parse::str2String_vec};
use encpt::{mapping::switcher::switch_chars, math::matrix::char_to_mtrx};
pub mod maps {
pub mod chars;
pub mod salt;
Expand All @@ -8,24 +8,35 @@ mod shared {
pub mod parse;
}
mod encpt {
pub mod math {
pub mod matrix;
}
pub mod mapping {
pub mod mapper;
pub mod switcher;
}
}

fn main() {
let _ = chr_to_mp(vec!["A", "B", "C"], MpType::CharMap);
match salt_extender(String::from("abc"), String::from("dsdfsqdfsqdff")) {
Ok(result) => println!("Result: {}", result),
Err(err) => eprintln!("Error: {}", err),
}
// DA fR FC
match switch_chars(vec!["AD", "fR", "Fm"], vec!["AD", "BR", "FC"]) {
Ok(res) => println!("nested vec {:?}", res),
Err(err) => println!("hmmmm {}", err),
};
let charvc = vec!["A", "v", "b", "Q", "T", "G"];
let res = chr_to_mxas(charvc);
// let _ = chr_to_mp(vec!["A", "B", "C"], MpType::CharMap);
// match salt_extender(String::from("abc"), String::from("dsdfsqdfsqdff")) {
// Ok(result) => println!("Result: {}", result),
// Err(err) => eprintln!("Error: {}", err),
// }
// // DA fR FC
// match switch_chars(vec!["AD", "fR", "Fm"], vec!["AD", "BR", "FC"]) {
// Ok(res) => println!("nested vec {:?}", res),
// Err(err) => println!("hmmmm {}", err),
// };
// let charvc = vec!["A", "v", "b", "Q", "T", "G"];
// let res = chr_to_mxas(charvc);
// println!("{:?}", res)

let vecs = vec![
vec!["785", "535", "789", "987", "123"],
vec!["543", "528", "693", "285", "147"],
vec!["753"],
];
let res = char_to_mtrx(vecs.iter().map(|c| str2String_vec(c.to_vec())).collect());
println!("{:?}", res)
}

0 comments on commit 7c66635

Please sign in to comment.