Skip to content

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel

← Module overview

classValidatePiecewiseLinearChannelsource

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

NameTypeDescription
level_couplingsequence.LevelCoupling
field_namepulse.FieldName
spatial_modulationsfield.SpatialModulation

Attributes

NameTypeDefaultDescription
level_coupling—level_coupling
field_name—field_name
spatial_modulations—spatial_modulations

methodcheck_continuoussource

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

NameTypeDescription
timescalar.Scalar
levelstr
lhswaveform.Waveform
rhswaveform.Waveform
source

methodemit_shape_errorsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.emit_shape_error

def emit_shape_error(node: waveform.Waveform)

Parameters

NameTypeDescription
nodewaveform.Waveform
source

methodvisit_waveform_Polysource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Poly

def visit_waveform_Poly(node: waveform.Poly) -> None

Parameters

NameTypeDescription
nodewaveform.Poly
source

methodvisit_waveform_Samplesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Sample

def visit_waveform_Sample(node: waveform.Sample) -> None

Parameters

NameTypeDescription
nodewaveform.Sample
source

methodvisit_waveform_Smoothsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Smooth

def visit_waveform_Smooth(node: waveform.Smooth) -> None

Parameters

NameTypeDescription
nodewaveform.Smooth
source

methodvisit_waveform_PythonFnsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_PythonFn

def visit_waveform_PythonFn(node: waveform.PythonFn) -> None

Parameters

NameTypeDescription
nodewaveform.PythonFn
source

methodvisit_waveform_Appendsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_waveform_Append

def visit_waveform_Append(node: waveform.Append) -> None

Parameters

NameTypeDescription
nodewaveform.Append
source

methodvisit_sequence_Appendsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_Append

def visit_sequence_Append(node: sequence.Append) -> waveform.Waveform

Parameters

NameTypeDescription
nodesequence.Append

Returns

waveform.Waveform

source

methodvisit_sequence_Slicesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_Slice

def visit_sequence_Slice(node: sequence.Slice) -> waveform.Waveform

Parameters

NameTypeDescription
nodesequence.Slice

Returns

waveform.Waveform

source

methodvisit_sequence_NamedSequencesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_NamedSequence

Signature
def visit_sequence_NamedSequence(node: sequence.NamedSequence) -> waveform.Waveform

Parameters

NameTypeDescription
nodesequence.NamedSequence

Returns

waveform.Waveform

source

methodvisit_sequence_Sequencesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_sequence_Sequence

Signature
def visit_sequence_Sequence(node: sequence.Sequence) -> waveform.Waveform

Parameters

NameTypeDescription
nodesequence.Sequence

Returns

waveform.Waveform

source

methodvisit_pulse_Appendsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_Append

def visit_pulse_Append(node: pulse.Append) -> waveform.Waveform

Parameters

NameTypeDescription
nodepulse.Append

Returns

waveform.Waveform

source

methodvisit_pulse_Slicesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_Slice

def visit_pulse_Slice(node: pulse.Slice) -> waveform.Waveform

Parameters

NameTypeDescription
nodepulse.Slice

Returns

waveform.Waveform

source

methodvisit_pulse_NamedPulsesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_NamedPulse

def visit_pulse_NamedPulse(node: pulse.NamedPulse) -> waveform.Waveform

Parameters

NameTypeDescription
nodepulse.NamedPulse

Returns

waveform.Waveform

source

methodvisit_pulse_Pulsesource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_pulse_Pulse

def visit_pulse_Pulse(node: pulse.Pulse) -> waveform.Waveform

Parameters

NameTypeDescription
nodepulse.Pulse

Returns

waveform.Waveform

source

methodvisit_field_Fieldsource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.visit_field_Field

def visit_field_Field(node: field.Field) -> waveform.Waveform

Parameters

NameTypeDescription
nodefield.Field

Returns

waveform.Waveform

source

methodscansource

bloqade.analog.compiler.analysis.hardware.piecewise_linear.ValidatePiecewiseLinearChannel.scan

def scan(node) -> None

Parameters

NameTypeDescription
node—
source