Improve naming in realization output structures

This commit is contained in:
Aaron Fenyes 2025-07-18 12:16:40 -07:00
parent 477d6a5064
commit f1865f85a1
7 changed files with 53 additions and 47 deletions

View file

@ -2,14 +2,14 @@
use nalgebra::DMatrix;
use dyna3::engine::{Q, DescentHistory, RealizationResult};
use dyna3::engine::{Q, DescentHistory, Realization};
pub fn title(title: &str) {
println!("─── {title} ───");
}
pub fn realization_diagnostics(realization_result: &RealizationResult) {
let RealizationResult { result, history } = realization_result;
pub fn realization_diagnostics(realization: &Realization) {
let Realization { result, history } = realization;
println!();
if let Err(ref message) = result {
println!("❌️ {message}");

View file

@ -1,14 +1,14 @@
#[path = "common/print.rs"]
mod print;
use dyna3::engine::{Realization, examples::realize_irisawa_hexlet};
use dyna3::engine::{ConfigNeighborhood, examples::realize_irisawa_hexlet};
fn main() {
const SCALED_TOL: f64 = 1.0e-12;
let realization_result = realize_irisawa_hexlet(SCALED_TOL);
let realization = realize_irisawa_hexlet(SCALED_TOL);
print::title("Irisawa hexlet");
print::realization_diagnostics(&realization_result);
if let Ok(Realization { config, .. }) = realization_result.result {
print::realization_diagnostics(&realization);
if let Ok(ConfigNeighborhood { config, .. }) = realization.result {
// print the diameters of the chain spheres
println!("\nChain diameters:");
println!(" {} sun (given)", 1.0 / config[(3, 3)]);
@ -19,5 +19,5 @@ fn main() {
// print the completed Gram matrix
print::gram_matrix(&config);
}
print::loss_history(&realization_result.history);
print::loss_history(&realization.history);
}

View file

@ -3,14 +3,14 @@ mod print;
use nalgebra::{DMatrix, DVector};
use dyna3::engine::{Realization, examples::realize_kaleidocycle};
use dyna3::engine::{ConfigNeighborhood, examples::realize_kaleidocycle};
fn main() {
const SCALED_TOL: f64 = 1.0e-12;
let realization_result = realize_kaleidocycle(SCALED_TOL);
let realization = realize_kaleidocycle(SCALED_TOL);
print::title("Kaleidocycle");
print::realization_diagnostics(&realization_result);
if let Ok(Realization { config, tangent }) = realization_result.result {
print::realization_diagnostics(&realization);
if let Ok(ConfigNeighborhood { config, nbhd: tangent }) = realization.result {
// print the completed Gram matrix and the realized configuration
print::gram_matrix(&config);
print::config(&config);

View file

@ -5,8 +5,8 @@ use dyna3::engine::{
point,
realize_gram,
sphere,
ConstraintProblem,
Realization
ConfigNeighborhood,
ConstraintProblem
};
fn main() {
@ -20,14 +20,14 @@ fn main() {
}
}
problem.frozen.push(3, 0, problem.guess[(3, 0)]);
let realization_result = realize_gram(
let realization = realize_gram(
&problem, 1.0e-12, 0.5, 0.9, 1.1, 200, 110
);
print::title("Point on a sphere");
print::realization_diagnostics(&realization_result);
if let Ok(Realization{ config, .. }) = realization_result.result {
print::realization_diagnostics(&realization);
if let Ok(ConfigNeighborhood{ config, .. }) = realization.result {
print::gram_matrix(&config);
print::config(&config);
}
print::loss_history(&realization_result.history);
print::loss_history(&realization.history);
}

View file

@ -1,7 +1,12 @@
#[path = "common/print.rs"]
mod print;
use dyna3::engine::{realize_gram, sphere, ConstraintProblem, Realization};
use dyna3::engine::{
realize_gram,
sphere,
ConfigNeighborhood,
ConstraintProblem
};
fn main() {
let mut problem = ConstraintProblem::from_guess({
@ -17,13 +22,13 @@ fn main() {
problem.gram.push_sym(j, k, if j == k { 1.0 } else { -1.0 });
}
}
let realization_result = realize_gram(
let realization = realize_gram(
&problem, 1.0e-12, 0.5, 0.9, 1.1, 200, 110
);
print::title("Three spheres");
print::realization_diagnostics(&realization_result);
if let Ok(Realization{ config, .. }) = realization_result.result {
print::realization_diagnostics(&realization);
if let Ok(ConfigNeighborhood{ config, .. }) = realization.result {
print::gram_matrix(&config);
}
print::loss_history(&realization_result.history);
print::loss_history(&realization.history);
}