From 81997bc859e1e8c34b0a96514aa7be5adbe6e550 Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:40:53 +0300 Subject: [PATCH 1/8] Remove Pkg from deps --- Project.toml | 1 - src/ComputerAdaptiveTesting.jl | 1 - 2 files changed, 2 deletions(-) diff --git a/Project.toml b/Project.toml index 5edcefc..8537311 100644 --- a/Project.toml +++ b/Project.toml @@ -23,7 +23,6 @@ MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" Mmap = "a63ad114-7e13-5084-954f-fe012c677804" OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" PsychometricsBazaarBase = "b0d9cada-d963-45e9-a4c6-4746243987f1" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" diff --git a/src/ComputerAdaptiveTesting.jl b/src/ComputerAdaptiveTesting.jl index cd98b91..6dcabed 100644 --- a/src/ComputerAdaptiveTesting.jl +++ b/src/ComputerAdaptiveTesting.jl @@ -2,7 +2,6 @@ module ComputerAdaptiveTesting include("./hacks.jl") -using Pkg using Reexport # Modules From 3886c7788718d3f08cc34c64583be96b0a4eeaf3 Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:42:38 +0300 Subject: [PATCH 2/8] Remove unused OrderedCollections and UnPack --- Project.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Project.toml b/Project.toml index 8537311..aa28125 100644 --- a/Project.toml +++ b/Project.toml @@ -22,7 +22,6 @@ LogarithmicNumbers = "aa2f6b4e-9042-5d33-9679-40d3a6b85899" MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" Mmap = "a63ad114-7e13-5084-954f-fe012c677804" -OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" PsychometricsBazaarBase = "b0d9cada-d963-45e9-a4c6-4746243987f1" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" @@ -32,7 +31,6 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" [compat] Accessors = "^0.1.12" @@ -54,7 +52,6 @@ LogarithmicNumbers = "1" MacroTools = "^0.5.6" Measurements = "^2.10.0" Optim = "1.7.3" -OrderedCollections = "^1.6" PrecompileTools = "1.2.1" PsychometricsBazaarBase = "^0.8.1" Reexport = "1" @@ -64,7 +61,6 @@ StaticArrays = "1" StatsBase = "^0.34" StatsFuns = "^0.9.15, ^1" Test = "^1.11" -UnPack = "1" julia = "^1.11" [extras] From d3698a37da1f068359434da03c24ccda6bba4ede Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:43:05 +0300 Subject: [PATCH 3/8] Bump some compats --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index aa28125..d189da3 100644 --- a/Project.toml +++ b/Project.toml @@ -34,7 +34,7 @@ StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c" [compat] Accessors = "^0.1.12" -Aqua = "0.5.5, 0.6.5" +Aqua = "0.8" AutoHashEquals = "2" ConstructionBase = "^1.2" DataFrames = "1.6.1" @@ -43,7 +43,7 @@ DocStringExtensions = " ^0.9" EffectSizes = "^1.0.1" FillArrays = "0.13, 1.5.0" FittedItemBanks = "^0.6.3" -ForwardDiff = "0.10.24" +ForwardDiff = "1" HypothesisTests = "^0.10.12, ^0.11.0" Interpolations = "^0.14, ^0.15" JET = "^0.9" From 83803b2b049080053f89c570dd5274f6bcd09ec3 Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:43:30 +0300 Subject: [PATCH 4/8] Use copy/copyto! from correct place --- src/hacks.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hacks.jl b/src/hacks.jl index d6a3ade..879e213 100644 --- a/src/hacks.jl +++ b/src/hacks.jl @@ -9,8 +9,8 @@ function moneypatch_broadcast() methods(Base.Broadcast._broadcast_getindex)..., methods(Base.Broadcast.materialize)..., methods(Base.Broadcast.materialize!)..., - methods(Base.Broadcast.copy)..., - methods(Base.Broadcast.copyto!)..., + methods(Base.copy)..., + methods(Base.copyto!)..., methods(Base.getindex)... ] m.recursion_relation = function (method1, method2, parent_sig, new_sig) From a4d217c50ed5eeb974d18f6d363089ab41c6aa7a Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:44:27 +0300 Subject: [PATCH 5/8] Make top level test verbose --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index a392689..0610f2a 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -24,7 +24,7 @@ using Test include("./dummy.jl") using .Dummy -@testset "test" begin +@testset verbose=true "Test ComputerAdaptiveTesting.jl" begin include("./aqua.jl") include("./jet.jl") include("./ability_estimator_1d.jl") From bc604280c013e73ce992441d99e6b00621c219db Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:44:45 +0300 Subject: [PATCH 6/8] Make a lot of imports explicit --- src/CatConfig.jl | 3 +-- src/Comparison.jl | 13 ++++++------- src/ComputerAdaptiveTesting.jl | 2 +- src/ConfigBase.jl | 4 ++-- src/Responses.jl | 4 ++-- src/Sim.jl | 2 +- src/TerminationConditions.jl | 4 ++-- src/aggregators/Aggregators.jl | 20 +++++++++++++++----- src/decision_tree/DecisionTree.jl | 5 ++--- src/next_item_rules/NextItemRules.jl | 25 ++++++++++++++----------- src/precompiles.jl | 4 ++-- 11 files changed, 48 insertions(+), 38 deletions(-) diff --git a/src/CatConfig.jl b/src/CatConfig.jl index 67c7dc1..0491087 100644 --- a/src/CatConfig.jl +++ b/src/CatConfig.jl @@ -2,8 +2,7 @@ module CatConfig export CatRules, CatLoopConfig -using DocStringExtensions - +using DocStringExtensions: FUNCTIONNAME, TYPEDEF, TYPEDFIELDS using PsychometricsBazaarBase.Parameters using ..Aggregators: AbilityEstimator, AbilityTracker, ConsAbilityTracker, diff --git a/src/Comparison.jl b/src/Comparison.jl index d4b2067..40aa9e2 100644 --- a/src/Comparison.jl +++ b/src/Comparison.jl @@ -3,17 +3,16 @@ module Comparison # TODO: We are overlapping a bit with CatRecorder here # Should be kept in mind and kept distinct or code reuse -using StatsBase using FittedItemBanks: AbstractItemBank, ResponseType, subset using ..Responses -using ..CatConfig: CatLoopConfig, CatRules -using ..Aggregators: TrackedResponses, add_response!, Speculator, Aggregators, track!, - pop_response! -using ..DecisionTree: TreePosition, next! +using ..Aggregators: TrackedResponses, Aggregators using Base: Iterators -using HypothesisTests -using EffectSizes +using EffectSizes: CohenD, effectsize +using HypothesisTests: ExactSignedRankTest, SignTest, UnequalVarianceTTest, + pvalue +using StatsBase: median, sample! + using DataFrames: DataFrame using ComputerAdaptiveTesting: Stateful diff --git a/src/ComputerAdaptiveTesting.jl b/src/ComputerAdaptiveTesting.jl index 6dcabed..be76ee9 100644 --- a/src/ComputerAdaptiveTesting.jl +++ b/src/ComputerAdaptiveTesting.jl @@ -2,7 +2,7 @@ module ComputerAdaptiveTesting include("./hacks.jl") -using Reexport +using Reexport: Reexport, @reexport # Modules export ConfigBase, Responses, Aggregators diff --git a/src/ConfigBase.jl b/src/ConfigBase.jl index 038fdb5..06292a0 100644 --- a/src/ConfigBase.jl +++ b/src/ConfigBase.jl @@ -1,7 +1,7 @@ module ConfigBase -using Accessors -using DocStringExtensions +using Accessors: PropertyLens, opcompose +using DocStringExtensions: TYPEDEF export CatConfigBase, walk diff --git a/src/Responses.jl b/src/Responses.jl index 8f5c216..8a7560f 100644 --- a/src/Responses.jl +++ b/src/Responses.jl @@ -3,8 +3,8 @@ module Responses using FittedItemBanks: AbstractItemBank, BooleanResponse, MultinomialResponse, ResponseType, ItemResponse, resp, - DichotomousPointsItemBank, item_xs, item_ys -using AutoHashEquals + DichotomousPointsItemBank, item_ys +using AutoHashEquals: @auto_hash_equals export Response, BareResponses, AbilityLikelihood, function_xs, function_ys diff --git a/src/Sim.jl b/src/Sim.jl index f29fdd2..446074f 100644 --- a/src/Sim.jl +++ b/src/Sim.jl @@ -4,7 +4,7 @@ using StatsBase using FittedItemBanks: AbstractItemBank, ResponseType using ..Responses using ..CatConfig: CatLoopConfig, CatRules -using ..Aggregators: TrackedResponses, add_response!, Speculator, Aggregators +using ..Aggregators: TrackedResponses, add_response!, Aggregators using ..NextItemRules: compute_criteria, best_item export run_cat, prompt_response, auto_responder diff --git a/src/TerminationConditions.jl b/src/TerminationConditions.jl index 17ff07c..f0b5261 100644 --- a/src/TerminationConditions.jl +++ b/src/TerminationConditions.jl @@ -1,10 +1,10 @@ module TerminationConditions -using DocStringExtensions +using DocStringExtensions: TYPEDEF, TYPEDFIELDS using FittedItemBanks: AbstractItemBank using ..Aggregators: TrackedResponses using ..ConfigBase -using PsychometricsBazaarBase.ConfigTools +using PsychometricsBazaarBase.ConfigTools: @returnsome, find1_instance using FittedItemBanks export TerminationCondition, diff --git a/src/aggregators/Aggregators.jl b/src/aggregators/Aggregators.jl index 7313fb5..5f28725 100644 --- a/src/aggregators/Aggregators.jl +++ b/src/aggregators/Aggregators.jl @@ -11,14 +11,24 @@ using Distributions: Distribution, Normal, Distributions using Base.Threads using ForwardDiff: ForwardDiff -using FittedItemBanks +using FittedItemBanks: AbstractItemBank, ContinuousDomain, + DichotomousSmoothedItemBank, DiscreteIndexableDomain, + DomainType, ItemResponse, OneDimContinuousDomain, + PointsItemBank, ResponseType, VectorContinuousDomain, + domdims, item_params, resp, resp_vec, responses using ..Responses using ..Responses: concrete_response_type, function_xs, function_ys using ..ConfigBase -using PsychometricsBazaarBase.ConfigTools -using PsychometricsBazaarBase.Integrators -using PsychometricsBazaarBase: Integrators -using PsychometricsBazaarBase.Optimizers +using PsychometricsBazaarBase.ConfigTools: @requiresome, @returnsome, + find1_instance, find1_type, + find1_type_sloppy +using PsychometricsBazaarBase.Integrators: Integrators, + BareIntegrationResult, + FixedGridIntegrator, IntReturnType, + IntValue, Integrator, + PreallocatedFixedGridIntegrator, + normdenom +using PsychometricsBazaarBase.Optimizers: OneDimOptimOptimizer, Optimizer using PsychometricsBazaarBase.ConstDistributions: std_normal, std_mv_normal import FittedItemBanks diff --git a/src/decision_tree/DecisionTree.jl b/src/decision_tree/DecisionTree.jl index a15e2b1..6fe3ffb 100644 --- a/src/decision_tree/DecisionTree.jl +++ b/src/decision_tree/DecisionTree.jl @@ -1,14 +1,13 @@ module DecisionTree -using Mmap +using Mmap: mmap using ComputerAdaptiveTesting.ConfigBase: CatConfigBase using ComputerAdaptiveTesting.PushVectors using ComputerAdaptiveTesting.NextItemRules using ComputerAdaptiveTesting.Aggregators using ComputerAdaptiveTesting.Responses: BareResponses, Response -using FittedItemBanks -using FittedItemBanks.DummyData: std_mv_normal +using FittedItemBanks: AbstractItemBank, BooleanResponse, ResponseType # TODO: Remove ability tracking from here? Base.@kwdef struct AgendaItem diff --git a/src/next_item_rules/NextItemRules.jl b/src/next_item_rules/NextItemRules.jl index e3b6d47..43d9c4e 100644 --- a/src/next_item_rules/NextItemRules.jl +++ b/src/next_item_rules/NextItemRules.jl @@ -10,25 +10,28 @@ Springer, New York, NY. """ module NextItemRules -using Accessors -using DocStringExtensions -using Reexport -using PsychometricsBazaarBase.Parameters -using LinearAlgebra -using Random +using DocStringExtensions: FUNCTIONNAME, TYPEDEF, TYPEDFIELDS +using PsychometricsBazaarBase.Parameters: @with_kw +using LinearAlgebra: det, tr +using Random: AbstractRNG, Xoshiro -using ..Responses: Response, BareResponses +using ..Responses: BareResponses using ..ConfigBase -using PsychometricsBazaarBase.ConfigTools +using PsychometricsBazaarBase.ConfigTools: @requiresome, @returnsome, + find1_instance, find1_type using PsychometricsBazaarBase.Integrators: Integrator using PsychometricsBazaarBase: Integrators import PsychometricsBazaarBase.IntegralCoeffs -using FittedItemBanks -using FittedItemBanks: item_params +using FittedItemBanks: AbstractItemBank, DiscreteDomain, DomainType, + ItemResponse, OneDimContinuousDomain, domdims, item_params, + resp, resp_vec, responses using ..Aggregators using ..Aggregators: covariance_matrix -using Distributions, Base.Threads, Base.Order, StaticArrays +using Distributions: logccdf, logcdf, pdf +using Base.Threads +using Base.Order +using StaticArrays: SVector using ConstructionBase: constructorof import ForwardDiff diff --git a/src/precompiles.jl b/src/precompiles.jl index cdec95d..c7b44f5 100644 --- a/src/precompiles.jl +++ b/src/precompiles.jl @@ -1,4 +1,4 @@ -using PrecompileTools +using PrecompileTools: @compile_workload, @setup_workload @setup_workload begin using PsychometricsBazaarBase: Integrators @@ -28,4 +28,4 @@ using PrecompileTools Stateful.add_response!(cat, 1, 0) Stateful.next_item(cat) end -end \ No newline at end of file +end From b425fe049bbde1fd5c9097d7ecef235e48cd68e5 Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 13:50:05 +0300 Subject: [PATCH 7/8] Remove unused dep Measurements --- Project.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Project.toml b/Project.toml index d189da3..2f6a5c0 100644 --- a/Project.toml +++ b/Project.toml @@ -20,7 +20,6 @@ Lazy = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" LogarithmicNumbers = "aa2f6b4e-9042-5d33-9679-40d3a6b85899" MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" Mmap = "a63ad114-7e13-5084-954f-fe012c677804" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" PsychometricsBazaarBase = "b0d9cada-d963-45e9-a4c6-4746243987f1" @@ -50,7 +49,6 @@ JET = "^0.9" Lazy = "0.15" LogarithmicNumbers = "1" MacroTools = "^0.5.6" -Measurements = "^2.10.0" Optim = "1.7.3" PrecompileTools = "1.2.1" PsychometricsBazaarBase = "^0.8.1" From f46a8286bc2286f361f394fc0610d1b52a5251f6 Mon Sep 17 00:00:00 2001 From: Frankie Robertson Date: Tue, 8 Apr 2025 14:00:17 +0300 Subject: [PATCH 8/8] Add compat entries for versioned stdlibs --- Project.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Project.toml b/Project.toml index 2f6a5c0..a3d70de 100644 --- a/Project.toml +++ b/Project.toml @@ -47,14 +47,18 @@ HypothesisTests = "^0.10.12, ^0.11.0" Interpolations = "^0.14, ^0.15" JET = "^0.9" Lazy = "0.15" +LinearAlgebra = "^1.11" LogarithmicNumbers = "1" MacroTools = "^0.5.6" +Mmap = "^1.11" Optim = "1.7.3" PrecompileTools = "1.2.1" PsychometricsBazaarBase = "^0.8.1" +Random = "^1.11" Reexport = "1" ResumableFunctions = "^0.6" Setfield = "^1" +SparseArrays = "^1.11" StaticArrays = "1" StatsBase = "^0.34" StatsFuns = "^0.9.15, ^1"