diff --git a/Project.toml b/Project.toml index 598f933..e8ee28e 100644 --- a/Project.toml +++ b/Project.toml @@ -8,15 +8,15 @@ BlackBoxOptim = "a134a8b2-14d6-55f6-9291-3336d3ab0209" Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" -GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" Optim = "429524aa-4258-5aef-a3af-852621145aeb" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +RuntimeGeneratedFunctions = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" [compat] BlackBoxOptim = "0.6.1" Combinatorics = "1.0" Distributions = "0.23, 0.24, 0.25" -GeneralizedGenerated = "0.2, 0.3" +RuntimeGeneratedFunctions = "0.5.10" Optim = "0.18, 0.20, 0.22, 1.2, 1.3, 1.7" julia = "1" diff --git a/src/CircuitFunction.jl b/src/CircuitFunction.jl index 6cd84f9..bc21f04 100644 --- a/src/CircuitFunction.jl +++ b/src/CircuitFunction.jl @@ -42,8 +42,8 @@ function circuitfunction(circuitstring) new_circuit = new_circuit*i end end - circuit_expression = Meta.parse(new_circuit) - return mk_function([:T,:f],[],circuit_expression) + circuit_expression = Meta.parse("((T,f)->"* new_circuit *")") + return @RuntimeGeneratedFunction(circuit_expression) end function circtuitfunction_fixed_params(circuitstring,param_indices,param_values) @@ -74,9 +74,8 @@ function tree_to_function(tree_array) essential_info[parent1][2] = "((("*type1*")^-1)+("*type2*")^-1)^-1" end end - circuitExpression = Meta.parse(essential_info[1][2]) -return mk_function([:T,:f],[],circuitExpression) -end + circuit_expression = Meta.parse("((T,f)->"* essential_info[1][2] *")") +return @RuntimeGeneratedFunction(circuit_expression) karva_to_function(karva::String) = tree_to_function(karva_to_tree(karva)) karva_to_function(circuit::Circuit) = karva_to_function(circuit.karva) diff --git a/src/EquivalentCircuits.jl b/src/EquivalentCircuits.jl index 38a122f..8731518 100644 --- a/src/EquivalentCircuits.jl +++ b/src/EquivalentCircuits.jl @@ -5,9 +5,10 @@ module EquivalentCircuits export loadpopulation, get_parameter_upper_bound export simulateimpedance_noiseless export Circuit, EquivalentCircuit - using Random, Combinatorics, GeneralizedGenerated, DelimitedFiles, Distributions, Optim + using Random, Combinatorics, RuntimeGeneratedFunctions, DelimitedFiles, Distributions, Optim using BlackBoxOptim import Base: isless, length + RuntimeGeneratedFunctions.init(@__MODULE__) include("Circuits.jl") include("CircuitFunction.jl")