Home Changelog as of September 28, 2021
Post
Cancel

Changelog as of September 28, 2021

Release Highlights

  • Added support for ForInLoop, branching, QuantumMeasurementAssignment, ClassicalAssignment, QuantumBarrier
  • Added initial support for types with working implementations for UnsignedInteger, BitArrayType, AngleType and SignedIntegerType
  • Initial testing routing with support for types UnsignedIntegerType, BitArrayType, SignedIntegerType, AngleType, ClassicalType
  • Updated: File parsing and argument parsing for build_ast.py

Update notes

  • Added Initial implementation for types.py
  • Update log
    1. source/openqasm/src/openqasm/translator/context.py -
      • Span now optional
      • Context can now use the AssignmentOperator to assign value to previously declared symbol
      • Added support to store types
    2. source/openqasm/src/openqasm/translator/translator.py -
      • Updated quantum_gate definition
      • Updated PhaseGate definition
      • Added ForInLoop support. Added_get_range method with exception handling for wrong RangeDefinition
      • Added support for branching from context
      • Added_process_QuantumMeasurementAssignment for processing quantum measurement assignment as per AST
      • Improved file parsing routine
      • Added support to process ClassicalAssignment and QuantumBarrier
      • Quantum gate definitions now support names.
      • include_dirs, program_ast and includes_asts attributes now private
    3. source/openqasm/src/openqasm/translator/test.py - Added basic testing functionality for types UnsignedIntegerType, BitArrayType, SignedIntegerType, AngleType, ClassicalType using pytest
    4. source/openqasm/src/openqasm/translator/identifiers.py -
      • Updated get_identifier return type. All identifier types now have a common interface.
    5. source/openqasm/src/openqasm/translator/expressions.py - 
      • Expression evaluation now has its own function dict instead of eval calls
      • Added constants : Tau, euler
      • Added support for AssignmentOperator
    6. source/openqasm/src/openqasm/translator/exceptions.py - 
      • Added WrongRange exception when mandatory range values are missing
      • Added InvalidIncludePath exception when file specified is not present in any of the include paths. Also provides info on include paths if applicable.
      • Added ClassicalOverFlow exception when there is an integer overflow
      • Added InvalidOperation exception when given operator is not implemented for a given type with support for SignedIntegertypes
      • Added InvalidTypeAssignment when wrong types of operands are evaluated
    7. source/openqasm/src/openqasm/translator/types.py - Initial implementation for types.py
      • Added “working” implementation of UnsignedInteger and BitArrayType
      • Added “working” support for SignedIntegerType
      • Added BitArray and Angle support
    8. source/openqasm/src/openqasm/build_ast.py - 
      • Update file parsing and input argument specification
      • Added –help args and –translate flag
      • Now uses stdlib argparse to parse cli arguments
    9. Merged aspcompiler:master into refimpl
      - Notable changes: index set can now be specified by a signed or unsigned integer
This post is licensed under CC BY 4.0 by the author.