Skip to content

Commit 3b333bc

Browse files
committed
Consistent use of QDOUBLE flag
1 parent 361c830 commit 3b333bc

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

Changelog

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
29 March 2025
2+
Made application of QDOUBLE flag consistent throughout source code
3+
14
28 March 2025
25
Fixed: Numbers containing dot (new since UFP objects) were not properly matched
36
during string match.

src/equal.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
#include "equal.h"
22

3-
#include "copy.h"
43
#include "flags.h"
54
#include "nodedefs.h"
65
#include "rational.h"
76
#include "globals.h"
8-
#include "input.h"
7+
#include "copy.h"
98
#include "eval.h"
109
#include "wipecopy.h"
1110
#include "encoding.h"
@@ -285,7 +284,7 @@ int scompare(char* s, char* cutoff, psk p
285284
)
286285
{
287286
int check = sfullnumbercheck(s, cutoff);
288-
if(check & QNUMBER)
287+
if((check & (QNUMBER | QDOUBLE)) == QNUMBER)
289288
{
290289
int anythingGoes = 0;
291290
psk n = NULL;

src/flags.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,12 @@ Flgs 0 NOT
7070
18 " MINUS
7171
19 " QNUL
7272
20 " QFRACTION
73-
21 LATEBIND NOOP
74-
22 SELFMATCHING Toggles with DATAMATCHESITSELF
75-
23 BUILT_IN ONLY for 64 bit platform
76-
24 CREATEDWITHNEW ONLY for 64 bit platform
77-
25 (reference count) NON_REF_COUNT_BITS 25 or 23
78-
26 "
73+
21 QDOUBLE
74+
22 LATEBIND NOOP
75+
23 SELFMATCHING Toggles with DATAMATCHESITSELF
76+
24 BUILT_IN ONLY for 64 bit platform
77+
25 CREATEDWITHNEW ONLY for 64 bit platform
78+
26 (reference count) NON_REF_COUNT_BITS 25 or 23
7979
27 "
8080
28 "
8181
29 "
@@ -161,10 +161,10 @@ Objects (nodes with = ('EQUALS') have refcounters that are at least word-size.
161161
#define VISIBLE_FLAGS (INDIRECT|DOUBLY_INDIRECT|ATOM|NONIDENT|NUMBER|FRACTION|UNIFY|NOT|GREATER_THAN|SMALLER_THAN|FENCE|POSITION)
162162

163163
#define HAS_VISIBLE_FLAGS_OR_MINUS(psk) ((psk)->v.fl & (VISIBLE_FLAGS|MINUS))
164-
#define RATIONAL(psk) (((psk)->v.fl & (QNUMBER|IS_OPERATOR|VISIBLE_FLAGS)) == QNUMBER)
164+
#define RATIONAL(psk) (((psk)->v.fl & (QNUMBER|QDOUBLE|IS_OPERATOR|VISIBLE_FLAGS)) == QNUMBER)
165165
#define RATIONAL_COMP(psk) (((psk)->v.fl & (QNUMBER|QDOUBLE|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == QNUMBER)
166-
#define RATIONAL_COMP_NOT_NUL(psk) (((psk)->v.fl & (QNUMBER|QNUL|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == QNUMBER)
167-
#define RATIONAL_WEAK(psk) (((psk)->v.fl & (QNUMBER|IS_OPERATOR|INDIRECT|DOUBLY_INDIRECT|FENCE|UNIFY)) == QNUMBER)/* allows < > ~< and ~> as flags on numbers */
166+
#define RATIONAL_COMP_NOT_NUL(psk) (((psk)->v.fl & (QNUMBER|QDOUBLE|QNUL|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == QNUMBER)
167+
#define RATIONAL_WEAK(psk) (((psk)->v.fl & (QNUMBER|QDOUBLE|IS_OPERATOR|INDIRECT|DOUBLY_INDIRECT|FENCE|UNIFY)) == QNUMBER)/* allows < > ~< and ~> as flags on numbers */
168168
#define LESS(psk) (((psk)->v.fl & (VISIBLE_FLAGS_POS)) == (QNUMBER|SMALLER_THAN))
169169
#define LESS_EQUAL(psk) (((psk)->v.fl & (VISIBLE_FLAGS_POS)) == (QNUMBER|NOT|GREATER_THAN))
170170
#define MORE_EQUAL(psk) (((psk)->v.fl & (VISIBLE_FLAGS_POS)) == (QNUMBER|NOT|SMALLER_THAN))
@@ -205,10 +205,10 @@ Objects (nodes with = ('EQUALS') have refcounters that are at least word-size.
205205
#define INTEGER_NOT_NUL_COMP(pn) (((pn)->v.fl & (QNUMBER|QNUL|QFRACTION|QDOUBLE|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == QNUMBER)
206206
#define HAS_MINUS_SIGN(pn) (((pn)->v.fl & (MINUS|IS_OPERATOR)) == MINUS)
207207

208-
#define RAT_NUL(pn) (((pn)->v.fl & (QNUL|IS_OPERATOR|VISIBLE_FLAGS)) == QNUL)
209-
#define RAT_NUL_COMP(pn) (((pn)->v.fl & (QNUL|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == QNUL)
210-
#define RAT_NEG(pn) (((pn)->v.fl & (QNUMBER|MINUS|IS_OPERATOR|VISIBLE_FLAGS)) == (QNUMBER|MINUS))
211-
#define RAT_NEG_COMP(pn) (((pn)->v.fl & (QNUMBER|MINUS|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == (QNUMBER|MINUS))
208+
#define RAT_NUL(pn) (((pn)->v.fl & (QDOUBLE|QNUL|IS_OPERATOR|VISIBLE_FLAGS)) == QNUL)
209+
#define RAT_NUL_COMP(pn) (((pn)->v.fl & (QDOUBLE|QNUL|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == QNUL)
210+
#define RAT_NEG(pn) (((pn)->v.fl & (QDOUBLE|QNUMBER|MINUS|IS_OPERATOR|VISIBLE_FLAGS)) == (QNUMBER|MINUS))
211+
#define RAT_NEG_COMP(pn) (((pn)->v.fl & (QDOUBLE|QNUMBER|MINUS|IS_OPERATOR|VISIBLE_FLAGS_NON_COMP)) == (QNUMBER|MINUS))
212212

213213
#define RAT_RAT(pn) (((pn)->v.fl & (QNUMBER|QFRACTION|QDOUBLE|IS_OPERATOR|VISIBLE_FLAGS)) == (QNUMBER|QFRACTION))
214214

src/potu.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
email: bartj@hum.ku.dk
2121
*/
2222

23-
#define DATUM "28 March 2025"
24-
#define VERSION "6.28.2"
25-
#define BUILD "314"
23+
#define DATUM "29 March 2025"
24+
#define VERSION "6.28.3"
25+
#define BUILD "315"
2626
/*
2727
COMPILATION
2828
-----------

0 commit comments

Comments
 (0)