description: trace_ciphertext_without_attributes
program: |
  func.func @main(%arg0: !FHE.eint<1>) -> !FHE.eint<1> {
    "Tracing.trace_ciphertext"(%arg0): (!FHE.eint<1>) -> ()
    return %arg0: !FHE.eint<1>
  }
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
---
description: trace_ciphertext_without_attributes_16bits
program: |
  func.func @main(%arg0: !FHE.eint<16>) -> !FHE.eint<16> {
    "Tracing.trace_ciphertext"(%arg0): (!FHE.eint<16>) -> ()
    return %arg0: !FHE.eint<16>
  }
encoding: crt
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
---
description: trace_ciphertextwith_attributes
program: |
  func.func @main(%arg0: !FHE.eint<1>) -> !FHE.eint<1> {
    "Tracing.trace_ciphertext"(%arg0){nmsb=4:i32, msg="test"}: (!FHE.eint<1>) -> ()
    return %arg0: !FHE.eint<1>
  }
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
---
description: trace_ciphertext_with_attributes_16bits
program: |
  func.func @main(%arg0: !FHE.eint<16>) -> !FHE.eint<16> {
    "Tracing.trace_ciphertext"(%arg0){nmsb=4:i32, msg="test"}: (!FHE.eint<16>) -> ()
    return %arg0: !FHE.eint<16>
  }
encoding: crt
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
---
description: trace_plaintext_without_attributes
program: |
  func.func @main(%arg0: !FHE.eint<1>) -> i64 {
    %c0 = arith.constant 1 : i8
    "Tracing.trace_plaintext"(%c0): (i8) -> ()
    %c1 = arith.constant 1 : i64
    return %c1: i64
  }
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
---
description: trace_plaintext_with_attributes
program: |
  func.func @main(%arg0: !FHE.eint<1>) -> i64 {
    %c0 = arith.constant 1 : i8
    "Tracing.trace_plaintext"(%c0){nmsb=3:i32, msg="test"}: (i8) -> ()
    %c1 = arith.constant 1 : i64
    return %c1: i64
  }
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
---
description: trace_message
program: |
  func.func @main(%arg0: !FHE.eint<1>) -> i64 {
    %c0 = arith.constant 1 : i8
    "Tracing.trace_plaintext"(%c0): (i8) -> ()
    "Tracing.trace_message"(){msg="Test"}: () -> ()
    %c1 = arith.constant 2 : i8
    "Tracing.trace_plaintext"(%c1): (i8) -> ()
    %c2 = arith.constant 1 : i64
    return %c2: i64
  }
tests:
  - inputs:
      - scalar: 1
    outputs:
      - scalar: 1
