Skip to content

Commit 99f568b

Browse files
authored
refactor!: Rename tk2 encoder names to tket (#1037)
No functionality changes, only renames that we didn't do in #987 I'm not touching the decoder code, since it's already being modified by #1030 BREAKING CHANGE: Renamed various pytket encoder-related structs and methods from `tk1*` to `pytket`
1 parent e087dc4 commit 99f568b

File tree

16 files changed

+180
-179
lines changed

16 files changed

+180
-179
lines changed

tket-py/src/circuit.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub fn module(py: Python<'_>) -> PyResult<Bound<'_, PyModule>> {
4646
"HUGRSerializationError",
4747
py.get_type::<PyHUGRSerializationError>(),
4848
)?;
49-
m.add("TK1ConvertError", py.get_type::<PyTK1ConvertError>())?;
49+
m.add("TK1EncodeError", py.get_type::<PyTk1EncodeError>())?;
5050

5151
Ok(m)
5252
}
@@ -76,8 +76,8 @@ create_py_exception!(
7676
);
7777

7878
create_py_exception!(
79-
tket::serialize::pytket::Tk1ConvertError,
80-
PyTK1ConvertError,
79+
tket::serialize::pytket::PytketEncodeError,
80+
PyTk1EncodeError,
8181
"Error type for the conversion between tket and tket1 operations."
8282
);
8383

tket-py/tket/_tket/circuit.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,4 @@ class HugrError(Exception): ...
181181
class BuildError(Exception): ...
182182
class ValidationError(Exception): ...
183183
class HUGRSerializationError(Exception): ...
184-
class TK1ConvertError(Exception): ...
184+
class TK1EncodeError(Exception): ...

tket-py/tket/circuit/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
BuildError,
1313
ValidationError,
1414
HUGRSerializationError,
15-
TK1ConvertError,
15+
TK1EncodeError,
1616
)
1717

1818
from .build import CircBuild, Command
@@ -33,5 +33,5 @@
3333
"BuildError",
3434
"ValidationError",
3535
"HUGRSerializationError",
36-
"TK1ConvertError",
36+
"TK1EncodeError",
3737
]

tket/src/serialize/pytket.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ mod decoder;
55
pub mod encoder;
66
pub mod extension;
77

8-
pub use config::{default_encoder_config, Tk1EncoderConfig};
9-
pub use encoder::Tk1EncoderContext;
8+
pub use config::{default_encoder_config, PytketEncoderConfig};
9+
pub use encoder::PytketEncoderContext;
1010
pub use extension::PytketEmitter;
1111

1212
use hugr::core::HugrNode;
@@ -72,13 +72,13 @@ pub trait TKETDecode: Sized {
7272
/// non-std operations or types.
7373
fn encode_with_config(
7474
circuit: &Circuit,
75-
config: Tk1EncoderConfig<Hugr>,
75+
config: PytketEncoderConfig<Hugr>,
7676
) -> Result<Self, Self::EncodeError>;
7777
}
7878

7979
impl TKETDecode for SerialCircuit {
80-
type DecodeError = Tk1ConvertError;
81-
type EncodeError = Tk1ConvertError;
80+
type DecodeError = PytketEncodeError;
81+
type EncodeError = PytketEncodeError;
8282

8383
fn decode(self) -> Result<Circuit, Self::DecodeError> {
8484
let mut decoder = Tk1DecoderContext::try_new(&self)?;
@@ -102,31 +102,31 @@ impl TKETDecode for SerialCircuit {
102102

103103
fn encode_with_config(
104104
circuit: &Circuit,
105-
config: Tk1EncoderConfig<Hugr>,
105+
config: PytketEncoderConfig<Hugr>,
106106
) -> Result<Self, Self::EncodeError> {
107-
let mut encoder = Tk1EncoderContext::new(circuit, circuit.parent(), config)?;
107+
let mut encoder = PytketEncoderContext::new(circuit, circuit.parent(), config)?;
108108
encoder.run_encoder(circuit, circuit.parent())?;
109109
let (serial, _) = encoder.finish(circuit, circuit.parent())?;
110110
Ok(serial)
111111
}
112112
}
113113

114114
/// Load a TKET1 circuit from a JSON file.
115-
pub fn load_tk1_json_file(path: impl AsRef<Path>) -> Result<Circuit, Tk1ConvertError> {
115+
pub fn load_tk1_json_file(path: impl AsRef<Path>) -> Result<Circuit, PytketEncodeError> {
116116
let file = fs::File::open(path)?;
117117
let reader = io::BufReader::new(file);
118118
load_tk1_json_reader(reader)
119119
}
120120

121121
/// Load a TKET1 circuit from a JSON reader.
122-
pub fn load_tk1_json_reader(json: impl io::Read) -> Result<Circuit, Tk1ConvertError> {
122+
pub fn load_tk1_json_reader(json: impl io::Read) -> Result<Circuit, PytketEncodeError> {
123123
let ser: SerialCircuit = serde_json::from_reader(json)?;
124124
let circ: Circuit = ser.decode()?;
125125
Ok(circ)
126126
}
127127

128128
/// Load a TKET1 circuit from a JSON string.
129-
pub fn load_tk1_json_str(json: &str) -> Result<Circuit, Tk1ConvertError> {
129+
pub fn load_tk1_json_str(json: &str) -> Result<Circuit, PytketEncodeError> {
130130
let reader = json.as_bytes();
131131
load_tk1_json_reader(reader)
132132
}
@@ -139,7 +139,7 @@ pub fn load_tk1_json_str(json: &str) -> Result<Circuit, Tk1ConvertError> {
139139
///
140140
/// Returns an error if the circuit is not flat or if it contains operations not
141141
/// supported by pytket.
142-
pub fn save_tk1_json_file(circ: &Circuit, path: impl AsRef<Path>) -> Result<(), Tk1ConvertError> {
142+
pub fn save_tk1_json_file(circ: &Circuit, path: impl AsRef<Path>) -> Result<(), PytketEncodeError> {
143143
let file = fs::File::create(path)?;
144144
let writer = io::BufWriter::new(file);
145145
save_tk1_json_writer(circ, writer)
@@ -153,7 +153,7 @@ pub fn save_tk1_json_file(circ: &Circuit, path: impl AsRef<Path>) -> Result<(),
153153
///
154154
/// Returns an error if the circuit is not flat or if it contains operations not
155155
/// supported by pytket.
156-
pub fn save_tk1_json_writer(circ: &Circuit, w: impl io::Write) -> Result<(), Tk1ConvertError> {
156+
pub fn save_tk1_json_writer(circ: &Circuit, w: impl io::Write) -> Result<(), PytketEncodeError> {
157157
let serial_circ = SerialCircuit::encode(circ)?;
158158
serde_json::to_writer(w, &serial_circ)?;
159159
Ok(())
@@ -167,7 +167,7 @@ pub fn save_tk1_json_writer(circ: &Circuit, w: impl io::Write) -> Result<(), Tk1
167167
///
168168
/// Returns an error if the circuit is not flat or if it contains operations not
169169
/// supported by pytket.
170-
pub fn save_tk1_json_str(circ: &Circuit) -> Result<String, Tk1ConvertError> {
170+
pub fn save_tk1_json_str(circ: &Circuit) -> Result<String, PytketEncodeError> {
171171
let mut buf = io::BufWriter::new(Vec::new());
172172
save_tk1_json_writer(circ, &mut buf)?;
173173
let bytes = buf.into_inner().unwrap();
@@ -230,7 +230,7 @@ pub enum OpConvertError<N = hugr::Node> {
230230
#[derive(derive_more::Debug, Display, Error, From)]
231231
#[non_exhaustive]
232232
#[debug(bounds(N: HugrNode))]
233-
pub enum Tk1ConvertError<N = hugr::Node> {
233+
pub enum PytketEncodeError<N = hugr::Node> {
234234
/// Tried to encode a non-dataflow region.
235235
#[display("Cannot encode non-dataflow region at {region} with type {optype}.")]
236236
NonDataflowRegion {
@@ -270,7 +270,7 @@ pub enum Tk1ConvertError<N = hugr::Node> {
270270
},
271271
}
272272

273-
impl<N> Tk1ConvertError<N> {
273+
impl<N> PytketEncodeError<N> {
274274
/// Create a new error with a custom message.
275275
pub fn custom(msg: impl ToString) -> Self {
276276
Self::CustomError {

tket/src/serialize/pytket/config.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,25 @@
33
mod encoder_config;
44
mod type_translators;
55

6-
pub use encoder_config::Tk1EncoderConfig;
6+
pub use encoder_config::PytketEncoderConfig;
77
pub use type_translators::TypeTranslatorSet;
88

99
use crate::serialize::pytket::extension::{
10-
BoolEmitter, FloatEmitter, PreludeEmitter, RotationEmitter, Tk1Emitter, Tk2Emitter,
10+
BoolEmitter, FloatEmitter, PreludeEmitter, RotationEmitter, Tk1Emitter, TketOpEmitter,
1111
};
1212
use hugr::HugrView;
1313

1414
/// Default encoder configuration for [`Circuit`][crate::Circuit]s.
1515
///
1616
/// Contains emitters for std and tket operations.
17-
pub fn default_encoder_config<H: HugrView>() -> Tk1EncoderConfig<H> {
18-
let mut config = Tk1EncoderConfig::new();
17+
pub fn default_encoder_config<H: HugrView>() -> PytketEncoderConfig<H> {
18+
let mut config = PytketEncoderConfig::new();
1919
config.add_emitter(PreludeEmitter);
2020
config.add_emitter(BoolEmitter);
2121
config.add_emitter(FloatEmitter);
2222
config.add_emitter(RotationEmitter);
2323
config.add_emitter(Tk1Emitter);
24-
config.add_emitter(Tk2Emitter);
24+
config.add_emitter(TketOpEmitter);
2525

2626
config.add_type_translator(PreludeEmitter);
2727
config.add_type_translator(BoolEmitter);

tket/src/serialize/pytket/config/encoder_config.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ use hugr::types::{SumType, Type};
1212

1313
use crate::serialize::pytket::encoder::EncodeStatus;
1414
use crate::serialize::pytket::extension::{set_bits_op, PytketTypeTranslator, RegisterCount};
15-
use crate::serialize::pytket::{PytketEmitter, Tk1ConvertError};
15+
use crate::serialize::pytket::{PytketEmitter, PytketEncodeError};
1616
use crate::Circuit;
1717

18-
use super::super::encoder::{Tk1EncoderContext, TrackedValues};
18+
use super::super::encoder::{PytketEncoderContext, TrackedValues};
1919
use super::TypeTranslatorSet;
2020
use hugr::HugrView;
2121
use itertools::Itertools;
@@ -27,7 +27,7 @@ use itertools::Itertools;
2727
/// types, and consts into pytket primitives.
2828
#[derive(derive_more::Debug)]
2929
#[debug(bounds(H: HugrView))]
30-
pub struct Tk1EncoderConfig<H: HugrView> {
30+
pub struct PytketEncoderConfig<H: HugrView> {
3131
/// Operation emitters
3232
#[debug(skip)]
3333
pub(super) emitters: Vec<Box<dyn PytketEmitter<H>>>,
@@ -41,8 +41,8 @@ pub struct Tk1EncoderConfig<H: HugrView> {
4141
type_translators: TypeTranslatorSet,
4242
}
4343

44-
impl<H: HugrView> Tk1EncoderConfig<H> {
45-
/// Create a new [`Tk1EncoderConfig`] with no encoders.
44+
impl<H: HugrView> PytketEncoderConfig<H> {
45+
/// Create a new [`PytketEncoderConfig`] with no encoders.
4646
pub fn new() -> Self {
4747
Self::default()
4848
}
@@ -78,7 +78,7 @@ impl<H: HugrView> Tk1EncoderConfig<H> {
7878
/// Some encoders may not specify an extension, in which case they will be called
7979
/// for all operations irrespectively of the list returned here.
8080
///
81-
/// Use [`Tk1EncoderConfig::add_emitter`] to extend this list.
81+
/// Use [`PytketEncoderConfig::add_emitter`] to extend this list.
8282
pub fn supported_extensions(&self) -> impl Iterator<Item = &ExtensionId> {
8383
self.extension_emitters.keys()
8484
}
@@ -92,8 +92,8 @@ impl<H: HugrView> Tk1EncoderConfig<H> {
9292
node: H::Node,
9393
op: &ExtensionOp,
9494
circ: &Circuit<H>,
95-
encoder: &mut Tk1EncoderContext<H>,
96-
) -> Result<EncodeStatus, Tk1ConvertError<H::Node>> {
95+
encoder: &mut PytketEncoderContext<H>,
96+
) -> Result<EncodeStatus, PytketEncodeError<H::Node>> {
9797
let mut result = EncodeStatus::Unsupported;
9898
let extension = op.def().extension_id();
9999
for enc in self.emitters_for_extension(extension) {
@@ -113,8 +113,8 @@ impl<H: HugrView> Tk1EncoderConfig<H> {
113113
pub fn const_to_pytket(
114114
&self,
115115
value: &Value,
116-
encoder: &mut Tk1EncoderContext<H>,
117-
) -> Result<Option<TrackedValues>, Tk1ConvertError<H::Node>> {
116+
encoder: &mut PytketEncoderContext<H>,
117+
) -> Result<Option<TrackedValues>, PytketEncodeError<H::Node>> {
118118
let mut values = TrackedValues::default();
119119
let mut queue = VecDeque::from([value]);
120120
while let Some(value) = queue.pop_front() {
@@ -197,7 +197,7 @@ impl<H: HugrView> Tk1EncoderConfig<H> {
197197
}
198198
}
199199

200-
impl<H: HugrView> Default for Tk1EncoderConfig<H> {
200+
impl<H: HugrView> Default for PytketEncoderConfig<H> {
201201
fn default() -> Self {
202202
Self {
203203
emitters: Default::default(),

tket/src/serialize/pytket/decoder.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use tket_json_rs::circuit_json::SerialCircuit;
2828
use tket_json_rs::register;
2929

3030
use super::{
31-
OpConvertError, RegisterHash, Tk1ConvertError, METADATA_B_OUTPUT_REGISTERS,
31+
OpConvertError, PytketEncodeError, RegisterHash, METADATA_B_OUTPUT_REGISTERS,
3232
METADATA_B_REGISTERS, METADATA_OPGROUP, METADATA_PHASE, METADATA_Q_OUTPUT_REGISTERS,
3333
METADATA_Q_REGISTERS,
3434
};
@@ -57,7 +57,7 @@ pub(super) struct Tk1DecoderContext {
5757

5858
impl Tk1DecoderContext {
5959
/// Initialize a new [`Tk1Decoder`], using the metadata from a [`SerialCircuit`].
60-
pub fn try_new(serialcirc: &SerialCircuit) -> Result<Self, Tk1ConvertError> {
60+
pub fn try_new(serialcirc: &SerialCircuit) -> Result<Self, PytketEncodeError> {
6161
let num_qubits = serialcirc.qubits.len();
6262
let num_bits = serialcirc.bits.len();
6363
let sig =
@@ -115,7 +115,7 @@ impl Tk1DecoderContext {
115115
check_register(reg)?;
116116
Ok(RegisterHash::from(reg))
117117
})
118-
.collect::<Result<Vec<RegisterHash>, Tk1ConvertError>>()?;
118+
.collect::<Result<Vec<RegisterHash>, PytketEncodeError>>()?;
119119

120120
// Map each register element to their starting wire.
121121
let register_wires: HashMap<RegisterHash, Wire> = ordered_registers
@@ -350,9 +350,9 @@ impl Tk1DecoderContext {
350350
}
351351

352352
/// Only single-indexed registers are supported.
353-
fn check_register(register: &register::ElementId) -> Result<(), Tk1ConvertError> {
353+
fn check_register(register: &register::ElementId) -> Result<(), PytketEncodeError> {
354354
if register.1.len() != 1 {
355-
Err(Tk1ConvertError::MultiIndexedRegister {
355+
Err(PytketEncodeError::MultiIndexedRegister {
356356
register: register.0.clone(),
357357
})
358358
} else {

0 commit comments

Comments
 (0)