Skip to content

Commit c055e03

Browse files
committed
refactor oeis package
1 parent f37b1d7 commit c055e03

16 files changed

+55
-53
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ To install or update LODA, please follow the [installation instructions](https:/
22

33
## [Unreleased]
44

5+
## v25.8.28
6+
57
### Bugfixes
68

79
* Fix missing sequence name error

src/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ OBJS = base/uid.o \
1414
form/expression_util.o form/expression.o form/formula_gen.o form/formula_util.o form/formula.o form/pari.o form/variant.o \
1515
lang/analyzer.o lang/comments.o lang/constants.o lang/parser.o lang/program.o lang/program_cache.o lang/program_util.o lang/subprogram.o lang/virtual_seq.o \
1616
math/big_number.o math/number.o math/sequence.o \
17-
mine/api_client.o mine/blocks.o mine/checker.o mine/config.o mine/distribution.o mine/extender.o mine/finder.o mine/generator_v1.o mine/generator_v2.o mine/generator_v3.o mine/generator_v4.o mine/generator_v5.o mine/generator_v6.o mine/generator_v7.o mine/generator_v8.o mine/generator.o mine/iterator.o mine/matcher.o mine/miner.o mine/mutator.o mine/reducer.o mine/stats.o \
18-
oeis/invalid_matches.o oeis/oeis_manager.o oeis/oeis_program.o \
19-
seq/managed_seq.o seq/seq_index.o seq/seq_list.o seq/seq_loader.o seq/seq_util.o \
17+
mine/api_client.o mine/blocks.o mine/checker.o mine/config.o mine/distribution.o mine/extender.o mine/finder.o mine/generator_v1.o mine/generator_v2.o mine/generator_v3.o mine/generator_v4.o mine/generator_v5.o mine/generator_v6.o mine/generator_v7.o mine/generator_v8.o mine/generator.o mine/invalid_matches.o mine/iterator.o mine/matcher.o mine/miner.o mine/mutator.o mine/reducer.o mine/stats.o \
18+
oeis/oeis_manager.o \
19+
seq/managed_seq.o seq/seq_index.o seq/seq_list.o seq/seq_loader.o seq/seq_program.o seq/seq_util.o \
2020
sys/file.o sys/git.o sys/jute.o sys/log.o sys/metrics.o sys/process.o sys/setup.o sys/util.o sys/web_client.o
2121

2222
loda: CXXFLAGS += -O2

src/Makefile.windows.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ SRCS = base/uid.cpp \
1616
form/expression_util.cpp form/expression.cpp form/formula_gen.cpp form/formula_util.cpp form/formula.cpp form/pari.cpp form/variant.cpp \
1717
lang/analyzer.cpp lang/comments.cpp lang/constants.cpp lang/parser.cpp lang/program.cpp lang/program_cache.cpp lang/program_util.cpp lang/subprogram.cpp lang/virtual_seq.cpp \
1818
math/big_number.cpp math/number.cpp math/sequence.cpp \
19-
mine/api_client.cpp mine/blocks.cpp mine/checker.cpp mine/config.cpp mine/distribution.cpp mine/extender.cpp mine/finder.cpp mine/generator.cpp mine/generator_v1.cpp mine/generator_v2.cpp mine/generator_v3.cpp mine/generator_v4.cpp mine/generator_v5.cpp mine/generator_v6.cpp mine/generator_v7.cpp mine/generator_v8.cpp mine/iterator.cpp mine/matcher.cpp mine/miner.cpp mine/mutator.cpp mine/reducer.cpp mine/stats.cpp \
20-
oeis/invalid_matches.cpp oeis/oeis_manager.cpp oeis/oeis_program.cpp \
21-
seq/managed_seq.cpp seq/seq_index.cpp seq/seq_list.cpp seq/seq_loader.cpp seq/seq_util.cpp \
19+
mine/api_client.cpp mine/blocks.cpp mine/checker.cpp mine/config.cpp mine/distribution.cpp mine/extender.cpp mine/finder.cpp mine/generator.cpp mine/generator_v1.cpp mine/generator_v2.cpp mine/generator_v3.cpp mine/generator_v4.cpp mine/generator_v5.cpp mine/generator_v6.cpp mine/generator_v7.cpp mine/generator_v8.cpp mine/invalid_matches.cpp mine/iterator.cpp mine/matcher.cpp mine/miner.cpp mine/mutator.cpp mine/reducer.cpp mine/stats.cpp \
20+
oeis/oeis_manager.cpp \
21+
seq/managed_seq.cpp seq/seq_index.cpp seq/seq_list.cpp seq/seq_loader.cpp seq/seq_program.cpp seq/seq_util.cpp \
2222
sys/file.cpp sys/git.cpp sys/jute.cpp sys/log.cpp sys/metrics.cpp sys/process.cpp sys/setup.cpp sys/util.cpp sys/web_client.cpp
2323

2424
loda: $(SRCS)

src/cmd/commands.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
#include "mine/miner.hpp"
2323
#include "mine/mutator.hpp"
2424
#include "oeis/oeis_manager.hpp"
25-
#include "oeis/oeis_program.hpp"
2625
#include "seq/seq_list.hpp"
26+
#include "seq/seq_program.hpp"
2727
#include "sys/file.hpp"
2828
#include "sys/log.hpp"
2929
#include "sys/setup.hpp"
@@ -168,7 +168,7 @@ void Commands::upgrade() {
168168

169169
void Commands::evaluate(const std::string& path) {
170170
initLog(true);
171-
Program program = OeisProgram::getProgramAndSeqId(path).first;
171+
Program program = SequenceProgram::getProgramAndSeqId(path).first;
172172
Evaluator evaluator(settings, EVAL_ALL, false);
173173
Sequence seq;
174174
evaluator.eval(program, seq);
@@ -179,7 +179,7 @@ void Commands::evaluate(const std::string& path) {
179179

180180
void Commands::check(const std::string& path) {
181181
initLog(true);
182-
auto program_and_id = OeisProgram::getProgramAndSeqId(path);
182+
auto program_and_id = SequenceProgram::getProgramAndSeqId(path);
183183
auto program = program_and_id.first;
184184
UID uid;
185185
if (program_and_id.second.number()) {
@@ -190,7 +190,7 @@ void Commands::check(const std::string& path) {
190190
auto seq = ManagedSequence(uid);
191191
Evaluator evaluator(settings, EVAL_ALL, true);
192192
auto terms = seq.getTerms(SequenceUtil::FULL_SEQ_LENGTH);
193-
auto num_required = OeisProgram::getNumRequiredTerms(program);
193+
auto num_required = SequenceProgram::getNumRequiredTerms(program);
194194
auto result = evaluator.check(program, terms, num_required, uid);
195195
switch (result.first) {
196196
case status_t::OK:
@@ -207,15 +207,15 @@ void Commands::check(const std::string& path) {
207207

208208
void Commands::optimize(const std::string& path) {
209209
initLog(true);
210-
Program program = OeisProgram::getProgramAndSeqId(path).first;
210+
Program program = SequenceProgram::getProgramAndSeqId(path).first;
211211
Optimizer optimizer(settings);
212212
optimizer.optimize(program);
213213
ProgramUtil::print(program, std::cout);
214214
}
215215

216216
void Commands::minimize(const std::string& path) {
217217
initLog(true);
218-
Program program = OeisProgram::getProgramAndSeqId(path).first;
218+
Program program = SequenceProgram::getProgramAndSeqId(path).first;
219219
Minimizer minimizer(settings);
220220
minimizer.optimizeAndMinimize(program, settings.num_terms);
221221
ProgramUtil::print(program, std::cout);
@@ -227,7 +227,7 @@ void throwConversionError(const std::string& format) {
227227

228228
void Commands::export_(const std::string& path) {
229229
initLog(true);
230-
Program program = OeisProgram::getProgramAndSeqId(path).first;
230+
Program program = SequenceProgram::getProgramAndSeqId(path).first;
231231
const auto& format = settings.export_format;
232232
Formula formula;
233233
PariFormula pari_formula;
@@ -271,7 +271,7 @@ void Commands::export_(const std::string& path) {
271271

272272
void Commands::profile(const std::string& path) {
273273
initLog(true);
274-
Program program = OeisProgram::getProgramAndSeqId(path).first;
274+
Program program = SequenceProgram::getProgramAndSeqId(path).first;
275275
Sequence res;
276276
Evaluator evaluator(settings, EVAL_ALL, false);
277277
auto start_time = std::chrono::steady_clock::now();
@@ -294,8 +294,8 @@ void Commands::profile(const std::string& path) {
294294

295295
void Commands::fold(const std::string& main_path, const std::string& sub_id) {
296296
initLog(true);
297-
auto main = OeisProgram::getProgramAndSeqId(main_path).first;
298-
auto sub = OeisProgram::getProgramAndSeqId(sub_id);
297+
auto main = SequenceProgram::getProgramAndSeqId(main_path).first;
298+
auto sub = SequenceProgram::getProgramAndSeqId(sub_id);
299299
if (sub.second.number() == 0) {
300300
throw std::runtime_error("subprogram must be given by ID");
301301
}
@@ -309,7 +309,7 @@ void Commands::fold(const std::string& main_path, const std::string& sub_id) {
309309

310310
void Commands::unfold(const std::string& path) {
311311
initLog(true);
312-
auto p = OeisProgram::getProgramAndSeqId(path).first;
312+
auto p = SequenceProgram::getProgramAndSeqId(path).first;
313313
if (!Fold::unfold(p)) {
314314
throw std::runtime_error("cannot unfold program");
315315
}
@@ -433,7 +433,7 @@ void Commands::mine() {
433433

434434
void Commands::mutate(const std::string& path) {
435435
initLog(false);
436-
Program base_program = OeisProgram::getProgramAndSeqId(path).first;
436+
Program base_program = SequenceProgram::getProgramAndSeqId(path).first;
437437
auto progress_monitor = makeProgressMonitor(settings);
438438
Miner miner(settings, progress_monitor.get());
439439
miner.setBaseProgram(base_program);
@@ -905,8 +905,8 @@ void Commands::lists() {
905905

906906
void Commands::compare(const std::string& path1, const std::string& path2) {
907907
initLog(false);
908-
Program p1 = OeisProgram::getProgramAndSeqId(path1).first;
909-
Program p2 = OeisProgram::getProgramAndSeqId(path2).first;
908+
Program p1 = SequenceProgram::getProgramAndSeqId(path1).first;
909+
Program p2 = SequenceProgram::getProgramAndSeqId(path2).first;
910910
auto id = UID(Comments::getSequenceIdFromProgram(p1));
911911
auto seq = ManagedSequence(id);
912912
OeisManager manager(settings);

src/mine/checker.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
#include "lang/constants.hpp"
1010
#include "lang/program_cache.hpp"
1111
#include "lang/program_util.hpp"
12-
#include "oeis/oeis_program.hpp"
1312
#include "seq/managed_seq.hpp"
13+
#include "seq/seq_program.hpp"
1414
#include "sys/file.hpp"
1515
#include "sys/log.hpp"
1616
#include "sys/setup.hpp"
@@ -107,9 +107,9 @@ check_result_t Checker::checkProgramExtended(Program program, Program existing,
107107
check_result_t result;
108108

109109
// get the extended sequence and number of required terms
110-
auto num_check = OeisProgram::getNumCheckTerms(full_check);
111-
auto num_required = OeisProgram::getNumRequiredTerms(program);
112-
auto num_minimize = OeisProgram::getNumMinimizationTerms(program);
110+
auto num_check = SequenceProgram::getNumCheckTerms(full_check);
111+
auto num_required = SequenceProgram::getNumRequiredTerms(program);
112+
auto num_minimize = SequenceProgram::getNumMinimizationTerms(program);
113113
auto extended_seq = seq.getTerms(num_check);
114114

115115
// check the program w/o minimization
@@ -130,7 +130,7 @@ check_result_t Checker::checkProgramExtended(Program program, Program existing,
130130
minimizer.optimizeAndMinimize(program, num_minimize);
131131
if (program != result.program) {
132132
// minimization changed program => check the minimized program
133-
num_required = OeisProgram::getNumRequiredTerms(program);
133+
num_required = SequenceProgram::getNumRequiredTerms(program);
134134
auto check_minimized =
135135
evaluator.check(program, extended_seq, num_required, seq.id);
136136
if (check_minimized.first == status_t::ERROR) {
@@ -189,15 +189,15 @@ check_result_t Checker::checkProgramBasic(const Program& program,
189189
num_usages);
190190
}
191191
// compare with hash of existing program
192-
if (previous_hash != OeisProgram::getTransitiveProgramHash(existing)) {
192+
if (previous_hash != SequenceProgram::getTransitiveProgramHash(existing)) {
193193
Log::get().debug("Skipping update of " + seq.id.string() +
194194
" because of hash mismatch");
195195
return result;
196196
}
197197
}
198198

199199
// get the number of required terms and the sequence
200-
auto num_required = OeisProgram::getNumRequiredTerms(program);
200+
auto num_required = SequenceProgram::getNumRequiredTerms(program);
201201
auto terms = seq.getTerms(num_required);
202202

203203
// check the program
@@ -272,7 +272,7 @@ std::string Checker::isOptimizedBetter(Program existing, Program optimized,
272272
// ======= EVALUATION CHECKS =========
273273

274274
// get extended sequence
275-
auto num_check = OeisProgram::getNumCheckTerms(full_check);
275+
auto num_check = SequenceProgram::getNumCheckTerms(full_check);
276276
auto terms = seq.getTerms(num_check);
277277
if (terms.empty()) {
278278
Log::get().error("Error fetching b-file for " + seq.id.string(), true);

src/mine/checker.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include "eval/evaluator.hpp"
66
#include "eval/minimizer.hpp"
77
#include "eval/optimizer.hpp"
8+
#include "mine/invalid_matches.hpp"
89
#include "mine/matcher.hpp"
9-
#include "oeis/invalid_matches.hpp"
1010

1111
class ManagedSequence;
1212

src/mine/finder.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
#include "lang/program_util.hpp"
1111
#include "lang/subprogram.hpp"
1212
#include "mine/config.hpp"
13-
#include "oeis/invalid_matches.hpp"
14-
#include "oeis/oeis_program.hpp"
13+
#include "mine/invalid_matches.hpp"
1514
#include "seq/seq_list.hpp"
15+
#include "seq/seq_program.hpp"
1616
#include "sys/file.hpp"
1717
#include "sys/log.hpp"
1818
#include "sys/setup.hpp"
@@ -118,7 +118,7 @@ void Finder::findAll(const Program &p, const Sequence &norm_seq,
118118
}
119119
last = t;
120120
auto expected_seq = s.getTerms(s.numExistingTerms());
121-
auto num_required = OeisProgram::getNumRequiredTerms(t.second);
121+
auto num_required = SequenceProgram::getNumRequiredTerms(t.second);
122122
auto res = evaluator.check(t.second, expected_seq, num_required, t.first);
123123
if (res.first == status_t::ERROR) {
124124
invalid_matches.insert(t.first);

src/mine/finder.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
#include "eval/evaluator.hpp"
77
#include "eval/minimizer.hpp"
88
#include "mine/checker.hpp"
9+
#include "mine/invalid_matches.hpp"
910
#include "mine/matcher.hpp"
10-
#include "oeis/invalid_matches.hpp"
1111
#include "seq/seq_index.hpp"
1212

1313
class ManagedSequence;

src/oeis/invalid_matches.cpp renamed to src/mine/invalid_matches.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "oeis/invalid_matches.hpp"
1+
#include "mine/invalid_matches.hpp"
22

33
#include "seq/seq_list.hpp"
44
#include "sys/log.hpp"
File renamed without changes.

0 commit comments

Comments
 (0)