Throughout the package types are often hardwired to be Float64. The PR lifts this restriction in some places to allow for any real type. In particular, this allows the use of Float32 or Float16 in the A matrix to reduce memory footprint. Structures like QuadLoss etc. still require modification in order to not cause conversions to Float64 when computations are made using its fields, but this PR at least allows the user to have data in other formats.
Throughout the package types are often hardwired to be Float64. The PR lifts this restriction in some places to allow for any real type. In particular, this allows the use of Float32 or Float16 in the
A
matrix to reduce memory footprint. Structures likeQuadLoss
etc. still require modification in order to not cause conversions to Float64 when computations are made using its fields, but this PR at least allows the user to have data in other formats.