upl 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3f3986baaa4caf8654ae53619fc3606dd9f608f7f7722cd3860d6ec2af8a1fe
4
- data.tar.gz: 18e8d59804dd3802da05df95d667ffff47d71e73af82d3bbad509dc0ab4f2930
3
+ metadata.gz: f95134fc8f05dbcae1453985815292af7af307cb7a9ab80fc767a45cdb8e06e2
4
+ data.tar.gz: fd6ce992bdd55c20998c470b187d0ad4c5ce87fe4ae358fe38c37a0bf6a935ad
5
5
  SHA512:
6
- metadata.gz: f34cf6fafe347a3f7494108bf286abbff5771e51450594858d455d13630ac7645f36f1b26c3f45757a611bdca52dbe604dbd5e4c63c54ee4cb3cf176d22de7a8
7
- data.tar.gz: c4524355fa328c53fe99c56a1a99553e0a9cecff4b31c177571f4c6b895bc229388829d406a714e34b61667f975b046dde2507236c473d565f415634a130f604
6
+ metadata.gz: ca68fb686b4b57d4c0a135fe9885b2b8c88cdfcababd0b9a80965f46e5199afa0f6c24d903747be9a2cc6cc904e767df869d3ee193087282849afa21634523f9
7
+ data.tar.gz: 99e4b8e2b6d908d5c03bcf2a2f2ccb7777accfe94a092ef43b3a7b9638efb529ac483f1f71a227da3528ac1ae0732319c291f98d3aa39d92877cd34f827a1fd8
@@ -1,3 +1,6 @@
1
+ == 0.2.3
2
+ * update C value for >=swi-prolog-8.1.29
3
+
1
4
  == 0.2.2
2
5
  * restrict to <=swi-prolog-8.1.22
3
6
 
@@ -35,9 +35,8 @@ module Upl
35
35
  exit 1
36
36
  end
37
37
 
38
- if (version = swipl_config_values['PLVERSION']) >= '80100'
39
- # 801xx seems to have changed some calls. Not sure yet what they are.
40
- raise "unsupported version #{version}"
38
+ if (version = swipl_config_values['PLVERSION']) < '80129'
39
+ raise "unsupported version <#{version}"
41
40
  end
42
41
 
43
42
  dlload so_path
@@ -105,30 +104,31 @@ module Upl
105
104
  PL_VARIABLE = (1)
106
105
  PL_ATOM = (2)
107
106
  PL_INTEGER = (3)
108
- PL_FLOAT = (4)
109
- PL_STRING = (5)
110
- PL_TERM = (6)
111
- PL_NIL = (7)
112
- PL_BLOB = (8)
113
- PL_LIST_PAIR = (9)
114
- PL_FUNCTOR = (10)
115
- PL_LIST = (11)
116
- PL_CHARS = (12)
117
- PL_POINTER = (13)
118
- PL_CODE_LIST = (14)
119
- PL_CHAR_LIST = (15)
120
- PL_BOOL = (16)
121
- PL_FUNCTOR_CHARS = (17)
122
- _PL_PREDICATE_INDICATOR = (18)
123
- PL_SHORT = (19)
124
- PL_INT = (20)
125
- PL_LONG = (21)
126
- PL_DOUBLE = (22)
127
- PL_NCHARS = (23)
128
- PL_UTF8_CHARS = (24)
129
- PL_UTF8_STRING = (25)
130
- PL_INT64 = (26)
131
- PL_NUTF8_CHARS = (27)
107
+ PL_RATIONAL = (4)
108
+ PL_FLOAT = (5)
109
+ PL_STRING = (6)
110
+ PL_TERM = (7)
111
+ PL_NIL = (8)
112
+ PL_BLOB = (9)
113
+ PL_LIST_PAIR = (10)
114
+ PL_FUNCTOR = (11)
115
+ PL_LIST = (12)
116
+ PL_CHARS = (13)
117
+ PL_POINTER = (14)
118
+ PL_CODE_LIST = (15)
119
+ PL_CHAR_LIST = (16)
120
+ PL_BOOL = (17)
121
+ PL_FUNCTOR_CHARS = (18)
122
+ PL_PREDICATE_INDICATOR = (19)
123
+ PL_SHORT = (20)
124
+ PL_INT = (21)
125
+ PL_LONG = (22)
126
+ PL_DOUBLE = (23)
127
+ PL_NCHARS = (24)
128
+ PL_UTF8_CHARS = (25)
129
+ PL_UTF8_STRING = (26)
130
+ PL_INT64 = (27)
131
+ PL_NUTF8_CHARS = (28)
132
132
  PL_NUTF8_CODES = (29)
133
133
  PL_NUTF8_STRING = (30)
134
134
  PL_NWCHARS = (31)
@@ -159,27 +159,34 @@ module Upl
159
159
 
160
160
  # /usr/lib64/swipl/include/SWI-Prolog.h
161
161
  module Convert
162
- BUF_DISCARDABLE = 0x0000
163
- BUF_RING = 0x0100
164
- BUF_MALLOC = 0x0200
165
- BUF_ALLOW_STACK = 0x0400
166
-
167
- REP_ISO_LATIN_1 = 0x0000
168
- REP_UTF8 = 0x1000
169
- REP_MB = 0x2000
170
-
171
- CVT_ATOM = 0x0001
172
- CVT_STRING = 0x0002
173
- CVT_LIST = 0x0004
174
- CVT_INTEGER = 0x0008
175
- CVT_FLOAT = 0x0010
176
- CVT_VARIABLE = 0x0020
177
- CVT_NUMBER = CVT_INTEGER|CVT_FLOAT
178
- CVT_ATOMIC = CVT_NUMBER|CVT_ATOM|CVT_STRING
179
- CVT_WRITE = 0x0040
180
- CVT_WRITE_CANONICAL = 0x0080
181
- CVT_WRITEQ = 0x00C0
182
- CVT_ALL = CVT_ATOMIC|CVT_LIST
162
+ BUF_DISCARDABLE = 0x00000000 # Store in single thread-local buffer
163
+ BUF_RING = 0x00010000 # Store in ring of 16 buffers
164
+ BUF_MALLOC = 0x00020000 # Store using PL_malloc()
165
+ BUF_ALLOW_STACK = 0x00040000 # Allow pointer into (global) stack
166
+ BUF_NORING = 0x00080000 # Do not store in ring
167
+
168
+ # output representation
169
+ REP_ISO_LATIN_1 = 0x00000000
170
+ REP_UTF8 = 0x00100000
171
+ REP_MB = 0x00200000
172
+
173
+ CVT_ATOM = 0x00000001
174
+ CVT_STRING = 0x00000002
175
+ CVT_LIST = 0x00000004
176
+ CVT_INTEGER = 0x00000008
177
+ CVT_RATIONAL = 0x00000010
178
+ CVT_FLOAT = 0x00000020
179
+ CVT_VARIABLE = 0x00000040
180
+ CVT_NUMBER = (CVT_RATIONAL|CVT_FLOAT)
181
+ CVT_ATOMIC = (CVT_NUMBER|CVT_ATOM|CVT_STRING)
182
+ CVT_WRITE = 0x00000080
183
+ CVT_WRITE_CANONICAL = 0x00000080
184
+ CVT_WRITEQ = 0x000000C0
185
+ CVT_ALL = (CVT_ATOMIC|CVT_LIST)
186
+ CVT_MASK = 0x00000fff
187
+
188
+ CVT_EXCEPTION = 0x00001000 # throw exception on error
189
+ CVT_VARNOFAIL = 0x00002000 # return 2 if argument is unbound
183
190
  end
184
191
 
185
192
  extern 'predicate_t PL_pred(functor_t f, module_t m)'
@@ -53,6 +53,9 @@ module Upl
53
53
  bytes = double_ptr[0,8]
54
54
  bytes.unpack('D').first
55
55
 
56
+ when Extern::PL_RATIONAL
57
+ raise NotImplemented, 'convert to rational'
58
+
56
59
  when Extern::PL_STRING
57
60
  # TODO could possibly get away with BUF_DISCARDABLE here?
58
61
 
@@ -1,3 +1,3 @@
1
1
  module Upl
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Anderson