Mark Thom
f74d74fe6e
Merge pull request #1972 from rujialiu/32-bit-support
...
32-bit system support #615 #1509 (WIP)
2023-08-25 10:51:15 -06:00
Rujia Liu
4fd059be5f
32-bit system support, addressing all (at most) 4GB addresses of RAM.
2023-08-24 20:05:40 +08:00
Mark Thom
81712f4c82
Merge pull request #1973 from triska/clpz
...
CLP(ℤ) improvements, notably related to queue handling
2023-08-22 15:04:33 -06:00
Markus Triska
98086de77e
attach more propagators before starting propagation
...
This prevents repeated triggering of already attached propagators
while new propagators are being attached to involved variables.
2023-08-22 21:52:55 +02:00
Markus Triska
24456e9703
remove optional (+)/1 prefix in get_atts/2 and put_atts/2 calls
...
The (+)/1 prefix in get_atts/2 at line 4219 by itself already causes a
greater than 15% slowdown for the benchmark shown in #1730 :
?- N #= 2^14,
time(((between(1, N, _),
X #\= Y,
false)
; true)).
The performance impact is not a good reason to remove the optional
(+)/1 prefix! Performance issues should be addressed at the root, in
this case get_atts/2 (#1962 ). We should never manually work around
performance issues in built-in predicates.
In contrast, readability is a good argument, and I find the calls
slightly easier to read without the optional (+)/1 prefix.
The prefix is now consistently omitted when possible.
2023-08-22 21:52:55 +02:00
Markus Triska
7f024f3b8d
use pneq/2
2023-08-22 21:52:55 +02:00
Markus Triska
67c1b171c7
enforce same queue in more constraints
2023-08-22 21:52:55 +02:00
Markus Triska
04fbb0c1ce
append the entire queues instead of inserting each element individually
2023-08-22 21:52:55 +02:00
Markus Triska
327423ab84
adapt query to Scryer Prolog
2023-08-21 21:19:29 +02:00
Markus Triska
20cfffdff5
update answers
2023-08-21 21:19:29 +02:00
Markus Triska
d8e126044f
use can_be/2
2023-08-21 21:19:29 +02:00
Mark Thom
61f975ea18
Merge pull request #1967 from rujialiu/optional-features
...
Allow users to disable optional features
2023-08-21 11:42:03 -06:00
Rujia Liu
25d4950216
Allow users to disable optional features. Needed for wasm32 support (see #615 ).
2023-08-21 10:01:24 +08:00
Mark Thom
5aa1521819
Merge pull request #1968 from rujialiu/atom-64bit
...
Make Atom 64-bit regardless of architecture
2023-08-20 11:50:58 -06:00
Mark Thom
dd030fa18b
Merge pull request #1970 from triska/crrl
...
switch to using crrl for scalar multiplication on Curve25519
2023-08-20 11:24:37 -06:00
Markus Triska
013df58fea
ENHANCED: more extensive type checking in curve25519_scalar_mult/3
2023-08-20 14:43:14 +02:00
Markus Triska
745ddc2c87
switch to using crrl for scalar multiplication on Curve25519
...
This is to facilitate WASM compilation as currently worked on
by @rujialiu in #615 . Many thanks, and many thanks to @pornin
for crrl which makes this possible!
2023-08-20 14:43:14 +02:00
Rujia Liu
f6d3b2f896
Make Atom 64-bit regardless of architecture
2023-08-20 19:43:13 +08:00
Mark Thom
7da321ab4f
Merge pull request #1964 from triska/master
...
use newly available double_quotes/1 write option in portray_clause_//1
2023-08-17 15:18:25 -06:00
Markus Triska
92fdc7e380
use newly available double_quotes/1 write option in portray_clause_//1
2023-08-17 23:05:21 +02:00
Mark Thom
2e811de0f5
Merge pull request #1963 from triska/master
...
ENHANCED: domain error in zcompare/3 (#1723 )
2023-08-14 12:18:45 -06:00
Markus Triska
f02cd0ad3c
ENHANCED: domain error in zcompare/3 ( #1723 )
2023-08-14 17:54:18 +02:00
Mark Thom
a36df33a67
Merge pull request #1961 from triska/succ
...
ADDED: succ/2, part of the Prologue for Prolog
2023-08-12 14:35:21 -06:00
Markus Triska
4a6bf5fd5f
reorder tests, per https://github.com/mthom/scryer-prolog/pull/1961#pullrequestreview-1574380588
2023-08-11 23:41:54 +02:00
Markus Triska
26c0b4fc75
ADDED: succ/2, part of the Prologue for Prolog
...
Specification:
https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue#succ
2023-08-11 22:46:46 +02:00
Mark
fad363e64a
shed CodeIndex for control predicates in disjuncts.rs ( #1791 )
2023-08-06 01:26:01 -06:00
Mark
094cf2ac5d
retract discontiguous non-multifile predicates between consultations ( #1202 , #1058 , #1585 )
2023-08-05 17:42:33 -06:00
Mark Thom
cc82727d20
Merge pull request #1950 from triska/chars_si
...
ENHANCED: more efficient chars_si/1, using specialized predicates of Scryer
2023-08-04 15:25:42 -06:00
Markus Triska
924750f826
ENHANCED: more efficient chars_si/1, using specialized predicates of Scryer
...
Source:
https://github.com/mthom/scryer-prolog/issues/1947#issuecomment-1665113488
2023-08-04 21:18:37 +02:00
Mark Thom
ffbf630b5c
Merge pull request #1948 from triska/chars_si
...
add character_si/1 and use it to correct chars_si/1
2023-08-03 18:34:19 -06:00
Markus Triska
8073a4ba87
add character_si/1 and use it to correct chars_si/1
...
This addresses #1947 .
2023-08-03 22:27:13 +02:00
Mark
ec450fc567
allocate negator results in arena ( #1898 )
2023-08-02 19:50:36 -06:00
Mark Thom
2c05ebbded
Merge pull request #1943 from triska/dead_skeleton
...
FIXED: do not attach constraint if the propagator is already entailed and killed
2023-08-02 16:32:27 -06:00
Markus Triska
0ddda0a864
FIXED: do not attach constraint if the propagator is already entailed and killed
...
Example:
?- A#=A//A#==>B,A-B=1-1.
A = 1, B = 1.
This addresses #1941 .
2023-08-03 00:26:40 +02:00
Mark Thom
02328d818c
Merge pull request #1938 from triska/remove_auxiliary_constraints
...
ENHANCED: forget auxiliary constraints set up by the propagator for multiplication
2023-07-31 14:52:34 -06:00
Mark Thom
0f55ba7218
Merge pull request #1939 from triska/oncology_trial_design
...
better wording, applying the feedback of @dcnorris. Thank you a lot!
2023-07-31 14:52:21 -06:00
Markus Triska
1c089a2bbb
better wording, applying the feedback from @dcnorris. Thank you a lot!
2023-07-31 22:07:13 +02:00
Markus Triska
54a887cdc3
ENHANCED: forget auxiliary constraints set up by the propagator for multiplication
...
This addresses the issue raised in https://github.com/mthom/scryer-prolog/discussions/1937 .
2023-07-31 21:57:25 +02:00
Mark Thom
ca28c76e52
Merge pull request #1929 from Skgland/master
...
detect and prevent concurrent AtomTable use
2023-07-29 10:52:36 -06:00
Bennet Bleßmann
a70157003b
fix spelling
2023-07-29 13:11:00 +02:00
Bennet Bleßmann
6aa3c7d5d6
handle atom table resize
...
* bumping serial_test dev-dependency due to broken should_panic handling in old version
2023-07-29 11:22:25 +02:00
Bennet Bleßmann
4ef8c5c47d
detect and prevent² concurrent AtomTable use
...
²in the case of `#[cfg(not(test))]` there is still a toctou race as I am not sufficently familiar with Atomics
2023-07-27 23:37:03 +02:00
Mark Thom
31d17f135a
Merge pull request #1927 from triska/ascii_punctuation
...
FIXED: correct handling of ascii_punctuation in char_type/2 (#1926 )
2023-07-27 14:51:01 -06:00
Markus Triska
03f7b01109
FIXED: correct handling of ascii_punctuation in char_type/2 ( #1926 )
2023-07-27 20:22:05 +02:00
Mark
bff48e7c7f
simplify and correct prefix-bracket spacing in heap_print.rs ( #1914 , #1918 )
2023-07-26 09:32:54 -06:00
Mark
3b67ffa814
overwrite code indices of dynamic_undefined predicates (dynamic, multifile, discontiguous) on export
2023-07-25 13:48:34 -06:00
Mark Thom
49b4e4cbcb
Merge pull request #1907 from coasys/dashu
...
Replace rug with dashu
2023-07-25 11:35:10 -06:00
Mark
287c308bc3
track the parent operator of the current operator in heap_print to emit space if necessary ( #1906 )
2023-07-24 20:05:28 -06:00
Mark
af44d91568
Merge branch 'dashu' of https://github.com/coasys/scryer-prolog into coasys-dashu
2023-07-24 11:47:57 -06:00
Fayeed Pawaskar
40b6890c54
updated cargo to use git
2023-07-24 19:11:41 +05:30