|
125 | 125 | model_heights = model_heights[active_height_t]
|
126 | 126 | mdl = StratAgeModel(model_heights, agedist)
|
127 | 127 |
|
128 |
| - return mdl, agedist, lldist, hiatusdist |
| 128 | + return mdl, agedist, hiatusdist, lldist |
129 | 129 | end
|
130 | 130 |
|
131 | 131 | ## --- Stratigraphic MCMC model without hiatus, with distribution LL # # # # # #
|
|
264 | 264 | model_heights = model_heights[active_height_t]
|
265 | 265 | mdl = StratAgeModel(model_heights, agedist)
|
266 | 266 |
|
267 |
| - return mdl, agedist, lldist, hiatusdist |
| 267 | + return mdl, agedist, hiatusdist, lldist |
268 | 268 | end
|
269 | 269 |
|
270 | 270 | ## --- Stratigraphic MCMC model without hiatus, for radiocarbon ages # # # # # #
|
|
405 | 405 | model_heights = model_heights[active_height_t]
|
406 | 406 | mdl = StratAgeModel(model_heights, agedist)
|
407 | 407 |
|
408 |
| - return mdl, agedist, lldist, hiatusdist |
| 408 | + return mdl, agedist, hiatusdist, lldist |
409 | 409 | end
|
410 | 410 |
|
411 | 411 | ## --- # Internals of the Markov chain
|
|
716 | 716 | if model_agesₚ[h-1] == model_agesₚ[h]
|
717 | 717 | n = findclosestunequal(model_agesₚ, h)
|
718 | 718 | if n < h
|
719 |
| - model_agesₚ[n:h-1] .= model_agesₚ[n] |
| 719 | + @inbounds for i = n:h-1 |
| 720 | + model_agesₚ[i] = model_agesₚ[n] |
| 721 | + end |
720 | 722 | elseif n > h
|
721 |
| - model_agesₚ[h:n] .= model_agesₚ[n] |
| 723 | + @inbounds for i = h:n |
| 724 | + model_agesₚ[i] = model_agesₚ[n] |
| 725 | + end |
722 | 726 | end
|
723 | 727 | end
|
724 | 728 | end
|
|
740 | 744 |
|
741 | 745 | # Add log likelihood for hiatus duration
|
742 | 746 | @. durationₚ = model_agesₚ[closest_hiatus_unique - 1] - model_agesₚ[closest_hiatus_unique]
|
743 |
| - llₚ += normcdf_ll!(Hiatus_duration, Hiatus_duration_sigma, durationₚ) |
| 747 | + llₚ += normcdf_ll(Hiatus_duration, Hiatus_duration_sigma, durationₚ) |
744 | 748 |
|
745 | 749 | # Accept or reject proposal based on likelihood
|
746 | 750 | if log(rand(Float64)) < (llₚ - ll)
|
|
809 | 813 | if model_agesₚ[h-1] == model_agesₚ[h]
|
810 | 814 | n = findclosestunequal(model_agesₚ, h)
|
811 | 815 | if n < h
|
812 |
| - model_agesₚ[n:h-1] .= model_agesₚ[n] |
| 816 | + @inbounds for i = n:h-1 |
| 817 | + model_agesₚ[i] = model_agesₚ[n] |
| 818 | + end |
813 | 819 | elseif n > h
|
814 |
| - model_agesₚ[h:n] .= model_agesₚ[n] |
| 820 | + @inbounds for i = h:n |
| 821 | + model_agesₚ[i] = model_agesₚ[n] |
| 822 | + end |
815 | 823 | end
|
816 | 824 | end
|
817 | 825 | end
|
|
832 | 840 |
|
833 | 841 | # Add log likelihood for hiatus duration
|
834 | 842 | @. durationₚ = model_agesₚ[closest_hiatus_unique - 1] - model_agesₚ[closest_hiatus_unique]
|
835 |
| - llₚ += normcdf_ll!(Hiatus_duration, Hiatus_duration_sigma, durationₚ) |
| 843 | + llₚ += normcdf_ll(Hiatus_duration, Hiatus_duration_sigma, durationₚ) |
836 | 844 |
|
837 | 845 | # Accept or reject proposal based on likelihood
|
838 | 846 | if log(rand(Float64)) < (llₚ - ll)
|
|
0 commit comments