aboutsummaryrefslogtreecommitdiff
path: root/libpsi-visualizer/src/cli/horizontal_cli.rs
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-12-06 21:52:43 +0100
committerhachem <im@hachem.wtf>2025-12-06 21:52:43 +0100
commitedc6bae7bf5039c8cef2f2c9c164187478b1c7eb (patch)
treed190762eaa2838c11938f3a4f65ad05463d190a6 /libpsi-visualizer/src/cli/horizontal_cli.rs
parent609f7276fc1fb484be34b232d35426f91ddb9b71 (diff)
[add]: complete vertical renderer
Diffstat (limited to 'libpsi-visualizer/src/cli/horizontal_cli.rs')
-rw-r--r--libpsi-visualizer/src/cli/horizontal_cli.rs19
1 files changed, 13 insertions, 6 deletions
diff --git a/libpsi-visualizer/src/cli/horizontal_cli.rs b/libpsi-visualizer/src/cli/horizontal_cli.rs
index b1b851b..067e23d 100644
--- a/libpsi-visualizer/src/cli/horizontal_cli.rs
+++ b/libpsi-visualizer/src/cli/horizontal_cli.rs
@@ -1,3 +1,4 @@
+use super::visualizer::Visualizer;
use core::fmt;
use libpsi_core::{GateOp, QuantumCircuit};
@@ -11,6 +12,12 @@ impl<'a> HorizontalRenderer<'a> {
}
}
+impl<'a> Visualizer for HorizontalRenderer<'a> {
+ fn export(&self) -> String {
+ format!("{}", self)
+ }
+}
+
impl<'a> fmt::Display for HorizontalRenderer<'a> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let nq = self.circuit.num_qubits();
@@ -41,12 +48,12 @@ impl<'a> fmt::Display for HorizontalRenderer<'a> {
if ops.is_empty() {
for line in &q_lines {
- writeln!(f, "{}───", line)?;
+ writeln!(f, "{}───░", line)?;
}
if nc > 0 {
- writeln!(f, "{} ", gap_line)?;
+ writeln!(f, "{} ░", gap_line)?;
for line in &c_lines {
- writeln!(f, "{}═══", line)?;
+ writeln!(f, "{}═══░", line)?;
}
}
return Ok(());
@@ -243,12 +250,12 @@ impl<'a> fmt::Display for HorizontalRenderer<'a> {
}
for line in &q_lines {
- writeln!(f, "{}", line)?;
+ writeln!(f, "{}░", line)?;
}
if nc > 0 {
- writeln!(f, "{}", gap_line)?;
+ writeln!(f, "{}░", gap_line)?;
for line in &c_lines {
- writeln!(f, "{}", line)?;
+ writeln!(f, "{}░", line)?;
}
}