bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel
classValidatePiecewiseLinearChannel¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel
Bases: BloqadeIRVisitor
Signature
class ValidatePiecewiseLinearChannel(level_coupling: sequence.LevelCoupling, field_name: pulse.FieldName, spatial_modulations: field.SpatialModulation)Parameters
| Name | Type | Description |
|---|---|---|
level_coupling | sequence.LevelCoupling | |
field_name | pulse.FieldName | |
spatial_modulations | field.SpatialModulation |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
level_coupling | — | level_coupling | |
field_name | — | field_name | |
spatial_modulations | — | spatial_modulations |
methodcheck_continuous¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.check_continuous
Signature
def check_continuous(time: scalar.Scalar, level: str, lhs: waveform.Waveform, rhs: waveform.Waveform)Parameters
| Name | Type | Description |
|---|---|---|
time | scalar.Scalar | |
level | str | |
lhs | waveform.Waveform | |
rhs | waveform.Waveform |
methodemit_shape_error¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.emit_shape_error
def emit_shape_error(node: waveform.Waveform)Parameters
| Name | Type | Description |
|---|---|---|
node | waveform.Waveform |
methodvisit_waveform_Poly¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Poly
def visit_waveform_Poly(node: waveform.Poly) -> NoneParameters
| Name | Type | Description |
|---|---|---|
node | waveform.Poly |
methodvisit_waveform_Sample¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Sample
def visit_waveform_Sample(node: waveform.Sample) -> NoneParameters
| Name | Type | Description |
|---|---|---|
node | waveform.Sample |
methodvisit_waveform_Smooth¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Smooth
def visit_waveform_Smooth(node: waveform.Smooth) -> NoneParameters
| Name | Type | Description |
|---|---|---|
node | waveform.Smooth |
methodvisit_waveform_PythonFn¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_PythonFn
def visit_waveform_PythonFn(node: waveform.PythonFn) -> NoneParameters
| Name | Type | Description |
|---|---|---|
node | waveform.PythonFn |
methodvisit_waveform_Append¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Append
def visit_waveform_Append(node: waveform.Append) -> NoneParameters
| Name | Type | Description |
|---|---|---|
node | waveform.Append |
methodvisit_sequence_Append¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_Append
def visit_sequence_Append(node: sequence.Append) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | sequence.Append |
Returns
waveform.Waveform
methodvisit_sequence_Slice¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_Slice
def visit_sequence_Slice(node: sequence.Slice) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | sequence.Slice |
Returns
waveform.Waveform
methodvisit_sequence_NamedSequence¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_NamedSequence
Signature
def visit_sequence_NamedSequence(node: sequence.NamedSequence) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | sequence.NamedSequence |
Returns
waveform.Waveform
methodvisit_sequence_Sequence¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_Sequence
Signature
def visit_sequence_Sequence(node: sequence.Sequence) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | sequence.Sequence |
Returns
waveform.Waveform
methodvisit_pulse_Append¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_Append
def visit_pulse_Append(node: pulse.Append) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | pulse.Append |
Returns
waveform.Waveform
methodvisit_pulse_Slice¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_Slice
def visit_pulse_Slice(node: pulse.Slice) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | pulse.Slice |
Returns
waveform.Waveform
methodvisit_pulse_NamedPulse¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_NamedPulse
def visit_pulse_NamedPulse(node: pulse.NamedPulse) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | pulse.NamedPulse |
Returns
waveform.Waveform
methodvisit_pulse_Pulse¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_Pulse
def visit_pulse_Pulse(node: pulse.Pulse) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | pulse.Pulse |
Returns
waveform.Waveform
methodvisit_field_Field¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_field_Field
def visit_field_Field(node: field.Field) -> waveform.WaveformParameters
| Name | Type | Description |
|---|---|---|
node | field.Field |
Returns
waveform.Waveform
methodscan¶source
bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.scan