• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MilesCranmer / SymbolicRegression.jl / 9686354911

26 Jun 2024 08:31PM UTC coverage: 93.22% (-1.4%) from 94.617%
9686354911

Pull #326

github

web-flow
Merge 6f8229c9f into ceddaa424
Pull Request #326: BREAKING: Change expression types to `DynamicExpressions.Expression` (from `DynamicExpressions.Node`)

275 of 296 new or added lines in 17 files covered. (92.91%)

34 existing lines in 5 files now uncovered.

2530 of 2714 relevant lines covered (93.22%)

32081968.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

50.0
/ext/SymbolicRegressionSymbolicUtilsExt.jl
1
module SymbolicRegressionSymbolicUtilsExt
2

3
using SymbolicUtils: Symbolic
4
using SymbolicRegression: AbstractExpressionNode, AbstractExpression, Node, Options
5
using SymbolicRegression.MLJInterfaceModule: AbstractSRRegressor, get_options
6
using DynamicExpressions: get_tree, get_operators
7

8
import SymbolicRegression: node_to_symbolic, symbolic_to_node
9

10
"""
11
    node_to_symbolic(tree::AbstractExpressionNode, options::Options; kws...)
12

13
Convert an expression to SymbolicUtils.jl form.
14
"""
15
function node_to_symbolic(
11✔
16
    tree::Union{AbstractExpressionNode,AbstractExpression}, options::Options; kws...
17
)
18
    return node_to_symbolic(get_tree(tree), get_operators(tree, options); kws...)
7✔
19
end
NEW
20
function node_to_symbolic(
×
21
    tree::Union{AbstractExpressionNode,AbstractExpression}, m::AbstractSRRegressor; kws...
22
)
UNCOV
23
    return node_to_symbolic(tree, get_options(m); kws...)
×
24
end
25

26
"""
27
    symbolic_to_node(eqn::Symbolic, options::Options; kws...)
28

29
Convert a SymbolicUtils.jl expression to SymbolicRegression.jl's `Node` type.
30
"""
31
function symbolic_to_node(eqn::Symbolic, options::Options; kws...)
11✔
32
    return symbolic_to_node(eqn, options.operators; kws...)
7✔
33
end
UNCOV
34
function symbolic_to_node(eqn::Symbolic, m::AbstractSRRegressor; kws...)
×
UNCOV
35
    return symbolic_to_node(eqn, get_options(m); kws...)
×
36
end
37

38
function Base.convert(
33✔
39
    ::Type{Symbolic},
40
    tree::Union{AbstractExpressionNode,AbstractExpression},
41
    options::Union{Options,Nothing}=nothing;
42
    kws...,
43
)
44
    return convert(Symbolic, get_tree(tree), get_operators(tree, options); kws...)
21✔
45
end
UNCOV
46
function Base.convert(
×
47
    ::Type{Symbolic},
48
    tree::Union{AbstractExpressionNode,AbstractExpression},
49
    m::AbstractSRRegressor;
50
    kws...,
51
)
UNCOV
52
    return convert(Symbolic, tree, get_options(m); kws...)
×
53
end
54

55
function Base.convert(
44✔
56
    ::Type{N}, x::Union{Number,Symbolic}, options::Options; kws...
57
) where {N<:Union{AbstractExpressionNode,AbstractExpression}}
58
    return convert(N, x, options.operators; kws...)
28✔
59
end
UNCOV
60
function Base.convert(
×
61
    ::Type{N}, x::Union{Number,Symbolic}, m::AbstractSRRegressor; kws...
62
) where {N<:Union{AbstractExpressionNode,AbstractExpression}}
UNCOV
63
    return convert(N, x, get_options(m); kws...)
×
64
end
65

66
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc