You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The coefficient arrays a_exp, b_exp, c_exp, a_imp, b_imp, and c_imp in the IMEXTableau are all guaranteed to have the same element type FT, but this is not necessarily the same element type that the problem prob uses (for specifying, e.g., u0 and tspan). In the tableaus specified in imex_tableaus.jl and explicit_tableaus.jl, the coefficient element type happens to always be Float64. So, when values are multiplied by the tableau coefficients in imex_ark.jl and imex_ssprk.jl, the resulting element type may end up being Float64, even if the state vector's element type is Float32. This problem was not caught earlier because we're not running any of our test problems with Float32.
The easiest way to fix this would be to
distinguish the IMEXTableau method specified here from the IMEXTableau methods specified for the individual AlgorithmNames later in that file
pass the problem's element type FT to the first IMEXTableau method (or whatever it ends up being renamed to)
replace the promote calls here with a promotion to the problem's element type FT
do the same process for ExplicitAlgorithm
modify the test suite so that everything is tested with both Float64 and Float32
The text was updated successfully, but these errors were encountered:
The coefficient arrays
a_exp
,b_exp
,c_exp
,a_imp
,b_imp
, andc_imp
in theIMEXTableau
are all guaranteed to have the same element typeFT
, but this is not necessarily the same element type that the problemprob
uses (for specifying, e.g.,u0
andtspan
). In the tableaus specified inimex_tableaus.jl
andexplicit_tableaus.jl
, the coefficient element type happens to always beFloat64
. So, when values are multiplied by the tableau coefficients inimex_ark.jl
andimex_ssprk.jl
, the resulting element type may end up beingFloat64
, even if the state vector's element type isFloat32
. This problem was not caught earlier because we're not running any of our test problems withFloat32
.The easiest way to fix this would be to
IMEXTableau
method specified here from theIMEXTableau
methods specified for the individualAlgorithmNames
later in that fileFT
to the firstIMEXTableau
method (or whatever it ends up being renamed to)promote
calls here with a promotion to the problem's element typeFT
ExplicitAlgorithm
Float64
andFloat32
The text was updated successfully, but these errors were encountered: