• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
        • C
        • Bv
        • Imp-language
        • Event-macros
        • Java
          • Atj
            • Atj-implementation
              • Atj-types
              • Atj-java-primitive-array-model
              • Atj-java-abstract-syntax
              • Atj-input-processing
              • Atj-java-pretty-printer
              • Atj-code-generation
                • Atj-gen-test-method
                • Atj-shallow-code-generation
                • Atj-common-code-generation
                  • Atj-gen-value
                  • Atj-chars-to-jhexcodes
                  • Atj-gen-test-value
                  • Atj-gen-test-main-method
                  • Atj-gen-value-flat
                  • Atj-gen-test-values
                  • Atj-gen-jlocvar-indexed
                  • Atj-gen-pkg-method
                  • Atj-gen-symbol
                  • Atj-gen-jstring
                  • Atj-gen-init-method
                  • Atj-gen-char
                  • Atj-gen-string
                  • Atj-gen-pkg-name
                  • Atj-gen-integer
                  • Atj-gen-test-method-name
                  • Atj-gen-paramlist
                  • Atj-gen-pkg-method-name
                  • Atj-gen-run-tests
                  • Atj-gen-jshort-array
                  • Atj-gen-jboolean-array
                  • Atj-gen-test-failures-field
                  • Atj-gen-pkgs
                  • Atj-gen-jlong-array
                    • Atj-gen-jint-array
                    • Atj-gen-jchar-array
                    • Atj-gen-jchar
                    • Atj-gen-jbyte-array
                    • Atj-char-to-jhexcode
                    • Atj-gen-pkg-methods
                    • Atj-gen-number
                    • Atj-gen-symbols
                    • Atj-gen-static-initializer
                    • Atj-gen-rational
                    • Atj-gen-jlong
                    • Atj-gen-jboolean
                    • Atj-gen-jbigint
                    • Atj-gen-jshort
                    • Atj-gen-jint
                    • Atj-gen-jbyte
                    • *atj-gen-pkg-name-alist*
                  • Atj-shallow-quoted-constant-generation
                  • Atj-pre-translation
                  • Atj-gen-everything
                  • Atj-name-translation
                  • Atj-gen-test-cunit
                  • Atj-gen-test-class
                  • Atj-gen-main-file
                  • Atj-post-translation
                  • Atj-deep-code-generation
                  • Atj-gen-test-methods
                  • Atj-gen-test-file
                  • Atj-gen-env-file
                  • Atj-gen-output-subdir
                • Atj-java-primitives
                • Atj-java-primitive-arrays
                • Atj-type-macros
                • Atj-java-syntax-operations
                • Atj-fn
                • Atj-library-extensions
                • Atj-java-input-types
                • Atj-test-structures
                • Aij-notions
                • Atj-macro-definition
              • Atj-tutorial
            • Aij
            • Language
          • Riscv
          • Bitcoin
          • Ethereum
          • Yul
          • Zcash
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Lists-light
          • Axe
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Atj-common-code-generation

    Atj-gen-jlong-array

    Generate Java code to build a Java long array.

    Signature
    (atj-gen-jlong-array long-array) → expr
    Arguments
    long-array — Guard (long-arrayp long-array).
    Returns
    expr — Type (jexprp expr).

    Definitions and Theorems

    Function: atj-gen-jlong-array-aux

    (defun atj-gen-jlong-array-aux (longs)
      (declare (xargs :guard (long-value-listp longs)))
      (let ((__function__ 'atj-gen-jlong-array-aux))
        (declare (ignorable __function__))
        (cond ((endp longs) nil)
              (t (cons (atj-gen-jlong (long-value->int (car longs)))
                       (atj-gen-jlong-array-aux (cdr longs)))))))

    Theorem: jexpr-listp-of-atj-gen-jlong-array-aux

    (defthm jexpr-listp-of-atj-gen-jlong-array-aux
      (b* ((exprs (atj-gen-jlong-array-aux longs)))
        (jexpr-listp exprs))
      :rule-classes :rewrite)

    Function: atj-gen-jlong-array

    (defun atj-gen-jlong-array (long-array)
     (declare (xargs :guard (long-arrayp long-array)))
     (let ((__function__ 'atj-gen-jlong-array))
      (declare (ignorable __function__))
      (jexpr-newarray-init
        (jtype-long)
        (atj-gen-jlong-array-aux (long-array->components long-array)))))

    Theorem: jexprp-of-atj-gen-jlong-array

    (defthm jexprp-of-atj-gen-jlong-array
      (b* ((expr (atj-gen-jlong-array long-array)))
        (jexprp expr))
      :rule-classes :rewrite)