Skip to content

Commit 5ed0769

Browse files
committed
Delete the previous LoadedParameter
1 parent d6bc5b2 commit 5ed0769

File tree

2 files changed

+11
-88
lines changed

2 files changed

+11
-88
lines changed

tket/src/serialize/pytket/decoder.rs

Lines changed: 7 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
mod op;
44
mod param;
55

6+
#[expect(
7+
unused_imports,
8+
reason = "Temporarily unused while we refactor the pytket decoder"
9+
)]
10+
pub use param::{LoadedParameter, LoadedParameterType};
11+
612
use std::collections::{HashMap, HashSet};
713

814
use hugr::builder::{Container, Dataflow, DataflowHugr, FunctionBuilder};
@@ -14,7 +20,6 @@ use hugr::std_extensions::arithmetic::float_types::ConstF64;
1420
use hugr::types::Signature;
1521
use hugr::{Hugr, Wire};
1622

17-
use derive_more::Display;
1823
use indexmap::IndexMap;
1924
use itertools::{EitherOrBoth, Itertools};
2025
use serde_json::json;
@@ -27,7 +32,7 @@ use super::{
2732
METADATA_B_REGISTERS, METADATA_OPGROUP, METADATA_PHASE, METADATA_Q_OUTPUT_REGISTERS,
2833
METADATA_Q_REGISTERS,
2934
};
30-
use crate::extension::rotation::{rotation_type, RotationOp};
35+
use crate::extension::rotation::rotation_type;
3136
use crate::serialize::pytket::METADATA_INPUT_PARAMETERS;
3237
use crate::symbolic_constant_op;
3338
use op::Tk1Op;
@@ -354,84 +359,3 @@ fn check_register(register: &register::ElementId) -> Result<(), Tk1ConvertError>
354359
Ok(())
355360
}
356361
}
357-
358-
/// The type of a loaded parameter in the Hugr.
359-
#[derive(Debug, Display, Clone, Copy, Hash, PartialEq, Eq)]
360-
enum LoadedParameterType {
361-
Float,
362-
Rotation,
363-
}
364-
365-
/// A loaded parameter in the Hugr.
366-
///
367-
/// Tracking the type of the wire lets us delay conversion between the types
368-
/// until they are actually needed.
369-
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
370-
struct LoadedParameter {
371-
/// The type of the parameter.
372-
pub typ: LoadedParameterType,
373-
/// The wire where the parameter is loaded.
374-
pub wire: Wire,
375-
}
376-
377-
impl LoadedParameter {
378-
/// Returns a `LoadedParameter` for a float param.
379-
pub fn float(wire: Wire) -> LoadedParameter {
380-
LoadedParameter {
381-
typ: LoadedParameterType::Float,
382-
wire,
383-
}
384-
}
385-
386-
/// Returns a `LoadedParameter` for a rotation param.
387-
pub fn rotation(wire: Wire) -> LoadedParameter {
388-
LoadedParameter {
389-
typ: LoadedParameterType::Rotation,
390-
wire,
391-
}
392-
}
393-
394-
/// Convert the parameter into a given type, if necessary.
395-
///
396-
/// Adds the necessary operations to the Hugr and returns a new wire.
397-
pub fn as_type(
398-
&self,
399-
typ: LoadedParameterType,
400-
hugr: &mut FunctionBuilder<Hugr>,
401-
) -> LoadedParameter {
402-
match (self.typ, typ) {
403-
(LoadedParameterType::Float, LoadedParameterType::Rotation) => {
404-
let wire = hugr
405-
.add_dataflow_op(RotationOp::from_halfturns_unchecked, [self.wire])
406-
.unwrap()
407-
.out_wire(0);
408-
LoadedParameter::rotation(wire)
409-
}
410-
(LoadedParameterType::Rotation, LoadedParameterType::Float) => {
411-
let wire = hugr
412-
.add_dataflow_op(RotationOp::to_halfturns, [self.wire])
413-
.unwrap()
414-
.out_wire(0);
415-
LoadedParameter::float(wire)
416-
}
417-
_ => {
418-
debug_assert_eq!(self.typ, typ, "cannot convert {} to {}", self.typ, typ);
419-
*self
420-
}
421-
}
422-
}
423-
424-
/// Convert the parameter into a float, if necessary.
425-
///
426-
/// Adds the necessary operations to the Hugr and returns a new wire.
427-
pub fn as_float(&self, hugr: &mut FunctionBuilder<Hugr>) -> LoadedParameter {
428-
self.as_type(LoadedParameterType::Float, hugr)
429-
}
430-
431-
/// Convert the parameter into a rotation, if necessary.
432-
///
433-
/// Adds the necessary operations to the Hugr and returns a new wire.
434-
pub fn as_rotation(&self, hugr: &mut FunctionBuilder<Hugr>) -> LoadedParameter {
435-
self.as_type(LoadedParameterType::Rotation, hugr)
436-
}
437-
}

tket/src/serialize/pytket/decoder/param.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
//! Definition of a loaded parameter (either floating point or a rotation type) attached to a HUGR wire.
2-
#![expect(
3-
dead_code,
4-
reason = "Temporarily unused while we refactor the pytket decoder"
5-
)]
6-
72
pub(super) mod parser;
83
use std::sync::LazyLock;
94

@@ -53,6 +48,10 @@ impl LoadedParameter {
5348
}
5449

5550
/// Returns the hugr type for the parameter.
51+
#[expect(
52+
dead_code,
53+
reason = "Temporarily unused while we refactor the pytket decoder"
54+
)]
5655
pub fn wire_type(&self) -> &Type {
5756
static FLOAT_TYPE: LazyLock<Type> = LazyLock::new(float64_type);
5857
static ROTATION_TYPE: LazyLock<Type> = LazyLock::new(rotation_type);

0 commit comments

Comments
 (0)