Package evaluation of DynamicExpressions on Julia 1.10.8 (92f03a4775*) started at 2025-02-25T05:29:12.971 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 5.12s ################################################################################ # Installation # Installing DynamicExpressions... Resolving package versions... Updating `~/.julia/environments/v1.10/Project.toml` [a40a106e] + DynamicExpressions v1.9.4 Updating `~/.julia/environments/v1.10/Manifest.toml` [d360d2e6] + ChainRulesCore v1.25.1 [34da2185] + Compat v4.16.0 [8d63f2c5] + DispatchDoctor v0.4.19 [a40a106e] + DynamicExpressions v1.9.4 [85a1e053] + Interfaces v0.3.2 [1914dd2f] + MacroTools v0.5.15 [aea7be01] + PrecompileTools v1.2.1 [21216c6a] + Preferences v1.4.3 [189a3867] + Reexport v1.2.2 [56f22d72] + Artifacts [ade2ca70] + Dates [8f399da3] + Libdl [37e2e46d] + LinearAlgebra [de0858da] + Printf [9a3f8284] + Random [ea8e919c] + SHA v0.7.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs [4ec0a83e] + Unicode [e66e0078] + CompilerSupportLibraries_jll v1.1.1+0 [4536629a] + OpenBLAS_jll v0.3.23+4 [8e850b90] + libblastrampoline_jll v5.11.0+0 Installation completed after 7.25s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 260.42s ################################################################################ # Testing # Testing DynamicExpressions Status `/tmp/jl_69Tv7j/Project.toml` ⌅ [4c88cf16] Aqua v0.7.4 ⌃ [8ce10254] Bumper v0.6.0 [d360d2e6] ChainRulesCore v1.25.1 [34da2185] Compat v4.16.0 [a0c0ee7d] DifferentiationInterface v0.6.42 [8d63f2c5] DispatchDoctor v0.4.19 [a40a106e] DynamicExpressions v1.9.4 [7da242da] Enzyme v0.13.30 [f6369f11] ForwardDiff v0.10.38 [85a1e053] Interfaces v0.3.2 [c3a54625] JET v0.9.18 [bdcacae8] LoopVectorization v0.12.171 [429524aa] Optim v1.11.0 [21216c6a] Preferences v1.4.3 [1bc83da4] SafeTestsets v0.1.0 [276daf66] SpecialFunctions v2.5.0 [90137ffa] StaticArrays v1.9.12 [fd094767] Suppressor v0.2.8 [d1185830] SymbolicUtils v3.15.0 [f8b46487] TestItemRunner v1.1.0 [1c621080] TestItems v1.0.0 ⌃ [e88e6eb3] Zygote v0.6.75 [37e2e46d] LinearAlgebra [9a3f8284] Random [8dfed614] Test Status `/tmp/jl_69Tv7j/Manifest.toml` [47edcb42] ADTypes v1.13.0 [621f4979] AbstractFFTs v1.5.0 [1520ce14] AbstractTrees v0.4.5 [7d9f7c33] Accessors v0.1.41 [79e6a3ab] Adapt v4.2.0 [66dad0bd] AliasTables v1.1.3 ⌅ [4c88cf16] Aqua v0.7.4 [4fba245c] ArrayInterface v7.18.0 [a9b6321e] Atomix v1.1.0 [e2ed5e7c] Bijections v0.1.9 [62783981] BitTwiddlingConvenienceFunctions v0.1.6 ⌃ [8ce10254] Bumper v0.6.0 [fa961155] CEnum v0.5.0 [2a0fbf3d] CPUSummary v0.2.6 [082447d4] ChainRules v1.72.2 [d360d2e6] ChainRulesCore v1.25.1 [fb6a15b2] CloseOpenIntervals v0.1.13 [da1fd8a2] CodeTracking v1.3.6 [861a8166] Combinatorics v1.0.2 [bbf7d656] CommonSubexpressions v0.3.1 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.16.0 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.5.8 [adafc99b] CpuId v0.3.1 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.18.20 [e2d170a0] DataValueInterfaces v1.0.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [a0c0ee7d] DifferentiationInterface v0.6.42 [8d63f2c5] DispatchDoctor v0.4.19 [ffbed154] DocStringExtensions v0.9.3 [a40a106e] DynamicExpressions v1.9.4 [7c1d4256] DynamicPolynomials v0.6.1 [7da242da] Enzyme v0.13.30 [f151be2c] EnzymeCore v0.8.8 [e2ba6199] ExprTools v0.1.10 [1a297f60] FillArrays v1.13.0 [6a86dc24] FiniteDiff v2.27.0 [f6369f11] ForwardDiff v0.10.38 [0c68f7d7] GPUArrays v11.2.2 [46192b85] GPUArraysCore v0.2.0 [61eb1bfa] GPUCompiler v1.2.0 [076d061b] HashArrayMappedTries v0.2.0 [3e5b6fbb] HostCPUFeatures v0.1.17 [7869d1d1] IRTools v0.4.14 [615f187c] IfElse v0.1.1 [85a1e053] Interfaces v0.3.2 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.4 [82899510] IteratorInterfaceExtensions v1.0.0 [c3a54625] JET v0.9.18 [692b3bcd] JLLWrappers v1.7.0 [aa1ae85d] JuliaInterpreter v0.9.41 [70703baa] JuliaSyntax v0.4.10 [63c18a36] KernelAbstractions v0.9.34 [929cbde3] LLVM v9.2.0 [10f19ff3] LayoutPointers v0.1.17 [d3d80556] LineSearches v7.3.0 [2ab3a3ac] LogExpFunctions v0.3.29 [bdcacae8] LoopVectorization v0.12.171 [6f1432cf] LoweredCodeUtils v3.1.0 [1914dd2f] MacroTools v0.5.15 [d125e4d3] ManualMemory v0.1.8 [e1d29d7a] Missings v1.2.0 [102ac46a] MultivariatePolynomials v0.5.7 [d8a4904e] MutableArithmetics v1.6.4 [d41bc354] NLSolversBase v7.8.3 [77ba4419] NaNMath v1.1.2 [d8793406] ObjectFile v0.4.3 [6fe1bfb0] OffsetArrays v1.15.0 [429524aa] Optim v1.11.0 [bac558e1] OrderedCollections v1.8.0 [d96e819e] Parameters v0.12.3 [1d0040c9] PolyesterWeave v0.2.2 [85a6dd25] PositiveFactorizations v0.2.4 [aea7be01] PrecompileTools v1.2.1 [21216c6a] Preferences v1.4.3 [43287f4e] PtrArrays v1.3.0 [c1ae055f] RealDot v0.1.0 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.0 [7e49a35a] RuntimeGeneratedFunctions v0.5.13 [94e857df] SIMDTypes v0.1.0 [476501e8] SLEEFPirates v0.6.43 [1bc83da4] SafeTestsets v0.1.0 [7e506255] ScopedValues v1.3.0 [6c6a2e73] Scratch v1.2.1 [efcf1570] Setfield v1.1.1 [a2af1166] SortingAlgorithms v1.2.1 [dc90abb0] SparseInverseSubset v0.1.2 [276daf66] SpecialFunctions v2.5.0 [aedffcd0] Static v1.1.1 [0d7ed370] StaticArrayInterface v1.8.0 [90137ffa] StaticArrays v1.9.12 [1e83bf80] StaticArraysCore v1.4.3 [82ae8749] StatsAPI v1.7.0 [2913bbd2] StatsBase v0.34.4 [7792a7ef] StrideArraysCore v0.5.7 [09ab397b] StructArrays v0.7.0 [53d494c1] StructIO v0.3.1 [fd094767] Suppressor v0.2.8 [2efcf032] SymbolicIndexingInterface v0.3.38 [d1185830] SymbolicUtils v3.15.0 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.0 [8ea1fca8] TermInterface v2.0.0 [f8b46487] TestItemRunner v1.1.0 [1c621080] TestItems v1.0.0 [8290d209] ThreadingUtilities v0.5.2 [a759f4b9] TimerOutputs v0.5.27 [3a884ed6] UnPack v1.0.2 [a7c27f48] Unityper v0.1.6 [013be700] UnsafeAtomics v0.3.0 [3d5dd08c] VectorizationBase v0.21.71 [897b6980] WeakValueDicts v0.1.0 ⌃ [e88e6eb3] Zygote v0.6.75 [700de1a5] ZygoteRules v0.2.7 [7cc45869] Enzyme_jll v0.0.172+0 [dad2f222] LLVMExtra_jll v0.0.35+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [0dad84c5] ArgTools v1.1.1 [56f22d72] Artifacts [2a0f44e3] Base64 [ade2ca70] Dates [8ba89e20] Distributed [f43a241f] Downloads v1.6.0 [7b1f6079] FileWatching [9fa8497b] Future [b77e0a4c] InteractiveUtils [4af54fe1] LazyArtifacts [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 [8f399da3] Libdl [37e2e46d] LinearAlgebra [56ddb016] Logging [d6f4376e] Markdown [ca575930] NetworkOptions v1.2.0 [44cfe95a] Pkg v1.10.0 [de0858da] Printf [3fa0cd96] REPL [9a3f8284] Random [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization [6462fe0b] Sockets [2f01184e] SparseArrays v1.10.0 [10745b16] Statistics v1.10.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test [cf7118a7] UUIDs [4ec0a83e] Unicode [e66e0078] CompilerSupportLibraries_jll v1.1.1+0 [deac9b47] LibCURL_jll v8.4.0+0 [e37daf67] LibGit2_jll v1.6.4+0 [29816b5a] LibSSH2_jll v1.11.0+1 [c8ffd9c3] MbedTLS_jll v2.28.2+1 [14a3606d] MozillaCACerts_jll v2023.1.10 [4536629a] OpenBLAS_jll v0.3.23+4 [05823500] OpenLibm_jll v0.8.1+4 [bea87d4a] SuiteSparse_jll v7.2.1+1 [83775a58] Zlib_jll v1.2.13+1 [8e850b90] libblastrampoline_jll v5.11.0+0 [8e850ede] nghttp2_jll v1.52.0+1 [3f19e933] p7zip_jll v17.4.0+2 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. Testing Running tests... ┌ Warning: The preference key `instability_check` is deprecated. Please use `dispatch_doctor_mode` instead. │ caller = get_all_preferred(options::DispatchDoctor._Preferences.StabilizationOptions, calling_module::Module) at preferences.jl:78 └ @ DispatchDoctor._Preferences ~/.julia/packages/DispatchDoctor/LCJ6f/src/preferences.jl:78 ┌ Warning: The preference key `instability_check_codegen` is deprecated. Please use `dispatch_doctor_codegen_level` instead. │ caller = get_all_preferred(options::DispatchDoctor._Preferences.StabilizationOptions, calling_module::Module) at preferences.jl:89 └ @ DispatchDoctor._Preferences ~/.julia/packages/DispatchDoctor/LCJ6f/src/preferences.jl:89 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = (::Main.var"##Initial error handling test#227".var"#1#5")() at test_initial_errors.jl:11 └ @ Main.var"##Initial error handling test#227" ~/.julia/packages/DynamicExpressions/3sROs/test/test_initial_errors.jl:11 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = (::Main.var"##Initial error handling test#227".var"#2#6")() at test_initial_errors.jl:12 └ @ Main.var"##Initial error handling test#227" ~/.julia/packages/DynamicExpressions/3sROs/test/test_initial_errors.jl:12 ┌ Warning: The `tree'(X; kws...)` syntax is deprecated. Use `tree'(X, operators; kws...)` instead. │ caller = ip:0x0 └ @ Core :-1 Test Summary: | Pass Total Time Initial error handling test | 12 12 48.2s WARNING: DynamicExpressions.EquationModule is deprecated, use NodeModule instead. likely near /home/pkgeval/.julia/packages/DynamicExpressions/3sROs/test/test_deprecations.jl:54 Test Summary: | Pass Total Time Test deprecations | 9 9 20.5s Testing ExpressionInterface is implemented for DynamicExpressions.ParametricExpressionModule.ParametricExpression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Optional components copy_into!: copies an expression into a preallocated container [true] count_nodes: counts the number of nodes in the expression tree [true] count_depth: calculates the depth of the expression tree [true] has_operators: checks if the expression has operators [true] get_scalar_constants: gets constants from the expression tree, returning a tuple of: (1) a flat vector of the constants, and (2) an reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the expression tree, given: (1) a flat vector of constants, (2) the expression, and (3) the reference object produced by `get_scalar_constants` [true] string_tree: returns a string representation of the expression tree [true] default_node_type: returns the default node type for the expression [true] constructorof: gets the constructor function for a type [true] tree_mapreduce: applies a function across the tree [true] Testing NodeInterface is implemented for DynamicExpressions.ParametricExpressionModule.ParametricNode Mandatory components create_node: creates a new instance of the node type [true, true, true, true, true] copy: returns a copy of the tree [true, true, true, true, true] hash: returns the hash of the tree [true, true, true, true, true] any: checks if any element of the tree satisfies a condition [true, true, true, true, true] equality: checks equality of the tree with itself and its copy [true, true, true, true, true] preserve_sharing: checks if the node type preserves sharing [true, true, true, true, true] constructorof: gets the constructor function for a node type [true, true, true, true, true] eltype: gets the element type of the node [true, true, true, true, true] with_type_parameters: applies type parameters to the node type [true, true, true, true, true] default_allocator: gets the default allocator for the node type [true, true, true, true, true] set_node!: sets the node's value [true, true, true, true, true] count_nodes: counts the number of nodes in the tree [true, true, true, true, true] tree_mapreduce: applies a function across the tree [true, true, true, true, true] Optional components copy_into!: copies a node into a preallocated container [true, true, true, true, true] leaf_copy: copies a leaf node [true, true, true, true, true] leaf_copy_into!: copies a leaf node in-place [true, true, true, true, true] leaf_convert: converts a leaf node [true, true, true, true, true] leaf_hash: computes the hash of a leaf node [true, true, true, true, true] leaf_equal: checks equality of two leaf nodes [true, true, true, true, true] branch_copy: copies a branch node [true, true, true, true, true] branch_copy_into!: copies a branch node in-place [true, true, true, true, true] branch_convert: converts a branch node [true, true, true, true, true] branch_hash: computes the hash of a branch node [true, true, true, true, true] branch_equal: checks equality of two branch nodes [true, true, true, true, true] count_depth: calculates the depth of the tree [true, true, true, true, true] is_node_constant: checks if the node is a constant [true, true, true, true, true] count_constant_nodes: counts the number of constant nodes [true, true, true, true, true] filter_map: applies a filter and map function to the tree [true, true, true, true, true] has_constants: checks if the tree has constants [true, true, true, true, true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true, true, true, true, true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true, true, true, true, true] index_constant_nodes: indexes constants in the tree [true, true, true, true, true] has_operators: checks if the tree has operators [true, true, true, true, true] ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at test_parametric_expression.jl:307 [inlined] └ @ Core ~/.julia/packages/DynamicExpressions/3sROs/test/test_parametric_expression.jl:307 Skipping Base.active_repl Skipping Base.active_repl_backend ┌ Warning: Creating a node using a string is deprecated and will be removed in a future version. │ caller = ip:0x0 └ @ Core :-1 Testing derivatives with respect to variables, with type=Float16 and turbo=Val{false}(). Done. Testing derivatives with respect to constants, with type=Float16. Done. Testing derivatives with respect to variables, with type=Float32 and turbo=Val{true}(). Done. Testing derivatives with respect to constants, with type=Float32. Done. Testing derivatives with respect to variables, with type=Float32 and turbo=Val{false}(). Done. Testing derivatives with respect to constants, with type=Float32. Done. Testing derivatives with respect to variables, with type=Float64 and turbo=Val{true}(). Done. Testing derivatives with respect to constants, with type=Float64. Done. Testing derivatives with respect to variables, with type=Float64 and turbo=Val{false}(). Done. Testing derivatives with respect to constants, with type=Float64. Done. ┌ Warning: You have passed over 15 binary operators. To prevent long compilation times, some optimizations will be disabled. If this presents an issue, please open an issue on https://github.com/SymbolicML/DynamicExpressions.jl └ @ DynamicExpressions.OperatorEnumConstructionModule ~/.julia/packages/DynamicExpressions/3sROs/src/OperatorEnumConstruction.jl:446 evaluated_gradient = DynamicExpressions.ChainRulesModule.NodeTangent{Float64, DynamicExpressions.NodeModule.Node{Float64}, Vector{Float64}}(bad_grad_op(x1), Float64[]) WARNING: Method definition f_constant(Float64, Any...) in module ##343 at /home/pkgeval/.julia/packages/DynamicExpressions/3sROs/test/test_print.jl:98 overwritten at /home/pkgeval/.julia/packages/DynamicExpressions/3sROs/test/test_print.jl:100. Testing NaN detection. Passed. Testing ValueInterface is implemented for Main.var"##369".DynamicTensor Mandatory components is_valid: checks if the value is valid (no NaN/Inf) [true, true, true, true, true, true, true, true, true] is_valid_array: checks if each value of the array is valid [true, true, true, true, true, true, true, true, true] get_number_type: gets the underlying scalar type, which must be `<:Number` [true, true, true, true, true, true, true, true, true] pack_scalar_constants!: packs scalar constants into an array [true, true, true, true, true, true, true, true, true] unpack_scalar_constants: unpacks scalar constants from an array [true, true, true, true, true, true, true, true, true] count_scalar_constants: counts how many scalar constants the value has [true, true, true, true, true, true, true, true, true] _convert(Node{T1}, tree) and _convert(Node{T1}, tree, IdDict{Node{T2}, Node{T1}}()) are not equal ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 Testing ExpressionInterface is implemented for DynamicExpressions.ExpressionModule.Expression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Optional components copy_into!: copies an expression into a preallocated container [true] count_nodes: counts the number of nodes in the expression tree [true] count_constant_nodes: counts the number of constant nodes in the expression tree [true] count_depth: calculates the depth of the expression tree [true] index_constant_nodes: indexes constants in the expression tree [true] has_operators: checks if the expression has operators [true] has_constants: checks if the expression has constants [true] get_scalar_constants: gets constants from the expression tree, returning a tuple of: (1) a flat vector of the constants, and (2) an reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the expression tree, given: (1) a flat vector of constants, (2) the expression, and (3) the reference object produced by `get_scalar_constants` [true] string_tree: returns a string representation of the expression tree [true] default_node_type: returns the default node type for the expression [true] constructorof: gets the constructor function for a type [true] tree_mapreduce: applies a function across the tree [true] ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:669 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 Number of nodes: 9 Original: (2.0 + x) + 3.0 Simplified: x + 5.0 Testing NodeInterface is implemented for DynamicExpressions.NodeModule.Node Mandatory components create_node: creates a new instance of the node type [true, true, true, true] copy: returns a copy of the tree [true, true, true, true] hash: returns the hash of the tree [true, true, true, true] any: checks if any element of the tree satisfies a condition [true, true, true, true] equality: checks equality of the tree with itself and its copy [true, true, true, true] preserve_sharing: checks if the node type preserves sharing [true, true, true, true] constructorof: gets the constructor function for a node type [true, true, true, true] eltype: gets the element type of the node [true, true, true, true] with_type_parameters: applies type parameters to the node type [true, true, true, true] default_allocator: gets the default allocator for the node type [true, true, true, true] set_node!: sets the node's value [true, true, true, true] count_nodes: counts the number of nodes in the tree [true, true, true, true] tree_mapreduce: applies a function across the tree [true, true, true, true] Optional components copy_into!: copies a node into a preallocated container [true, true, true, true] leaf_copy: copies a leaf node [true, true, true, true] leaf_copy_into!: copies a leaf node in-place [true, true, true, true] leaf_convert: converts a leaf node [true, true, true, true] leaf_hash: computes the hash of a leaf node [true, true, true, true] leaf_equal: checks equality of two leaf nodes [true, true, true, true] branch_copy: copies a branch node [true, true, true, true] branch_copy_into!: copies a branch node in-place [true, true, true, true] branch_convert: converts a branch node [true, true, true, true] branch_hash: computes the hash of a branch node [true, true, true, true] branch_equal: checks equality of two branch nodes [true, true, true, true] count_depth: calculates the depth of the tree [true, true, true, true] is_node_constant: checks if the node is a constant [true, true, true, true] count_constant_nodes: counts the number of constant nodes [true, true, true, true] filter_map: applies a filter and map function to the tree [true, true, true, true] has_constants: checks if the tree has constants [true, true, true, true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true, true, true, true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true, true, true, true] index_constant_nodes: indexes constants in the tree [true, true, true, true] has_operators: checks if the tree has operators [true, true, true, true] Testing NodeInterface is implemented for DynamicExpressions.NodeModule.GraphNode Mandatory components create_node: creates a new instance of the node type [true, true, true, true] copy: returns a copy of the tree [true, true, true, true] hash: returns the hash of the tree [true, true, true, true] any: checks if any element of the tree satisfies a condition [true, true, true, true] equality: checks equality of the tree with itself and its copy [true, true, true, true] preserve_sharing: checks if the node type preserves sharing [true, true, true, true] constructorof: gets the constructor function for a node type [true, true, true, true] eltype: gets the element type of the node [true, true, true, true] with_type_parameters: applies type parameters to the node type [true, true, true, true] default_allocator: gets the default allocator for the node type [true, true, true, true] set_node!: sets the node's value [true, true, true, true] count_nodes: counts the number of nodes in the tree [true, true, true, true] tree_mapreduce: applies a function across the tree [true, true, true, true] Optional components copy_into!: copies a node into a preallocated container [true, true, true, true] leaf_copy: copies a leaf node [true, true, true, true] leaf_copy_into!: copies a leaf node in-place [true, true, true, true] leaf_convert: converts a leaf node [true, true, true, true] leaf_hash: computes the hash of a leaf node [true, true, true, true] leaf_equal: checks equality of two leaf nodes [true, true, true, true] branch_copy: copies a branch node [true, true, true, true] branch_copy_into!: copies a branch node in-place [true, true, true, true] branch_convert: converts a branch node [true, true, true, true] branch_hash: computes the hash of a branch node [true, true, true, true] branch_equal: checks equality of two branch nodes [true, true, true, true] count_depth: calculates the depth of the tree [true, true, true, true] is_node_constant: checks if the node is a constant [true, true, true, true] count_constant_nodes: counts the number of constant nodes [true, true, true, true] filter_map: applies a filter and map function to the tree [true, true, true, true] has_constants: checks if the tree has constants [true, true, true, true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true, true, true, true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true, true, true, true] index_constant_nodes: indexes constants in the tree [true, true, true, true] has_operators: checks if the tree has operators [true, true, true, true] Testing ExpressionInterface is implemented for DynamicExpressions.StructuredExpressionModule.StructuredExpression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Optional components copy_into!: copies an expression into a preallocated container [true] count_nodes: counts the number of nodes in the expression tree [true] count_constant_nodes: counts the number of constant nodes in the expression tree [true] count_depth: calculates the depth of the expression tree [true] index_constant_nodes: indexes constants in the expression tree [true] has_operators: checks if the expression has operators [true] has_constants: checks if the expression has constants [true] get_scalar_constants: gets constants from the expression tree, returning a tuple of: (1) a flat vector of the constants, and (2) an reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the expression tree, given: (1) a flat vector of constants, (2) the expression, and (3) the reference object produced by `get_scalar_constants` [true] string_tree: returns a string representation of the expression tree [true] default_node_type: returns the default node type for the expression [true] constructorof: gets the constructor function for a type [true] tree_mapreduce: applies a function across the tree [true] ┌ Warning: You have passed over 15 binary operators. To prevent long compilation times, some optimizations will be disabled. If this presents an issue, please open an issue on https://github.com/SymbolicML/DynamicExpressions.jl └ @ DynamicExpressions.OperatorEnumConstructionModule ~/.julia/packages/DynamicExpressions/3sROs/src/OperatorEnumConstruction.jl:446 WARNING: Method definition g!(Any, Any) in module ##3305 at /home/pkgeval/.julia/packages/DynamicExpressions/3sROs/test/test_optim_setup.jl:14 overwritten at /home/pkgeval/.julia/packages/DynamicExpressions/3sROs/test/test_optim.jl:44. Testing ValueInterface is implemented for Number Mandatory components is_valid: checks if the value is valid (no NaN/Inf) [true, true, true, true, true, true] is_valid_array: checks if each value of the array is valid [true, true, true, true, true, true] get_number_type: gets the underlying scalar type, which must be `<:Number` [true, true, true, true, true, true] pack_scalar_constants!: packs scalar constants into an array [true, true, true, true, true, true] unpack_scalar_constants: unpacks scalar constants from an array [true, true, true, true, true, true] count_scalar_constants: counts how many scalar constants the value has [true, true, true, true, true, true] Testing ExpressionInterface is implemented for Main.var"##3329".MultiScalarExpression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Test Summary: | Pass Total Time Package | 2758 2758 22m48.6s Testing DynamicExpressions tests passed Testing completed after 1646.56s PkgEval succeeded after 1929.38s