mirror of https://github.com/zcash/halo2.git
Change canonical column ordering to Instance < Advice < Fixed
Closes zcash/halo2#325.
This commit is contained in:
parent
ca44b40009
commit
4417b4e480
|
@ -97,13 +97,13 @@ impl CircuitLayout {
|
|||
|
||||
// Figure out what order to render the columns in.
|
||||
// TODO: For now, just render them in the order they were configured.
|
||||
let total_columns = cs.num_advice_columns + cs.num_instance_columns + cs.num_fixed_columns;
|
||||
let total_columns = cs.num_instance_columns + cs.num_advice_columns + cs.num_fixed_columns;
|
||||
let column_index = |column: &Column<Any>| {
|
||||
column.index()
|
||||
+ match column.column_type() {
|
||||
Any::Advice => 0,
|
||||
Any::Instance => cs.num_advice_columns,
|
||||
Any::Fixed => cs.num_advice_columns + cs.num_instance_columns,
|
||||
Any::Instance => 0,
|
||||
Any::Advice => cs.num_instance_columns,
|
||||
Any::Fixed => cs.num_instance_columns + cs.num_advice_columns,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -124,12 +124,15 @@ impl CircuitLayout {
|
|||
ShapeStyle::from(&WHITE).filled(),
|
||||
))?;
|
||||
root.draw(&Rectangle::new(
|
||||
[(0, 0), (cs.num_advice_columns, view_bottom)],
|
||||
[
|
||||
(cs.num_instance_columns, 0),
|
||||
(cs.num_instance_columns + cs.num_advice_columns, view_bottom),
|
||||
],
|
||||
ShapeStyle::from(&RED.mix(0.2)).filled(),
|
||||
))?;
|
||||
root.draw(&Rectangle::new(
|
||||
[
|
||||
(cs.num_advice_columns + cs.num_instance_columns, 0),
|
||||
(cs.num_instance_columns + cs.num_advice_columns, 0),
|
||||
(total_columns, view_bottom),
|
||||
],
|
||||
ShapeStyle::from(&BLUE.mix(0.2)).filled(),
|
||||
|
@ -138,9 +141,9 @@ impl CircuitLayout {
|
|||
let index = selector.index();
|
||||
root.draw(&Rectangle::new(
|
||||
[
|
||||
(cs.num_advice_columns + cs.num_instance_columns + index, 0),
|
||||
(cs.num_instance_columns + cs.num_advice_columns + index, 0),
|
||||
(
|
||||
cs.num_advice_columns + cs.num_instance_columns + index + 1,
|
||||
cs.num_instance_columns + cs.num_advice_columns + index + 1,
|
||||
view_bottom,
|
||||
),
|
||||
],
|
||||
|
|
|
@ -47,13 +47,13 @@ impl<C: ColumnType> Ord for Column<C> {
|
|||
(Any::Advice, Any::Advice)
|
||||
| (Any::Instance, Any::Instance)
|
||||
| (Any::Fixed, Any::Fixed) => self.index.cmp(&other.index),
|
||||
// Across column types, sort Advice < Instance < Fixed.
|
||||
(Any::Advice, Any::Instance)
|
||||
// Across column types, sort Instance < Advice < Fixed.
|
||||
(Any::Instance, Any::Advice)
|
||||
| (Any::Advice, Any::Fixed)
|
||||
| (Any::Instance, Any::Fixed) => std::cmp::Ordering::Less,
|
||||
(Any::Fixed, Any::Instance)
|
||||
| (Any::Fixed, Any::Advice)
|
||||
| (Any::Instance, Any::Advice) => std::cmp::Ordering::Greater,
|
||||
| (Any::Advice, Any::Instance) => std::cmp::Ordering::Greater,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue