Skip to content

Commit 96d80e2

Browse files
committed
rename digit operations
1 parent 59be6d3 commit 96d80e2

File tree

9 files changed

+35
-24
lines changed

9 files changed

+35
-24
lines changed

CHANGELOG.md

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

33
## [Unreleased]
44

5+
### Enhancements
6+
7+
* Rename digit operations
8+
59
## v25.1.3
610

711
### Bugfixes

src/eval/interpreter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ Number Interpreter::calc(const Operation::Type type, const Number& target,
8080
case Operation::Type::NRT: {
8181
return Semantics::nrt(target, source);
8282
}
83-
case Operation::Type::DIS: {
84-
return Semantics::dis(target, source);
83+
case Operation::Type::DGS: {
84+
return Semantics::dgs(target, source);
8585
}
86-
case Operation::Type::DIR: {
87-
return Semantics::dir(target, source);
86+
case Operation::Type::DGR: {
87+
return Semantics::dgr(target, source);
8888
}
8989
case Operation::Type::EQU: {
9090
return Semantics::equ(target, source);

src/eval/semantics.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ Number Semantics::nrt(const Number& a, const Number& b) {
223223
return r;
224224
}
225225

226-
Number Semantics::dis(const Number& a, const Number& b) {
226+
Number Semantics::dgs(const Number& a, const Number& b) {
227227
if (a == Number::INF || b == Number::INF || b < Number::TWO) {
228228
return Number::INF;
229229
}
@@ -237,7 +237,7 @@ Number Semantics::dis(const Number& a, const Number& b) {
237237
return mul(sign, r);
238238
}
239239

240-
Number Semantics::dir(const Number& a, const Number& b) {
240+
Number Semantics::dgr(const Number& a, const Number& b) {
241241
if (a == Number::INF || b == Number::INF || b < Number::TWO) {
242242
return Number::INF;
243243
}

src/eval/semantics.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ class Semantics {
3030

3131
static Number nrt(const Number& a, const Number& b);
3232

33-
static Number dis(const Number& a, const Number& b);
33+
static Number dgs(const Number& a, const Number& b);
3434

35-
static Number dir(const Number& a, const Number& b);
35+
static Number dgr(const Number& a, const Number& b);
3636

3737
static Number equ(const Number& a, const Number& b);
3838

src/lang/program.cpp

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const std::array<Operation::Type, 33> Operation::Types = {
88
Operation::Type::DIV, Operation::Type::DIF, Operation::Type::MOD,
99
Operation::Type::POW, Operation::Type::GCD, Operation::Type::LEX,
1010
Operation::Type::BIN, Operation::Type::LOG, Operation::Type::NRT,
11-
Operation::Type::DIS, Operation::Type::DIR, Operation::Type::EQU,
11+
Operation::Type::DGS, Operation::Type::DGR, Operation::Type::EQU,
1212
Operation::Type::NEQ, Operation::Type::LEQ, Operation::Type::GEQ,
1313
Operation::Type::MIN, Operation::Type::MAX, Operation::Type::BAN,
1414
Operation::Type::BOR, Operation::Type::BXO, Operation::Type::LPB,
@@ -47,10 +47,10 @@ const Operation::Metadata& Operation::Metadata::get(Type t) {
4747
Operation::Type::LOG, "log", 2, true, true, true};
4848
static Operation::Metadata nrt{
4949
Operation::Type::NRT, "nrt", 2, true, true, true};
50-
static Operation::Metadata dis{
51-
Operation::Type::DIS, "dis", 2, true, true, true};
52-
static Operation::Metadata dir{
53-
Operation::Type::DIR, "dir", 2, true, true, true};
50+
static Operation::Metadata dgs{
51+
Operation::Type::DGS, "dgs", 2, true, true, true};
52+
static Operation::Metadata dgr{
53+
Operation::Type::DGR, "dgr", 2, true, true, true};
5454
static Operation::Metadata equ{
5555
Operation::Type::EQU, "equ", 2, true, true, true};
5656
static Operation::Metadata neq{
@@ -114,10 +114,10 @@ const Operation::Metadata& Operation::Metadata::get(Type t) {
114114
return log;
115115
case Operation::Type::NRT:
116116
return nrt;
117-
case Operation::Type::DIS:
118-
return dis;
119-
case Operation::Type::DIR:
120-
return dir;
117+
case Operation::Type::DGS:
118+
return dgs;
119+
case Operation::Type::DGR:
120+
return dgr;
121121
case Operation::Type::EQU:
122122
return equ;
123123
case Operation::Type::NEQ:
@@ -163,9 +163,16 @@ const Operation::Metadata& Operation::Metadata::get(const std::string& name) {
163163
return m;
164164
}
165165
}
166-
if (name == "cmp") { // backwards compatibility
166+
// for backwards compatibility
167+
if (name == "cmp") {
167168
return get(Operation::Type::EQU);
168169
}
170+
if (name == "dis") {
171+
return get(Operation::Type::DGS);
172+
}
173+
if (name == "dir") {
174+
return get(Operation::Type::DGR);
175+
}
169176
throw std::runtime_error("invalid operation: " + name);
170177
}
171178

src/lang/program.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ class Operation {
4949
BIN, // binomial coefficient
5050
LOG, // logarithm
5151
NRT, // n-th root
52-
DIS, // digit sum
53-
DIR, // digital root
52+
DGS, // digit sum
53+
DGR, // digital root
5454
EQU, // equality
5555
NEQ, // inequality
5656
LEQ, // less or equal

src/mine/iterator.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,14 @@ bool Iterator::inc(Operation& op) {
101101
return true;
102102

103103
case Operation::Type::BIN:
104-
op.type = Operation::Type::DIS;
104+
op.type = Operation::Type::DGS;
105105
return true;
106106

107-
case Operation::Type::DIS:
108-
op.type = Operation::Type::DIR;
107+
case Operation::Type::DGS:
108+
op.type = Operation::Type::DGR;
109109
return true;
110110

111-
case Operation::Type::DIR:
111+
case Operation::Type::DGR:
112112
op.type = Operation::Type::EQU;
113113
return true;
114114

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)