mmikhasenko / AlgebraPDF.jl

adding, multiplying density functions, fitting LLH
MIT License
17 stars 0 forks source link

add ChiSq #20

Closed mmikhasenko closed 2 years ago

mmikhasenko commented 2 years ago
struct ChiSq{M,T<:NumberOrTuple,V<:Number} <: AbstractFunctionWithParameters
    f::M
    xdata::Vector{T}
    ydata::Vector{V}
end
function func(d::ChiSq, x::NumberOrTuple; p=pars(d))
    sum((ydata - dsum(xdata; p)).^2) #  ./ ydata
end
pars(d::ChiSq, isfree::Bool) = pars(d.f, isfree)
updatevalueorflag(d::ChiSq, s::Symbol, isfree::Bool, v=getproperty(pars(d),s)) =
    ChiSq(updatevalueorflag(d.f,s,isfree,v), d.xdata, d.ydata)