Skip to content

Update mixed constancy check in cycle_group #1584

@ledwards2225

Description

@ledwards2225

At the time of writing, we peform the following check in the primary cycle_group constuctor:

// If both coordinates are constant, enforce that is_infinity is also constant.
if (_x.is_constant() && _y.is_constant() && !_is_infinity.is_constant()) {
    _is_infinity = bool_t(_is_infinity.get_value());
}

This ensures consistent behavior of is_constant(), which checks all three components. Eventually this should become an ASSERT instead since such an inconsistency doesn't make sense. At the time of wrirting, however, noir does produce such points. Apparently noir-lang/noir#10182 should fix this. Confirm and change to an ASSERT.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions