Skip to content

Commit c5417ee

Browse files
committed
Remove old uses of .val::T
1 parent 9ec40c4 commit c5417ee

10 files changed

+47
-51
lines changed

ext/DynamicExpressionsBumperExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function bumper_eval_tree_array(
2323
leaf_node -> begin
2424
ar = @alloc(T, n)
2525
ok = if leaf_node.constant
26-
v = leaf_node.val::T
26+
v = leaf_node.val
2727
ar .= v
2828
isfinite(v)
2929
else

ext/DynamicExpressionsLoopVectorizationExt.jl

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ function deg1_l2_ll0_lr0_eval(
4141
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}, op::F, op_l::F2, ::Val{true}
4242
) where {T<:Number,F,F2}
4343
if tree.l.l.constant && tree.l.r.constant
44-
val_ll = tree.l.l.val::T
45-
val_lr = tree.l.r.val::T
44+
val_ll = tree.l.l.val
45+
val_lr = tree.l.r.val
4646
@return_on_check val_ll cX
4747
@return_on_check val_lr cX
4848
x_l = op_l(val_ll, val_lr)::T
@@ -51,7 +51,7 @@ function deg1_l2_ll0_lr0_eval(
5151
@return_on_check x cX
5252
return ResultOk(fill_similar(x, cX, axes(cX, 2)), true)
5353
elseif tree.l.l.constant
54-
val_ll = tree.l.l.val::T
54+
val_ll = tree.l.l.val
5555
@return_on_check val_ll cX
5656
feature_lr = tree.l.r.feature
5757
cumulator = similar(cX, axes(cX, 2))
@@ -63,7 +63,7 @@ function deg1_l2_ll0_lr0_eval(
6363
return ResultOk(cumulator, true)
6464
elseif tree.l.r.constant
6565
feature_ll = tree.l.l.feature
66-
val_lr = tree.l.r.val::T
66+
val_lr = tree.l.r.val
6767
@return_on_check val_lr cX
6868
cumulator = similar(cX, axes(cX, 2))
6969
@turbo for j in axes(cX, 2)
@@ -89,7 +89,7 @@ function deg1_l1_ll0_eval(
8989
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}, op::F, op_l::F2, ::Val{true}
9090
) where {T<:Number,F,F2}
9191
if tree.l.l.constant
92-
val_ll = tree.l.l.val::T
92+
val_ll = tree.l.l.val
9393
@return_on_check val_ll cX
9494
x_l = op_l(val_ll)::T
9595
@return_on_check x_l cX
@@ -112,16 +112,16 @@ function deg2_l0_r0_eval(
112112
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}, op::F, ::Val{true}
113113
) where {T<:Number,F}
114114
if tree.l.constant && tree.r.constant
115-
val_l = tree.l.val::T
115+
val_l = tree.l.val
116116
@return_on_check val_l cX
117-
val_r = tree.r.val::T
117+
val_r = tree.r.val
118118
@return_on_check val_r cX
119119
x = op(val_l, val_r)::T
120120
@return_on_check x cX
121121
return ResultOk(fill_similar(x, cX, axes(cX, 2)), true)
122122
elseif tree.l.constant
123123
cumulator = similar(cX, axes(cX, 2))
124-
val_l = tree.l.val::T
124+
val_l = tree.l.val
125125
@return_on_check val_l cX
126126
feature_r = tree.r.feature
127127
@turbo for j in axes(cX, 2)
@@ -132,7 +132,7 @@ function deg2_l0_r0_eval(
132132
elseif tree.r.constant
133133
cumulator = similar(cX, axes(cX, 2))
134134
feature_l = tree.l.feature
135-
val_r = tree.r.val::T
135+
val_r = tree.r.val
136136
@return_on_check val_r cX
137137
@turbo for j in axes(cX, 2)
138138
x = op(cX[feature_l, j], val_r)
@@ -160,7 +160,7 @@ function deg2_l0_eval(
160160
::Val{true},
161161
) where {T<:Number,F}
162162
if tree.l.constant
163-
val = tree.l.val::T
163+
val = tree.l.val
164164
@return_on_check val cX
165165
@turbo for j in eachindex(cumulator)
166166
x = op(val, cumulator[j])
@@ -185,7 +185,7 @@ function deg2_r0_eval(
185185
::Val{true},
186186
) where {T<:Number,F}
187187
if tree.r.constant
188-
val = tree.r.val::T
188+
val = tree.r.val
189189
@return_on_check val cX
190190
@turbo for j in eachindex(cumulator)
191191
x = op(cumulator[j], val)

ext/DynamicExpressionsSymbolicUtilsExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ function parse_tree_to_eqs(
3434
) where {T}
3535
if tree.degree == 0
3636
# Return constant if needed
37-
tree.constant && return subs_bad(tree.val::T)
37+
tree.constant && return subs_bad(tree.val)
3838
return SymbolicUtils.Sym{LiteralReal}(Symbol("x$(tree.feature)"))
3939
end
4040
# Collect the next children

src/EquationUtils.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ The function `set_constants!` sets them in the same order,
7676
given the output of this function.
7777
"""
7878
function get_constants(tree::AbstractExpressionNode{T}) where {T}
79-
return filter_map(is_node_constant, t -> (t.val::T), tree, T)
79+
return filter_map(is_node_constant, t -> (t.val), tree, T)
8080
end
8181

8282
"""
@@ -114,12 +114,12 @@ end
114114
function Base.getproperty(cr::NodeConstantRef{T}, s::Symbol) where {T}
115115
s != :x && error("Only :x is a valid property for NodeConstantRef")
116116

117-
return getfield(cr, :_node).x.val::T
117+
return getfield(cr, :_node).x.val
118118
end
119119
function Base.setproperty!(cr::NodeConstantRef{T}, s::Symbol, v) where {T}
120120
s != :x && error("Only :x is a valid property for NodeConstantRef")
121121

122-
return getfield(cr, :_node).x.val::T = v::T
122+
return getfield(cr, :_node).x.val = v
123123
end
124124
Base.propertynames(::NodeConstantRef) = (:x,)
125125

src/EvaluateEquation.jl

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ function deg0_eval(
151151
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}
152152
)::ResultOk where {T<:Number}
153153
if tree.constant
154-
return ResultOk(fill_similar(tree.val::T, cX, axes(cX, 2)), true)
154+
return ResultOk(fill_similar(tree.val, cX, axes(cX, 2)), true)
155155
else
156156
return ResultOk(cX[tree.feature, :], true)
157157
end
@@ -303,8 +303,8 @@ function deg1_l2_ll0_lr0_eval(
303303
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}, op::F, op_l::F2, ::Val{false}
304304
) where {T<:Number,F,F2}
305305
if tree.l.l.constant && tree.l.r.constant
306-
val_ll = tree.l.l.val::T
307-
val_lr = tree.l.r.val::T
306+
val_ll = tree.l.l.val
307+
val_lr = tree.l.r.val
308308
@return_on_check val_ll cX
309309
@return_on_check val_lr cX
310310
x_l = op_l(val_ll, val_lr)::T
@@ -313,7 +313,7 @@ function deg1_l2_ll0_lr0_eval(
313313
@return_on_check x cX
314314
return ResultOk(fill_similar(x, cX, axes(cX, 2)), true)
315315
elseif tree.l.l.constant
316-
val_ll = tree.l.l.val::T
316+
val_ll = tree.l.l.val
317317
@return_on_check val_ll cX
318318
feature_lr = tree.l.r.feature
319319
cumulator = similar(cX, axes(cX, 2))
@@ -325,7 +325,7 @@ function deg1_l2_ll0_lr0_eval(
325325
return ResultOk(cumulator, true)
326326
elseif tree.l.r.constant
327327
feature_ll = tree.l.l.feature
328-
val_lr = tree.l.r.val::T
328+
val_lr = tree.l.r.val
329329
@return_on_check val_lr cX
330330
cumulator = similar(cX, axes(cX, 2))
331331
@inbounds @simd for j in axes(cX, 2)
@@ -352,7 +352,7 @@ function deg1_l1_ll0_eval(
352352
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}, op::F, op_l::F2, ::Val{false}
353353
) where {T<:Number,F,F2}
354354
if tree.l.l.constant
355-
val_ll = tree.l.l.val::T
355+
val_ll = tree.l.l.val
356356
@return_on_check val_ll cX
357357
x_l = op_l(val_ll)::T
358358
@return_on_check x_l cX
@@ -376,16 +376,16 @@ function deg2_l0_r0_eval(
376376
tree::AbstractExpressionNode{T}, cX::AbstractMatrix{T}, op::F, ::Val{false}
377377
) where {T<:Number,F}
378378
if tree.l.constant && tree.r.constant
379-
val_l = tree.l.val::T
379+
val_l = tree.l.val
380380
@return_on_check val_l cX
381-
val_r = tree.r.val::T
381+
val_r = tree.r.val
382382
@return_on_check val_r cX
383383
x = op(val_l, val_r)::T
384384
@return_on_check x cX
385385
return ResultOk(fill_similar(x, cX, axes(cX, 2)), true)
386386
elseif tree.l.constant
387387
cumulator = similar(cX, axes(cX, 2))
388-
val_l = tree.l.val::T
388+
val_l = tree.l.val
389389
@return_on_check val_l cX
390390
feature_r = tree.r.feature
391391
@inbounds @simd for j in axes(cX, 2)
@@ -396,7 +396,7 @@ function deg2_l0_r0_eval(
396396
elseif tree.r.constant
397397
cumulator = similar(cX, axes(cX, 2))
398398
feature_l = tree.l.feature
399-
val_r = tree.r.val::T
399+
val_r = tree.r.val
400400
@return_on_check val_r cX
401401
@inbounds @simd for j in axes(cX, 2)
402402
x = op(cX[feature_l, j], val_r)::T
@@ -424,7 +424,7 @@ function deg2_l0_eval(
424424
::Val{false},
425425
) where {T<:Number,F}
426426
if tree.l.constant
427-
val = tree.l.val::T
427+
val = tree.l.val
428428
@return_on_check val cX
429429
@inbounds @simd for j in eachindex(cumulator)
430430
x = op(val, cumulator[j])::T
@@ -450,7 +450,7 @@ function deg2_r0_eval(
450450
::Val{false},
451451
) where {T<:Number,F}
452452
if tree.r.constant
453-
val = tree.r.val::T
453+
val = tree.r.val
454454
@return_on_check val cX
455455
@inbounds @simd for j in eachindex(cumulator)
456456
x = op(cumulator[j], val)::T
@@ -523,7 +523,7 @@ over an entire array when the values are all the same.
523523
end
524524

525525
@inline function deg0_eval_constant(tree::AbstractExpressionNode{T}) where {T<:Number}
526-
output = tree.val::T
526+
output = tree.val
527527
return ResultOk([output], true)::ResultOk{Vector{T}}
528528
end
529529

src/OperatorEnumConstruction.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ function _extend_unary_operator(f::Symbol, type_requirements, internal)
122122
l::N
123123
) where {T<:$($type_requirements),N<:$_AbstractExpressionNode{T}}
124124
return if (l.degree == 0 && l.constant)
125-
$_constructorof(N)(T; val=$($f)(l.val::T))
125+
$_constructorof(N)(T; val=$($f)(l.val))
126126
else
127127
latest_op_idx = $($lookup_op)($($f), Val(1))
128128
$_constructorof(N)(; op=latest_op_idx, l)
@@ -149,7 +149,7 @@ function _extend_binary_operator(f::Symbol, type_requirements, build_converters,
149149
l::N, r::N
150150
) where {T<:$($type_requirements),N<:$_AbstractExpressionNode{T}}
151151
if (l.degree == 0 && l.constant && r.degree == 0 && r.constant)
152-
$_constructorof(N)(T; val=$($f)(l.val::T, r.val::T))
152+
$_constructorof(N)(T; val=$($f)(l.val, r.val))
153153
else
154154
latest_op_idx = $($lookup_op)($($f), Val(2))
155155
$_constructorof(N)(; op=latest_op_idx, l, r)
@@ -159,7 +159,7 @@ function _extend_binary_operator(f::Symbol, type_requirements, build_converters,
159159
l::N, r::T
160160
) where {T<:$($type_requirements),N<:$_AbstractExpressionNode{T}}
161161
if l.degree == 0 && l.constant
162-
$_constructorof(N)(T; val=$($f)(l.val::T, r))
162+
$_constructorof(N)(T; val=$($f)(l.val, r))
163163
else
164164
latest_op_idx = $($lookup_op)($($f), Val(2))
165165
$_constructorof(N)(;
@@ -171,7 +171,7 @@ function _extend_binary_operator(f::Symbol, type_requirements, build_converters,
171171
l::T, r::N
172172
) where {T<:$($type_requirements),N<:$_AbstractExpressionNode{T}}
173173
if r.degree == 0 && r.constant
174-
$_constructorof(N)(T; val=$($f)(l, r.val::T))
174+
$_constructorof(N)(T; val=$($f)(l, r.val))
175175
else
176176
latest_op_idx = $($lookup_op)($($f), Val(2))
177177
$_constructorof(N)(;

src/SimplifyEquation.jl

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,16 @@ function combine_operators(tree::Node{T}, operators::AbstractOperatorEnum) where
4444
tree.r = tree.l
4545
tree.l = tmp
4646
end
47-
topconstant = tree.r.val::T
47+
topconstant = tree.r.val
4848
# Simplify down first
4949
below = tree.l
5050
if below.degree == 2 && below.op == op
5151
if is_node_constant(below.l)
5252
tree = below
53-
tree.l.val = _bin_op_kernel(
54-
operators.binops[op], tree.l.val::T, topconstant
55-
)
53+
tree.l.val = _bin_op_kernel(operators.binops[op], tree.l.val, topconstant)
5654
elseif is_node_constant(below.r)
5755
tree = below
58-
tree.r.val = _bin_op_kernel(
59-
operators.binops[op], tree.r.val::T, topconstant
60-
)
56+
tree.r.val = _bin_op_kernel(operators.binops[op], tree.r.val, topconstant)
6157
end
6258
end
6359
end
@@ -72,15 +68,15 @@ function combine_operators(tree::Node{T}, operators::AbstractOperatorEnum) where
7268
#(const - (const - var)) => (var - const)
7369
l = tree.l
7470
r = tree.r
75-
simplified_const = (r.l.val::T - l.val::T) #neg(sub(l.val, r.l.val))
71+
simplified_const = (r.l.val - l.val) #neg(sub(l.val, r.l.val))
7672
tree.l = tree.r.r
7773
tree.r = l
7874
tree.r.val = simplified_const
7975
elseif is_node_constant(tree.r.r)
8076
#(const - (var - const)) => (const - var)
8177
l = tree.l
8278
r = tree.r
83-
simplified_const = l.val::T + r.r.val::T #plus(l.val, r.r.val)
79+
simplified_const = l.val + r.r.val #plus(l.val, r.r.val)
8480
tree.r = tree.r.l
8581
tree.l.val = simplified_const
8682
end
@@ -91,15 +87,15 @@ function combine_operators(tree::Node{T}, operators::AbstractOperatorEnum) where
9187
#((const - var) - const) => (const - var)
9288
l = tree.l
9389
r = tree.r
94-
simplified_const = l.l.val::T - r.val::T#sub(l.l.val, r.val)
90+
simplified_const = l.l.val - r.val#sub(l.l.val, r.val)
9591
tree.r = tree.l.r
9692
tree.l = r
9793
tree.l.val = simplified_const
9894
elseif is_node_constant(tree.l.r)
9995
#((var - const) - const) => (var - const)
10096
l = tree.l
10197
r = tree.r
102-
simplified_const = r.val::T + l.r.val::T #plus(r.val, l.r.val)
98+
simplified_const = r.val + l.r.val #plus(r.val, l.r.val)
10399
tree.l = tree.l.l
104100
tree.r.val = simplified_const
105101
end
@@ -111,7 +107,7 @@ end
111107

112108
function combine_children!(operators, p::N, c::N...) where {T,N<:AbstractExpressionNode{T}}
113109
all(is_node_constant, c) || return p
114-
vals = map(n -> n.val::T, c)
110+
vals = map(n -> n.val, c)
115111
all(isgood, vals) || return p
116112
out = if length(c) == 1
117113
_una_op_kernel(operators.unaops[p.op], vals...)

src/Strings.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ function string_tree(
138138
variable_names = deprecate_varmap(variable_names, varMap, :string_tree)
139139
raw_output = tree_mapreduce(
140140
leaf -> if leaf.constant
141-
collect(f_constant(leaf.val::T))
141+
collect(f_constant(leaf.val))
142142
else
143143
collect(f_variable(leaf.feature, variable_names))
144144
end,

src/base.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ function hash(
411411
tree::AbstractExpressionNode{T}, h::UInt=zero(UInt); break_sharing::Val=Val(false)
412412
) where {T}
413413
return tree_mapreduce(
414-
t -> t.constant ? hash((0, t.val::T), h) : hash((1, t.feature), h),
414+
t -> t.constant ? hash((0, t.val), h) : hash((1, t.feature), h),
415415
t -> hash((t.degree + 1, t.op), h),
416416
(n...) -> hash(n, h),
417417
tree,
@@ -435,7 +435,7 @@ function copy_node(
435435
) where {T,N<:AbstractExpressionNode{T}}
436436
return tree_mapreduce(
437437
t -> if t.constant
438-
constructorof(N)(; val=t.val::T)
438+
constructorof(N)(; val=t.val)
439439
else
440440
constructorof(N)(T; feature=t.feature)
441441
end,

test/test_graphs.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ end
127127
)::Node{T} where {T}
128128
if tree.degree == 0
129129
if tree.constant
130-
Node(; val=copy(tree.val::T))
130+
Node(; val=copy(tree.val))
131131
else
132132
Node(T; feature=copy(tree.feature))
133133
end
@@ -141,7 +141,7 @@ end
141141
function _copy_node(tree::Node{T})::Node{T} where {T}
142142
if tree.degree == 0
143143
if tree.constant
144-
Node(; val=copy(tree.val::T))
144+
Node(; val=copy(tree.val))
145145
else
146146
Node(T; feature=copy(tree.feature))
147147
end
@@ -158,7 +158,7 @@ end
158158
return begin
159159
if tree.degree == 0
160160
if tree.constant
161-
Node(; val=copy(tree.val::T))
161+
Node(; val=copy(tree.val))
162162
else
163163
Node(T; feature=copy(tree.feature))
164164
end

0 commit comments

Comments
 (0)