Skip to content
Closed
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/NLPModels.jl
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,6 @@ end
include("nlp/batch_api.jl")
include("nlp/batch_meta.jl")

include("nlp/param_api.jl")

end # module
84 changes: 84 additions & 0 deletions src/nlp/meta.jl
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,35 @@ struct NLPModelMeta{T, S} <: AbstractNLPModelMeta{T, S}
jprod_available::Bool
jtprod_available::Bool
hprod_available::Bool

# Parametric fields
nparam::Int
nnzjp::Int
nnzhp::Int
nnzgp::Int
nnzjplcon::Int
nnzjpucon::Int
nnzjplvar::Int
nnzjpuvar::Int
grad_param_available::Bool
jac_param_available::Bool
hess_param_available::Bool
jpprod_available::Bool
jptprod_available::Bool
hpprod_available::Bool
hptprod_available::Bool
lcon_jac_available::Bool
ucon_jac_available::Bool
lvar_jac_available::Bool
uvar_jac_available::Bool
lcon_jpprod_available::Bool
ucon_jpprod_available::Bool
lvar_jpprod_available::Bool
uvar_jpprod_available::Bool
lcon_jptprod_available::Bool
ucon_jptprod_available::Bool
lvar_jptprod_available::Bool
uvar_jptprod_available::Bool
end

function NLPModelMeta{T, S}(
Expand Down Expand Up @@ -173,6 +202,34 @@ function NLPModelMeta{T, S}(
jprod_available::Bool = (ncon > 0),
jtprod_available::Bool = (ncon > 0),
hprod_available::Bool = true,
# Parametric fields
nparam::Int = 0,
nnzjp::Int = 0,
nnzhp::Int = 0,
nnzgp::Int = 0,
nnzjplcon::Int = 0,
nnzjpucon::Int = 0,
nnzjplvar::Int = 0,
nnzjpuvar::Int = 0,
grad_param_available::Bool = false,
jac_param_available::Bool = false,
hess_param_available::Bool = false,
jpprod_available::Bool = false,
jptprod_available::Bool = false,
hpprod_available::Bool = false,
hptprod_available::Bool = false,
lcon_jac_available::Bool = false,
ucon_jac_available::Bool = false,
lvar_jac_available::Bool = false,
uvar_jac_available::Bool = false,
lcon_jpprod_available::Bool = false,
ucon_jpprod_available::Bool = false,
lvar_jpprod_available::Bool = false,
uvar_jpprod_available::Bool = false,
lcon_jptprod_available::Bool = false,
ucon_jptprod_available::Bool = false,
lvar_jptprod_available::Bool = false,
uvar_jptprod_available::Bool = false,
) where {T, S}
if (nvar < 1) || (ncon < 0) || (nnzj < 0) || (nnzh < 0)
error("Nonsensical dimensions")
Expand Down Expand Up @@ -265,6 +322,33 @@ function NLPModelMeta{T, S}(
jprod_available,
jtprod_available,
hprod_available,
nparam,
nnzjp,
nnzhp,
nnzgp,
nnzjplcon,
nnzjpucon,
nnzjplvar,
nnzjpuvar,
grad_param_available,
jac_param_available,
hess_param_available,
jpprod_available,
jptprod_available,
hpprod_available,
hptprod_available,
lcon_jac_available,
ucon_jac_available,
lvar_jac_available,
uvar_jac_available,
lcon_jpprod_available,
ucon_jpprod_available,
lvar_jpprod_available,
uvar_jpprod_available,
lcon_jptprod_available,
ucon_jptprod_available,
lvar_jptprod_available,
uvar_jptprod_available,
)
end

Expand Down
Loading
Loading