Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: merge avm main #3874

Merged
merged 10 commits into from
Jan 8, 2024
Merged

chore: merge avm main #3874

merged 10 commits into from
Jan 8, 2024

Commits on Dec 8, 2023

  1. feat(avm-mini): add sub, mul, div and error handling for finite fields (

    #3612)
    
    Resolves #3546 
    Resolves #3548
    
    ### Description
    
    This PR introduces the following opcodes for the finite field type:
    
    - SUB: subtraction
    - MUL: multiplication
    - DIV: division
    
    For division, error is raised whenever the numerator is zero. A boolean
    column op_err was introduced for this purpose.
    jeanmon authored Dec 8, 2023
    Configuration menu
    Copy the full SHA
    b190ae9 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. test(avm-mini): unit tests arithmetic for finite field type (#3633)

    Resolves #3632 
    
    ### Description
    A list of positive and negative unit tests for the arithmetic operations
    of finite field type.
    Each operation (add, sub, mul, div) is positively and negatively tested.
    jeanmon authored Dec 11, 2023
    Configuration menu
    Copy the full SHA
    17ba715 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. feat(avm-main): pil -> permutations (#3650)

    Replacing the toy_avm with a pil version that defines a permutation in
    pil.
    
    ```
        pol commit q_tuple_set;
    
        // Set 1
        pol commit set_1_column_1;
        pol commit set_1_column_2;
        // Set 2
        pol commit set_2_column_1;
        pol commit set_2_column_2;
    
        // This is a column based tuple permutation
        
        #[two_column_perm] // the name of the inverse polynomial
        q_tuple_set { set_1_column_1, set_1_column_2 } is { set_2_column_1, set_2_column_2 };
    ```
    
    Syntax is as shown.
    Maddiaa0 authored Dec 14, 2023
    Configuration menu
    Copy the full SHA
    c52acf6 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Configuration menu
    Copy the full SHA
    d8b9a4f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    78cf525 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Configuration menu
    Copy the full SHA
    739fe90 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e534204 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. feat(avm): add standalone jump opcode (#3781)

    - Add missing check that program counter advanced in call opcode ( oops
    )
        - Moved return storing to intermediate register b 
        - jump dest goes on register a
    - Implement trivial jump opcode ( subset of call )
    Maddiaa0 authored Jan 2, 2024
    Configuration menu
    Copy the full SHA
    b1b2e7c View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. refactor(avm): avm memory trace building (#3835)

    Resolves #3834 
    
    Moving all AVM memory related trace building functions into a dedicated
    class.
    Furthermore, all AVM related trace files were moved into a dedicated
    folder in vm.
    The following files:
    
    - AvmMini_common.hpp
    - AvmMini_helper.cpp
    - AvmMini_helper.hpp
    - AvmMini_mem_trace.cpp
    - AvmMini_mem_trace.hpp
    - AvmMini_trace.cpp
    - AvmMini_trace.hpp
    were moved from 
    
    barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/
    
    to
    
    barretenberg/cpp/src/barretenberg/vm/avm_trace/
    
    Finally, the namespace for these files were migrating from proof_system
    to avm_trace.
    jeanmon authored Jan 5, 2024
    Configuration menu
    Copy the full SHA
    b7766d6 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    e754632 View commit details
    Browse the repository at this point in the history