src/main.rs

changeset 19
bc7f268b324a
parent 18
84923812d220
child 20
bd6fd49146ce
equal deleted inserted replaced
18:84923812d220 19:bc7f268b324a
5 // We use unicode. We would like to use much more of it than Rust allows. 5 // We use unicode. We would like to use much more of it than Rust allows.
6 // Live with it. Embrace it. 6 // Live with it. Embrace it.
7 #![allow(uncommon_codepoints)] 7 #![allow(uncommon_codepoints)]
8 #![allow(mixed_script_confusables)] 8 #![allow(mixed_script_confusables)]
9 #![allow(confusable_idents)] 9 #![allow(confusable_idents)]
10
11 mod manifold;
12 mod fb;
13 mod cube;
14 mod dist;
15 mod zero;
16 mod scaled;
10 17
11 use serde::Serialize; 18 use serde::Serialize;
12 use alg_tools::logger::Logger; 19 use alg_tools::logger::Logger;
13 use alg_tools::tabledump::{TableDump, write_csv}; 20 use alg_tools::tabledump::{TableDump, write_csv};
14 use alg_tools::error::DynError; 21 use alg_tools::error::DynError;
17 use alg_tools::types::*; 24 use alg_tools::types::*;
18 use alg_tools::mapping::{Sum, Apply}; 25 use alg_tools::mapping::{Sum, Apply};
19 use alg_tools::iterate::{AlgIteratorOptions, AlgIteratorFactory, Verbose}; 26 use alg_tools::iterate::{AlgIteratorOptions, AlgIteratorFactory, Verbose};
20 use image::{ImageFormat, ImageBuffer, Rgb}; 27 use image::{ImageFormat, ImageBuffer, Rgb};
21 28
22 use dist::DistToSquaredDiv2; 29 use dist::{DistTo, DistToSquaredDiv2};
23 use fb::{forward_backward, IterInfo}; 30 use fb::{forward_backward, IterInfo};
24 use manifold::EmbeddedManifoldPoint; 31 use manifold::EmbeddedManifoldPoint;
25 use cube::*; 32 use cube::*;
26 use Face::*; 33 use Face::*;
34 #[allow(unused_imports)]
27 use zero::ZeroFn; 35 use zero::ZeroFn;
28 36 use scaled::Scaled;
29 mod manifold;
30 mod fb;
31 mod cube;
32 mod dist;
33 mod zero;
34 mod scaled;
35 37
36 /// Program entry point 38 /// Program entry point
37 fn main() { 39 fn main() {
38 simple_cube_test().unwrap() 40 simple_cube_test().unwrap()
39 } 41 }
66 68
67 //let x = points[0].clone(); 69 //let x = points[0].clone();
68 // OnCube::new(F3, Loc([0.5, 0.5])); goes to opposite side 70 // OnCube::new(F3, Loc([0.5, 0.5])); goes to opposite side
69 let x = OnCube::new(F3, Loc([0.5, 0.4])); 71 let x = OnCube::new(F3, Loc([0.5, 0.4]));
70 let f = Sum::new(points.into_iter().map(DistToSquaredDiv2)); 72 let f = Sum::new(points.into_iter().map(DistToSquaredDiv2));
71 let g = ZeroFn::new(); 73 //let g = ZeroFn::new();
74 let g = Scaled::new(1.0, DistTo(OnCube::new(F4, Loc([0.5, 0.5]))));
72 let τ = 0.1; 75 let τ = 0.1;
73 76
74 let mut logger = Logger::new(); 77 let mut logger = Logger::new();
75 let logmap = |iter, IterInfo { value, point } : IterInfo<OnCube>| { 78 let logmap = |iter, IterInfo { value, point } : IterInfo<OnCube>| {
76 let Loc([x,y,z]) = point.embedded_coords(); 79 let Loc([x,y,z]) = point.embedded_coords();

mercurial