Conversation
2f8210b to
83d532b
Compare
aac2a2b to
3b30f75
Compare
| ccache_righttype = zeros(promote_type(T, eltype(_x)), nc) | ||
| c!(ccache_righttype, _x) | ||
| return sum(_λ[i] * ccache[i] for i in eachindex(_λ, ccache)) | ||
| return LinearAlgebra.dot(_λ, ccache_righttype) |
There was a problem hiding this comment.
@pkofod this seems to be a bug that could explain spurious IPNewton test failures.
3b30f75 to
615a70e
Compare
615a70e to
cdc1751
Compare
| function parse_constraints(::Type{T}, l, u) where T | ||
| size(l) == size(u) || throw(DimensionMismatch("l and u must be the same size, got $(size(l)) and $(size(u))")) | ||
| if size(l) != size(u) | ||
| throw(DimensionMismatch(LazyString("Size of lower bounds (", size(l), ") and number of upper bounds (", size(u), ") must be equal."))) |
There was a problem hiding this comment.
I see you typically use lazy but LazyString here. Any particular reason?
There was a problem hiding this comment.
I looked at the implememtation of the macro in base Julia 😅 And noticed all the parsing and string indexing going on there. This caused me to reconsider my (and our) use of the macro - it seems a bit unnecessary to hide all this information by using the macro if you can directly provide it with the constructor, even though it only affects the compilation times.
There was a problem hiding this comment.
I mean, it's meant as an optimization so why settle :)
|
This all looks reasonable. I think we can get rid of appveyor. |
|
Could we tag a new releases? #164 would be breaking, so it might be good to tag a non-breaking release with the improvements before merging it. I already updated the version number. |
This PR
== nothingwith=== nothingtypeof(x) <: Twithx isa T(IIRC better for the compiler)fill!showmethodBase.eltypeonly for type but not instance__precompile__statementTwiceDifferentiableConstraintsFixes #151.