Commit 98139579bd959a05453469cf449378a0c7a1b65b

Thomas de Grivel 2023-08-04T18:22:02

tag_add

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
diff --git a/configure b/configure
index 1db1340..17b1449 100755
--- a/configure
+++ b/configure
@@ -32,7 +32,7 @@ echo "c3-${C3_VERSION}.tar.gz: $(tr '\n' ' ' < c3.index)" >> ${CONFIG_MK}
 
 update_config_mk
 
-( cd libffi && sh autogen.sh; MAKE=gmake ./configure; )
+( cd libffi && sh autogen.sh || true; MAKE=gmake ./configure; )
 ( cd libtommath && ./configure; )
 ( cd ucd2c && ./configure; )
 ( cd libc3 && ./configure; )
diff --git a/libc3/sources.mk b/libc3/sources.mk
index d8c9fc3..347efa1 100644
--- a/libc3/sources.mk
+++ b/libc3/sources.mk
@@ -414,6 +414,10 @@ LO_SOURCES = \
 	../libtommath/bn_mp_reduce_setup.c \
 	../libtommath/bn_mp_rshd.c \
 	../libtommath/bn_mp_set.c \
+	../libtommath/bn_mp_set_i32.c \
+	../libtommath/bn_mp_set_i64.c \
+	../libtommath/bn_mp_set_u32.c \
+	../libtommath/bn_mp_set_u64.c \
 	../libtommath/bn_mp_sqr.c \
 	../libtommath/bn_mp_sqrt.c \
 	../libtommath/bn_mp_sub.c \
diff --git a/libc3/sources.sh b/libc3/sources.sh
index 37b6b47..c4ecc28 100644
--- a/libc3/sources.sh
+++ b/libc3/sources.sh
@@ -1,4 +1,4 @@
 # sources.sh generated by update_sources
 HEADERS='abs.h arg.h array.h binding.h bool.h buf.h buf_file.h buf_inspect.h buf_inspect_s16.h buf_inspect_s16_binary.h buf_inspect_s16_decimal.h buf_inspect_s16_hexadecimal.h buf_inspect_s16_octal.h buf_inspect_s32.h buf_inspect_s32_binary.h buf_inspect_s32_decimal.h buf_inspect_s32_hexadecimal.h buf_inspect_s32_octal.h buf_inspect_s64.h buf_inspect_s64_binary.h buf_inspect_s64_decimal.h buf_inspect_s64_hexadecimal.h buf_inspect_s64_octal.h buf_inspect_s8.h buf_inspect_s8_binary.h buf_inspect_s8_decimal.h buf_inspect_s8_hexadecimal.h buf_inspect_s8_octal.h buf_inspect_sw.h buf_inspect_sw_binary.h buf_inspect_sw_decimal.h buf_inspect_sw_hexadecimal.h buf_inspect_sw_octal.h buf_inspect_u16.h buf_inspect_u16_binary.h buf_inspect_u16_decimal.h buf_inspect_u16_hexadecimal.h buf_inspect_u16_octal.h buf_inspect_u32.h buf_inspect_u32_binary.h buf_inspect_u32_decimal.h buf_inspect_u32_hexadecimal.h buf_inspect_u32_octal.h buf_inspect_u64.h buf_inspect_u64_binary.h buf_inspect_u64_decimal.h buf_inspect_u64_hexadecimal.h buf_inspect_u64_octal.h buf_inspect_u8.h buf_inspect_u8_binary.h buf_inspect_u8_decimal.h buf_inspect_u8_hexadecimal.h buf_inspect_u8_octal.h buf_inspect_uw.h buf_inspect_uw_binary.h buf_inspect_uw_decimal.h buf_inspect_uw_hexadecimal.h buf_inspect_uw_octal.h buf_parse.h buf_parse_c.h buf_parse_s16.h buf_parse_s32.h buf_parse_s64.h buf_parse_s8.h buf_parse_sw.h buf_parse_u16.h buf_parse_u32.h buf_parse_u64.h buf_parse_u8.h buf_parse_uw.h buf_save.h c3.h c_types.h call.h ceiling.h cfn.h character.h compare.h config.h env.h error.h error_handler.h eval.h fact.h facts.h facts_cursor.h facts_spec.h facts_spec_cursor.h facts_with.h facts_with_cursor.h float.h fn.h frame.h hash.h ident.h integer.h io.h list.h log.h module.h operator.h quote.h set__fact.h set__tag.h set_cursor__fact.h set_cursor__tag.h set_item__fact.h set_item__tag.h sha1.h sign.h skiplist__fact.h skiplist_node__fact.h str.h sym.h tag.h tuple.h type.h types.h ucd.h '
 SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c '
-LO_SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c ../libtommath/bn_cutoffs.c ../libtommath/bn_mp_2expt.c ../libtommath/bn_mp_abs.c ../libtommath/bn_mp_add.c ../libtommath/bn_mp_add_d.c ../libtommath/bn_mp_and.c ../libtommath/bn_mp_clamp.c ../libtommath/bn_mp_clear.c ../libtommath/bn_mp_clear_multi.c ../libtommath/bn_mp_cmp.c ../libtommath/bn_mp_cmp_d.c ../libtommath/bn_mp_cmp_mag.c ../libtommath/bn_mp_cnt_lsb.c ../libtommath/bn_mp_complement.c ../libtommath/bn_mp_copy.c ../libtommath/bn_mp_count_bits.c ../libtommath/bn_mp_div.c ../libtommath/bn_mp_div_2.c ../libtommath/bn_mp_div_2d.c ../libtommath/bn_mp_div_3.c ../libtommath/bn_mp_div_d.c ../libtommath/bn_mp_dr_is_modulus.c ../libtommath/bn_mp_dr_reduce.c ../libtommath/bn_mp_dr_setup.c ../libtommath/bn_mp_error_to_string.c ../libtommath/bn_mp_exch.c ../libtommath/bn_mp_exptmod.c ../libtommath/bn_mp_gcd.c ../libtommath/bn_mp_get_i32.c ../libtommath/bn_mp_get_i64.c ../libtommath/bn_mp_get_mag_u32.c ../libtommath/bn_mp_get_mag_u64.c ../libtommath/bn_mp_grow.c ../libtommath/bn_mp_init.c ../libtommath/bn_mp_init_copy.c ../libtommath/bn_mp_init_multi.c ../libtommath/bn_mp_init_size.c ../libtommath/bn_mp_invmod.c ../libtommath/bn_mp_lcm.c ../libtommath/bn_mp_lshd.c ../libtommath/bn_mp_mod.c ../libtommath/bn_mp_mod_2d.c ../libtommath/bn_mp_montgomery_calc_normalization.c ../libtommath/bn_mp_montgomery_reduce.c ../libtommath/bn_mp_montgomery_setup.c ../libtommath/bn_mp_mul.c ../libtommath/bn_mp_mul_2.c ../libtommath/bn_mp_mul_2d.c ../libtommath/bn_mp_mul_d.c ../libtommath/bn_mp_mulmod.c ../libtommath/bn_mp_neg.c ../libtommath/bn_mp_or.c ../libtommath/bn_mp_radix_size.c ../libtommath/bn_mp_reduce.c ../libtommath/bn_mp_reduce_2k.c ../libtommath/bn_mp_reduce_2k_l.c ../libtommath/bn_mp_reduce_2k_setup.c ../libtommath/bn_mp_reduce_2k_setup_l.c ../libtommath/bn_mp_reduce_is_2k.c ../libtommath/bn_mp_reduce_is_2k_l.c ../libtommath/bn_mp_reduce_setup.c ../libtommath/bn_mp_rshd.c ../libtommath/bn_mp_set.c ../libtommath/bn_mp_sqr.c ../libtommath/bn_mp_sqrt.c ../libtommath/bn_mp_sub.c ../libtommath/bn_mp_sub_d.c ../libtommath/bn_mp_xor.c ../libtommath/bn_mp_zero.c ../libtommath/bn_s_mp_add.c ../libtommath/bn_s_mp_balance_mul.c ../libtommath/bn_s_mp_exptmod.c ../libtommath/bn_s_mp_exptmod_fast.c ../libtommath/bn_s_mp_invmod_fast.c ../libtommath/bn_s_mp_invmod_slow.c ../libtommath/bn_s_mp_karatsuba_mul.c ../libtommath/bn_s_mp_karatsuba_sqr.c ../libtommath/bn_s_mp_montgomery_reduce_fast.c ../libtommath/bn_s_mp_mul_digs.c ../libtommath/bn_s_mp_mul_digs_fast.c ../libtommath/bn_s_mp_mul_high_digs.c ../libtommath/bn_s_mp_mul_high_digs_fast.c ../libtommath/bn_s_mp_rand_platform.c ../libtommath/bn_s_mp_sqr.c ../libtommath/bn_s_mp_sqr_fast.c ../libtommath/bn_s_mp_sub.c ../libtommath/bn_s_mp_toom_mul.c ../libtommath/bn_s_mp_toom_sqr.c '
+LO_SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_c.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c fn.c frame.c hash.c ident.c integer.c io.c list.c log.c module.c operator.c quote.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sym.c tag.c tuple.c type.c ucd.c ../libtommath/bn_cutoffs.c ../libtommath/bn_mp_2expt.c ../libtommath/bn_mp_abs.c ../libtommath/bn_mp_add.c ../libtommath/bn_mp_add_d.c ../libtommath/bn_mp_and.c ../libtommath/bn_mp_clamp.c ../libtommath/bn_mp_clear.c ../libtommath/bn_mp_clear_multi.c ../libtommath/bn_mp_cmp.c ../libtommath/bn_mp_cmp_d.c ../libtommath/bn_mp_cmp_mag.c ../libtommath/bn_mp_cnt_lsb.c ../libtommath/bn_mp_complement.c ../libtommath/bn_mp_copy.c ../libtommath/bn_mp_count_bits.c ../libtommath/bn_mp_div.c ../libtommath/bn_mp_div_2.c ../libtommath/bn_mp_div_2d.c ../libtommath/bn_mp_div_3.c ../libtommath/bn_mp_div_d.c ../libtommath/bn_mp_dr_is_modulus.c ../libtommath/bn_mp_dr_reduce.c ../libtommath/bn_mp_dr_setup.c ../libtommath/bn_mp_error_to_string.c ../libtommath/bn_mp_exch.c ../libtommath/bn_mp_exptmod.c ../libtommath/bn_mp_gcd.c ../libtommath/bn_mp_get_i32.c ../libtommath/bn_mp_get_i64.c ../libtommath/bn_mp_get_mag_u32.c ../libtommath/bn_mp_get_mag_u64.c ../libtommath/bn_mp_grow.c ../libtommath/bn_mp_init.c ../libtommath/bn_mp_init_copy.c ../libtommath/bn_mp_init_multi.c ../libtommath/bn_mp_init_size.c ../libtommath/bn_mp_invmod.c ../libtommath/bn_mp_lcm.c ../libtommath/bn_mp_lshd.c ../libtommath/bn_mp_mod.c ../libtommath/bn_mp_mod_2d.c ../libtommath/bn_mp_montgomery_calc_normalization.c ../libtommath/bn_mp_montgomery_reduce.c ../libtommath/bn_mp_montgomery_setup.c ../libtommath/bn_mp_mul.c ../libtommath/bn_mp_mul_2.c ../libtommath/bn_mp_mul_2d.c ../libtommath/bn_mp_mul_d.c ../libtommath/bn_mp_mulmod.c ../libtommath/bn_mp_neg.c ../libtommath/bn_mp_or.c ../libtommath/bn_mp_radix_size.c ../libtommath/bn_mp_reduce.c ../libtommath/bn_mp_reduce_2k.c ../libtommath/bn_mp_reduce_2k_l.c ../libtommath/bn_mp_reduce_2k_setup.c ../libtommath/bn_mp_reduce_2k_setup_l.c ../libtommath/bn_mp_reduce_is_2k.c ../libtommath/bn_mp_reduce_is_2k_l.c ../libtommath/bn_mp_reduce_setup.c ../libtommath/bn_mp_rshd.c ../libtommath/bn_mp_set.c ../libtommath/bn_mp_set_i32.c ../libtommath/bn_mp_set_i64.c ../libtommath/bn_mp_set_u32.c ../libtommath/bn_mp_set_u64.c ../libtommath/bn_mp_sqr.c ../libtommath/bn_mp_sqrt.c ../libtommath/bn_mp_sub.c ../libtommath/bn_mp_sub_d.c ../libtommath/bn_mp_xor.c ../libtommath/bn_mp_zero.c ../libtommath/bn_s_mp_add.c ../libtommath/bn_s_mp_balance_mul.c ../libtommath/bn_s_mp_exptmod.c ../libtommath/bn_s_mp_exptmod_fast.c ../libtommath/bn_s_mp_invmod_fast.c ../libtommath/bn_s_mp_invmod_slow.c ../libtommath/bn_s_mp_karatsuba_mul.c ../libtommath/bn_s_mp_karatsuba_sqr.c ../libtommath/bn_s_mp_montgomery_reduce_fast.c ../libtommath/bn_s_mp_mul_digs.c ../libtommath/bn_s_mp_mul_digs_fast.c ../libtommath/bn_s_mp_mul_high_digs.c ../libtommath/bn_s_mp_mul_high_digs_fast.c ../libtommath/bn_s_mp_rand_platform.c ../libtommath/bn_s_mp_sqr.c ../libtommath/bn_s_mp_sqr_fast.c ../libtommath/bn_s_mp_sub.c ../libtommath/bn_s_mp_toom_mul.c ../libtommath/bn_s_mp_toom_sqr.c '
diff --git a/libc3/tag.c b/libc3/tag.c
index e9fc259..a2940c4 100644
--- a/libc3/tag.c
+++ b/libc3/tag.c
@@ -165,6 +165,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.s8 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.s8 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_s32(&tmp, a->data.s8);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s8(dest, a->data.s8 + b->data.s8);
     case TAG_S16:
@@ -190,6 +196,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.s16 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.s16 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_s32(&tmp, a->data.s16);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s16(dest, a->data.s16 + b->data.s8);
     case TAG_S16:
@@ -215,6 +227,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.s32 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.s32 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_s32(&tmp, a->data.s32);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s32(dest, a->data.s32 + b->data.s8);
     case TAG_S16:
@@ -240,6 +258,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.s64 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.s64 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_s64(&tmp, a->data.s64);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s32(dest, a->data.s64 + b->data.s8);
     case TAG_S16:
@@ -265,6 +289,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.u8 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.u8 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_u32(&tmp, a->data.u8);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s8(dest, a->data.u8 + b->data.s8);
     case TAG_S16:
@@ -290,6 +320,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.u16 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.u16 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_u32(&tmp, a->data.u16);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s16(dest, a->data.u16 + b->data.s8);
     case TAG_S16:
@@ -315,6 +351,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.u32 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.u32 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_u32(&tmp, a->data.u32);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s32(dest, a->data.u32 + b->data.s8);
     case TAG_S16:
@@ -340,6 +382,12 @@ s_tag * tag_add (const s_tag *a, const s_tag *b, s_tag *dest)
       return tag_init_f32(dest, a->data.u64 + b->data.f32);
     case TAG_F64:
       return tag_init_f64(dest, a->data.u64 + b->data.f64);
+    case TAG_INTEGER:
+      integer_init_u64(&tmp, a->data.u64);
+      integer_add(&tmp, &b->data.integer, &tmp);
+      tag_init_integer(dest, &tmp);
+      integer_clean(&tmp);
+      return dest;
     case TAG_S8:
       return tag_init_s64(dest, a->data.u64 + b->data.s8);
     case TAG_S16:
diff --git a/libc3/update_sources b/libc3/update_sources
index 08af898..7141020 100755
--- a/libc3/update_sources
+++ b/libc3/update_sources
@@ -86,6 +86,10 @@ LO_SOURCES="$SOURCES
 ../libtommath/bn_mp_reduce_setup.c
 ../libtommath/bn_mp_rshd.c
 ../libtommath/bn_mp_set.c
+../libtommath/bn_mp_set_i32.c
+../libtommath/bn_mp_set_i64.c
+../libtommath/bn_mp_set_u32.c
+../libtommath/bn_mp_set_u64.c
 ../libtommath/bn_mp_sqr.c
 ../libtommath/bn_mp_sqrt.c
 ../libtommath/bn_mp_sub.c
diff --git a/libtommath b/libtommath
index 06f2fc7..fd6addf 160000
--- a/libtommath
+++ b/libtommath
@@ -1 +1 @@
-Subproject commit 06f2fc7429f60c4be7bd1dce99229cd070b75c94
+Subproject commit fd6addf663a87a62e000798b9d176b15bf9fbe0a
diff --git a/sources.mk b/sources.mk
index 2193c96..1cd3385 100644
--- a/sources.mk
+++ b/sources.mk
@@ -5,8 +5,8 @@ C3_CONFIGURES = \
 	c3s/update_sources \
 	ic3/configure \
 	ic3/update_sources \
-	libc3/update_sources \
 	libc3/configure \
+	libc3/update_sources \
 	libtommath/configure \
 	libtommath/update_sources \
 	test/configure \
@@ -28,16 +28,74 @@ C3_C_SOURCES = \
 	c3s/buf_readline.c \
 	c3s/c3s.c \
 	c3s/buf_readline.h \
-	ic3/buf_linenoise.c \
 	ic3/ic3.c \
+	ic3/buf_linenoise.c \
 	ic3/buf_linenoise.h \
 	ic3/linenoise.c \
+	libc3/abs.c \
+	libc3/abs.h \
+	libc3/buf.c \
+	libc3/buf.h \
+	libc3/buf_inspect_s32.h \
+	libc3/buf_inspect_s64.c \
+	libc3/buf_inspect_s64.h \
+	libc3/buf_inspect_sw.c \
+	libc3/buf_inspect_sw.h \
+	libc3/buf_inspect_u8.c \
+	libc3/buf_inspect_u8.h \
+	libc3/buf_inspect_u16.c \
+	libc3/buf_parse_s8.c \
+	libc3/call.c \
+	libc3/arg.c \
+	libc3/arg.h \
+	libc3/buf_inspect_u16.h \
+	libc3/array.c \
+	libc3/array.h \
+	libc3/binding.c \
+	libc3/c3.c \
+	libc3/buf_inspect_u32.c \
+	libc3/buf_inspect_u32.h \
+	libc3/buf_inspect_u64.c \
+	libc3/buf_inspect_u64.h \
+	libc3/buf_inspect_u64_binary.c \
+	libc3/binding.h \
+	libc3/buf_inspect_u64_binary.h \
+	libc3/buf_inspect_u64_octal.c \
+	libc3/buf_inspect_u64_octal.h \
+	libc3/buf_inspect_u64_decimal.c \
+	libc3/buf_inspect_u64_decimal.h \
+	libc3/buf_inspect_u64_hexadecimal.c \
+	libc3/bool.c \
+	libc3/bool.h \
+	libc3/buf_file.c \
+	libc3/buf_file.h \
+	libc3/buf_inspect_u64_hexadecimal.h \
+	libc3/buf_inspect_uw.c \
+	libc3/buf_inspect_uw.h \
+	libc3/buf_parse_s16.c \
+	libc3/buf_parse_s16.h \
+	libc3/buf_parse_s32.c \
+	libc3/buf_parse_s32.h \
+	libc3/buf_parse_s64.c \
+	libc3/buf_parse_s64.h \
+	libc3/buf_parse_sw.c \
+	libc3/buf_parse_sw.h \
+	libc3/buf_parse_u8.c \
+	libc3/buf_parse_u8.h \
+	libc3/buf_parse_u16.c \
+	libc3/buf_parse_u16.h \
+	libc3/buf_parse_u32.c \
+	libc3/buf_inspect.h \
+	libc3/buf_parse_u32.h \
+	libc3/buf_parse.h \
+	libc3/buf_parse_c.c \
+	libc3/buf_save.c \
+	libc3/buf_parse_u64.c \
 	libc3/buf_parse_u64.h \
 	libc3/buf_parse_uw.c \
 	libc3/buf_parse_uw.h \
-	libc3/arg.c \
-	libc3/arg.h \
 	libc3/set__fact.c \
+	libc3/facts_spec_cursor.c \
 	libc3/set__fact.h \
 	libc3/set__tag.c \
 	libc3/set__tag.h \
@@ -47,177 +105,120 @@ C3_C_SOURCES = \
 	libc3/set_cursor__tag.h \
 	libc3/set_item__fact.c \
 	libc3/set_item__fact.h \
+	libc3/buf_parse_c.h \
+	libc3/buf_save.h \
+	libc3/c3.h \
+	libc3/c_types.h \
+	libc3/call.h \
 	libc3/set_item__tag.c \
 	libc3/set_item__tag.h \
-	libc3/facts.c \
-	libc3/binding.c \
-	libc3/binding.h \
-	libc3/facts_with_cursor.c \
-	libc3/array.c \
-	libc3/array.h \
-	libc3/buf.c \
-	libc3/buf_parse.c \
-	libc3/integer.h \
-	libc3/types.h \
-	libc3/type.c \
-	libc3/buf_inspect_s8.c \
-	libc3/buf_inspect_s8.h \
-	libc3/buf_inspect_s16.c \
-	libc3/buf_inspect_s16.h \
-	libc3/buf_inspect_s32.c \
-	libc3/buf_inspect_s32.h \
-	libc3/buf_file.c \
-	libc3/buf_file.h \
-	libc3/bool.c \
-	libc3/io.h \
 	libc3/skiplist__fact.c \
 	libc3/skiplist__fact.h \
 	libc3/skiplist_node__fact.c \
 	libc3/skiplist_node__fact.h \
-	libc3/io.c \
-	libc3/abs.h \
-	libc3/env.c \
 	libc3/ceiling.c \
-	libc3/buf_parse_c.c \
-	libc3/buf_parse_c.h \
-	libc3/buf_save.c \
-	libc3/buf_parse.h \
+	libc3/ceiling.h \
+	libc3/cfn.c \
+	libc3/cfn.h \
+	libc3/character.c \
+	libc3/character.h \
+	libc3/buf_inspect_u8_octal.h \
 	libc3/compare.c \
-	libc3/buf_inspect_u64_hexadecimal.h \
-	libc3/buf_inspect_uw.h \
-	libc3/buf_parse_s8.c \
+	libc3/buf_inspect.c \
+	libc3/compare.h \
+	libc3/buf_parse.c \
+	libc3/env.c \
+	libc3/env.h \
+	libc3/facts.c \
+	libc3/facts.h \
+	libc3/hash.c \
+	libc3/ident.c \
+	libc3/operator.c \
+	libc3/operator.h \
+	libc3/buf_inspect_s8.c \
+	libc3/buf_inspect_s8.h \
+	libc3/sym.c \
+	libc3/buf_inspect_s16.c \
+	libc3/buf_inspect_s16.h \
+	libc3/buf_inspect_s32.c \
 	libc3/buf_parse_s8.h \
-	libc3/buf_parse_s16.c \
-	libc3/buf_parse_s16.h \
-	libc3/buf_parse_s32.c \
-	libc3/buf_parse_s32.h \
-	libc3/buf_parse_s64.c \
-	libc3/call.h \
-	libc3/bool.h \
-	libc3/buf_save.h \
-	libc3/fact.h \
 	libc3/error.c \
-	libc3/list.h \
-	libc3/c3.c \
-	libc3/c3.h \
 	libc3/error.h \
-	libc3/env.h \
-	libc3/character.h \
-	libc3/compare.h \
-	libc3/operator.h \
-	libc3/operator.c \
-	libc3/tag.h \
-	libc3/sign.h \
-	libc3/buf.h \
-	libc3/buf_inspect_s64.c \
-	libc3/buf_inspect_s64.h \
-	libc3/buf_inspect_sw.c \
-	libc3/buf_inspect_sw.h \
-	libc3/buf_inspect_u8.c \
-	libc3/buf_inspect_u8.h \
-	libc3/buf_inspect_u16.c \
-	libc3/ident.c \
 	libc3/error_handler.c \
-	libc3/frame.c \
-	libc3/set_cursor.c.in \
-	libc3/set_cursor.h.in \
-	libc3/set_item.c.in \
-	libc3/set_item.h.in \
-	libc3/tag.c \
 	libc3/error_handler.h \
 	libc3/eval.c \
 	libc3/eval.h \
+	libc3/buf_inspect_u8_binary.h \
 	libc3/fact.c \
-	libc3/facts.h \
+	libc3/fact.h \
 	libc3/facts_cursor.c \
-	libc3/fn.h \
-	libc3/ceiling.h \
-	libc3/buf_inspect_u64_binary.h \
-	libc3/buf_inspect_u64_octal.c \
-	libc3/buf_inspect_u64_octal.h \
-	libc3/buf_inspect_u64_decimal.c \
-	libc3/buf_inspect_u64_decimal.h \
-	libc3/buf_inspect_u64_hexadecimal.c \
-	libc3/sym.c \
 	libc3/facts_cursor.h \
 	libc3/facts_spec.c \
-	libc3/frame.h \
-	libc3/sign.c \
 	libc3/facts_spec.h \
-	libc3/facts_spec_cursor.c \
-	libc3/hash.c \
 	libc3/facts_spec_cursor.h \
-	libc3/buf_inspect_s16_binary.h \
-	libc3/buf_inspect_s16_decimal.c \
-	libc3/buf_inspect_s16_decimal.h \
-	libc3/buf_inspect_s16_hexadecimal.c \
-	libc3/buf_inspect_s16_hexadecimal.h \
 	libc3/facts_with.c \
 	libc3/facts_with.h \
-	libc3/hash.h \
-	libc3/cfn.h \
-	libc3/buf_parse_u.c.in \
-	libc3/abs.c \
+	libc3/facts_with_cursor.c \
 	libc3/facts_with_cursor.h \
+	libc3/float.h \
+	libc3/fn.c \
+	libc3/fn.h \
+	libc3/frame.c \
+	libc3/frame.h \
+	libc3/hash.h \
 	libc3/ident.h \
-	libc3/str.c \
-	libc3/c_types.h \
-	libc3/buf_parse_s64.h \
-	libc3/buf_parse_sw.c \
-	libc3/buf_parse_sw.h \
-	libc3/buf_parse_u8.c \
-	libc3/buf_parse_u8.h \
-	libc3/buf_parse_s.c.in \
-	libc3/buf_parse_u16.c \
-	libc3/buf_parse_u16.h \
-	libc3/buf_parse_u32.c \
-	libc3/buf_parse_u32.h \
-	libc3/buf_parse_u64.c \
-	libc3/buf_inspect.c \
 	libc3/integer.c \
+	libc3/integer.h \
+	libc3/io.c \
+	libc3/io.h \
 	libc3/list.c \
+	libc3/list.h \
 	libc3/log.c \
 	libc3/log.h \
-	libc3/sym.h \
+	libc3/buf_inspect_s.h.in \
 	libc3/module.c \
+	libc3/str.c \
+	libc3/module.h \
+	libc3/buf_parse_u.c.in \
 	libc3/quote.c \
 	libc3/quote.h \
-	libc3/character.c \
-	libc3/cfn.c \
-	libc3/fn.c \
-	libc3/module.h \
 	libc3/set.c.in \
 	libc3/set.h.in \
+	libc3/buf_inspect_s_base.h.in \
 	libc3/sha1.h \
+	libc3/set_cursor.c.in \
+	libc3/set_cursor.h.in \
+	libc3/set_item.c.in \
+	libc3/set_item.h.in \
+	libc3/sign.c \
+	libc3/sign.h \
 	libc3/skiplist.c.in \
 	libc3/skiplist.h.in \
+	libc3/type.h \
 	libc3/skiplist_node.c.in \
 	libc3/skiplist_node.h.in \
 	libc3/str.h \
+	libc3/types.h \
+	libc3/ucd.c \
+	libc3/sym.h \
 	libc3/tuple.c \
 	libc3/tuple.h \
-	libc3/ucd.c \
+	libc3/type.c \
 	libc3/ucd.h \
-	libc3/type.h \
+	libc3/buf_parse_s.c.in \
 	libc3/buf_parse_s.h.in \
+	libc3/buf_inspect_s.c.in \
+	libc3/tag.c \
 	libc3/buf_parse_u.h.in \
-	libc3/float.h \
+	libc3/buf_inspect_s16_binary.c \
+	libc3/buf_inspect_s16_binary.h \
+	libc3/buf_inspect_s16_decimal.c \
 	libc3/buf_inspect_s_base.c.in \
-	libc3/buf_inspect_s.c.in \
-	libc3/buf_inspect_u16.h \
-	libc3/buf_inspect_s.h.in \
-	libc3/buf_inspect_u32.c \
-	libc3/buf_inspect_u32.h \
-	libc3/buf_inspect_u64.c \
-	libc3/buf_inspect_u64.h \
+	libc3/buf_inspect_s16_decimal.h \
 	libc3/buf_inspect_u.c.in \
-	libc3/buf_inspect_u64_binary.c \
-	libc3/buf_inspect_uw.c \
-	libc3/buf_inspect_u_base.c.in \
 	libc3/buf_inspect_u.h.in \
-	libc3/buf_inspect_u_base.h.in \
-	libc3/call.c \
-	libc3/buf_inspect_s16_binary.c \
+	libc3/buf_inspect_s16_hexadecimal.c \
+	libc3/buf_inspect_s16_hexadecimal.h \
 	libc3/buf_inspect_s16_octal.c \
 	libc3/buf_inspect_s16_octal.h \
 	libc3/buf_inspect_s32_binary.c \
@@ -229,6 +230,8 @@ C3_C_SOURCES = \
 	libc3/buf_inspect_s32_octal.c \
 	libc3/buf_inspect_s32_octal.h \
 	libc3/buf_inspect_s64_binary.c \
+	libc3/buf_inspect_u_base.c.in \
+	libc3/buf_inspect_u_base.h.in \
 	libc3/buf_inspect_s64_binary.h \
 	libc3/buf_inspect_s64_decimal.c \
 	libc3/buf_inspect_s64_decimal.h \
@@ -236,6 +239,7 @@ C3_C_SOURCES = \
 	libc3/buf_inspect_s64_hexadecimal.h \
 	libc3/buf_inspect_s64_octal.c \
 	libc3/buf_inspect_s64_octal.h \
+	libc3/tag.h \
 	libc3/buf_inspect_s8_binary.c \
 	libc3/buf_inspect_s8_binary.h \
 	libc3/buf_inspect_s8_decimal.c \
@@ -256,7 +260,6 @@ C3_C_SOURCES = \
 	libc3/buf_inspect_u16_binary.h \
 	libc3/buf_inspect_u16_decimal.c \
 	libc3/buf_inspect_u16_decimal.h \
-	libc3/buf_inspect.h \
 	libc3/buf_inspect_u16_hexadecimal.c \
 	libc3/buf_inspect_u16_hexadecimal.h \
 	libc3/buf_inspect_u16_octal.c \
@@ -277,56 +280,53 @@ C3_C_SOURCES = \
 	libc3/buf_inspect_uw_hexadecimal.h \
 	libc3/buf_inspect_uw_octal.c \
 	libc3/buf_inspect_uw_octal.h \
-	libc3/buf_inspect_s_base.h.in \
+	libc3/buf_inspect_u8_octal.c \
 	libc3/buf_inspect_u8_binary.c \
-	libc3/buf_inspect_u8_binary.h \
 	libc3/buf_inspect_u8_decimal.c \
 	libc3/buf_inspect_u8_decimal.h \
 	libc3/buf_inspect_u8_hexadecimal.c \
 	libc3/buf_inspect_u8_hexadecimal.h \
-	libc3/buf_inspect_u8_octal.c \
-	libc3/buf_inspect_u8_octal.h \
-	test/facts_cursor_test.c \
-	test/facts_test.c \
-	test/facts_with_test.c \
-	test/set__fact_test.c \
-	test/test.c \
+	test/buf_inspect_test.c \
+	test/bool_test.c \
 	test/buf_parse_test.c \
-	test/set__tag_test.c \
-	test/tag_test.c \
-	test/sym_test.c \
-	test/tag_test.h \
-	test/tuple_test.c \
-	test/types_test.c \
-	test/call_test.c \
-	test/skiplist__fact_test.c \
-	test/fact_test.c \
-	test/compare_test.h \
-	test/fact_test.h \
-	test/str_test.c \
-	test/list_test.c \
-	test/hash_test.c \
-	test/compare_test.c \
-	test/ident_test.c \
+	test/facts_test.c \
+	test/buf_file_test.c \
 	test/libc3_test.c \
-	test/buf_inspect_test.c \
+	test/list_test.c \
+	test/test.c \
 	test/test.h \
-	test/bool_test.c \
-	test/cfn_test.c \
-	test/buf_parse_test_s8.c \
+	test/buf_parse_test_u8.c \
+	test/buf_parse_test.h \
+	test/buf_parse_test_s16.c \
 	test/buf_parse_test_s32.c \
 	test/buf_parse_test_s64.c \
+	test/buf_parse_test_s8.c \
+	test/buf_parse_test_su.h \
 	test/buf_parse_test_u16.c \
-	test/buf_parse_test_u8.c \
 	test/buf_parse_test_u32.c \
-	test/buf_parse_test_u64.c \
-	test/buf_parse_test.h \
 	test/buf_test.c \
-	test/env_test.c \
-	test/buf_parse_test_su.h \
+	test/buf_parse_test_u64.c \
+	test/call_test.c \
+	test/facts_cursor_test.c \
+	test/cfn_test.c \
 	test/character_test.c \
-	test/buf_parse_test_s16.c \
-	test/buf_file_test.c \
+	test/compare_test.c \
+	test/compare_test.h \
+	test/env_test.c \
+	test/fact_test.c \
+	test/fact_test.h \
+	test/facts_with_test.c \
+	test/hash_test.c \
+	test/ident_test.c \
+	test/set__fact_test.c \
+	test/set__tag_test.c \
+	test/skiplist__fact_test.c \
+	test/str_test.c \
+	test/sym_test.c \
+	test/tag_test.c \
+	test/tag_test.h \
+	test/tuple_test.c \
+	test/types_test.c \
 	ucd2c/ucd.h \
 	ucd2c/ucd2c.c \
 
diff --git a/sources.sh b/sources.sh
index 11db827..6258f96 100644
--- a/sources.sh
+++ b/sources.sh
@@ -1,4 +1,4 @@
 # sources.sh generated by update_sources
-C3_CONFIGURES='c3c/configure c3s/configure c3s/update_sources ic3/configure ic3/update_sources libc3/update_sources libc3/configure libtommath/configure libtommath/update_sources test/configure test/update_sources ucd2c/configure '
+C3_CONFIGURES='c3c/configure c3s/configure c3s/update_sources ic3/configure ic3/update_sources libc3/configure libc3/update_sources libtommath/configure libtommath/update_sources test/configure test/update_sources ucd2c/configure '
 C3_MAKEFILES='c3c/Makefile c3s/Makefile ic3/Makefile libc3/Makefile libc3/gen.mk libtommath/Makefile test/Makefile ucd2c/Makefile '
-C3_C_SOURCES='c3c/c3c.c c3s/buf_readline.c c3s/c3s.c c3s/buf_readline.h ic3/buf_linenoise.c ic3/ic3.c ic3/buf_linenoise.h ic3/linenoise.c libc3/buf_parse_u64.h libc3/buf_parse_uw.c libc3/buf_parse_uw.h libc3/arg.c libc3/arg.h libc3/set__fact.c libc3/set__fact.h libc3/set__tag.c libc3/set__tag.h libc3/set_cursor__fact.c libc3/set_cursor__fact.h libc3/set_cursor__tag.c libc3/set_cursor__tag.h libc3/set_item__fact.c libc3/set_item__fact.h libc3/set_item__tag.c libc3/set_item__tag.h libc3/facts.c libc3/binding.c libc3/binding.h libc3/facts_with_cursor.c libc3/array.c libc3/array.h libc3/buf.c libc3/buf_parse.c libc3/integer.h libc3/types.h libc3/type.c libc3/buf_inspect_s8.c libc3/buf_inspect_s8.h libc3/buf_inspect_s16.c libc3/buf_inspect_s16.h libc3/buf_inspect_s32.c libc3/buf_inspect_s32.h libc3/buf_file.c libc3/buf_file.h libc3/bool.c libc3/io.h libc3/skiplist__fact.c libc3/skiplist__fact.h libc3/skiplist_node__fact.c libc3/skiplist_node__fact.h libc3/io.c libc3/abs.h libc3/env.c libc3/ceiling.c libc3/buf_parse_c.c libc3/buf_parse_c.h libc3/buf_save.c libc3/buf_parse.h libc3/compare.c libc3/buf_inspect_u64_hexadecimal.h libc3/buf_inspect_uw.h libc3/buf_parse_s8.c libc3/buf_parse_s8.h libc3/buf_parse_s16.c libc3/buf_parse_s16.h libc3/buf_parse_s32.c libc3/buf_parse_s32.h libc3/buf_parse_s64.c libc3/call.h libc3/bool.h libc3/buf_save.h libc3/fact.h libc3/error.c libc3/list.h libc3/c3.c libc3/c3.h libc3/error.h libc3/env.h libc3/character.h libc3/compare.h libc3/operator.h libc3/operator.c libc3/tag.h libc3/sign.h libc3/buf.h libc3/buf_inspect_s64.c libc3/buf_inspect_s64.h libc3/buf_inspect_sw.c libc3/buf_inspect_sw.h libc3/buf_inspect_u8.c libc3/buf_inspect_u8.h libc3/buf_inspect_u16.c libc3/ident.c libc3/error_handler.c libc3/frame.c libc3/set_cursor.c.in libc3/set_cursor.h.in libc3/set_item.c.in libc3/set_item.h.in libc3/tag.c libc3/error_handler.h libc3/eval.c libc3/eval.h libc3/fact.c libc3/facts.h libc3/facts_cursor.c libc3/fn.h libc3/ceiling.h libc3/buf_inspect_u64_binary.h libc3/buf_inspect_u64_octal.c libc3/buf_inspect_u64_octal.h libc3/buf_inspect_u64_decimal.c libc3/buf_inspect_u64_decimal.h libc3/buf_inspect_u64_hexadecimal.c libc3/sym.c libc3/facts_cursor.h libc3/facts_spec.c libc3/frame.h libc3/sign.c libc3/facts_spec.h libc3/facts_spec_cursor.c libc3/hash.c libc3/facts_spec_cursor.h libc3/buf_inspect_s16_binary.h libc3/buf_inspect_s16_decimal.c libc3/buf_inspect_s16_decimal.h libc3/buf_inspect_s16_hexadecimal.c libc3/buf_inspect_s16_hexadecimal.h libc3/facts_with.c libc3/facts_with.h libc3/hash.h libc3/cfn.h libc3/buf_parse_u.c.in libc3/abs.c libc3/facts_with_cursor.h libc3/ident.h libc3/str.c libc3/c_types.h libc3/buf_parse_s64.h libc3/buf_parse_sw.c libc3/buf_parse_sw.h libc3/buf_parse_u8.c libc3/buf_parse_u8.h libc3/buf_parse_s.c.in libc3/buf_parse_u16.c libc3/buf_parse_u16.h libc3/buf_parse_u32.c libc3/buf_parse_u32.h libc3/buf_parse_u64.c libc3/buf_inspect.c libc3/integer.c libc3/list.c libc3/log.c libc3/log.h libc3/sym.h libc3/module.c libc3/quote.c libc3/quote.h libc3/character.c libc3/cfn.c libc3/fn.c libc3/module.h libc3/set.c.in libc3/set.h.in libc3/sha1.h libc3/skiplist.c.in libc3/skiplist.h.in libc3/skiplist_node.c.in libc3/skiplist_node.h.in libc3/str.h libc3/tuple.c libc3/tuple.h libc3/ucd.c libc3/ucd.h libc3/type.h libc3/buf_parse_s.h.in libc3/buf_parse_u.h.in libc3/float.h libc3/buf_inspect_s_base.c.in libc3/buf_inspect_s.c.in libc3/buf_inspect_u16.h libc3/buf_inspect_s.h.in libc3/buf_inspect_u32.c libc3/buf_inspect_u32.h libc3/buf_inspect_u64.c libc3/buf_inspect_u64.h libc3/buf_inspect_u.c.in libc3/buf_inspect_u64_binary.c libc3/buf_inspect_uw.c libc3/buf_inspect_u_base.c.in libc3/buf_inspect_u.h.in libc3/buf_inspect_u_base.h.in libc3/call.c libc3/buf_inspect_s16_binary.c libc3/buf_inspect_s16_octal.c libc3/buf_inspect_s16_octal.h libc3/buf_inspect_s32_binary.c libc3/buf_inspect_s32_binary.h libc3/buf_inspect_s32_decimal.c libc3/buf_inspect_s32_decimal.h libc3/buf_inspect_s32_hexadecimal.c libc3/buf_inspect_s32_hexadecimal.h libc3/buf_inspect_s32_octal.c libc3/buf_inspect_s32_octal.h libc3/buf_inspect_s64_binary.c libc3/buf_inspect_s64_binary.h libc3/buf_inspect_s64_decimal.c libc3/buf_inspect_s64_decimal.h libc3/buf_inspect_s64_hexadecimal.c libc3/buf_inspect_s64_hexadecimal.h libc3/buf_inspect_s64_octal.c libc3/buf_inspect_s64_octal.h libc3/buf_inspect_s8_binary.c libc3/buf_inspect_s8_binary.h libc3/buf_inspect_s8_decimal.c libc3/buf_inspect_s8_decimal.h libc3/buf_inspect_s8_hexadecimal.c libc3/buf_inspect_s8_hexadecimal.h libc3/buf_inspect_s8_octal.c libc3/buf_inspect_s8_octal.h libc3/buf_inspect_sw_binary.c libc3/buf_inspect_sw_binary.h libc3/buf_inspect_sw_decimal.c libc3/buf_inspect_sw_decimal.h libc3/buf_inspect_sw_hexadecimal.c libc3/buf_inspect_sw_hexadecimal.h libc3/buf_inspect_sw_octal.c libc3/buf_inspect_sw_octal.h libc3/buf_inspect_u16_binary.c libc3/buf_inspect_u16_binary.h libc3/buf_inspect_u16_decimal.c libc3/buf_inspect_u16_decimal.h libc3/buf_inspect.h libc3/buf_inspect_u16_hexadecimal.c libc3/buf_inspect_u16_hexadecimal.h libc3/buf_inspect_u16_octal.c libc3/buf_inspect_u16_octal.h libc3/buf_inspect_u32_binary.c libc3/buf_inspect_u32_binary.h libc3/buf_inspect_u32_decimal.c libc3/buf_inspect_u32_decimal.h libc3/buf_inspect_u32_hexadecimal.c libc3/buf_inspect_u32_hexadecimal.h libc3/buf_inspect_u32_octal.c libc3/buf_inspect_u32_octal.h libc3/buf_inspect_uw_binary.c libc3/buf_inspect_uw_binary.h libc3/buf_inspect_uw_decimal.c libc3/buf_inspect_uw_decimal.h libc3/buf_inspect_uw_hexadecimal.c libc3/buf_inspect_uw_hexadecimal.h libc3/buf_inspect_uw_octal.c libc3/buf_inspect_uw_octal.h libc3/buf_inspect_s_base.h.in libc3/buf_inspect_u8_binary.c libc3/buf_inspect_u8_binary.h libc3/buf_inspect_u8_decimal.c libc3/buf_inspect_u8_decimal.h libc3/buf_inspect_u8_hexadecimal.c libc3/buf_inspect_u8_hexadecimal.h libc3/buf_inspect_u8_octal.c libc3/buf_inspect_u8_octal.h test/facts_cursor_test.c test/facts_test.c test/facts_with_test.c test/set__fact_test.c test/test.c test/buf_parse_test.c test/set__tag_test.c test/tag_test.c test/sym_test.c test/tag_test.h test/tuple_test.c test/types_test.c test/call_test.c test/skiplist__fact_test.c test/fact_test.c test/compare_test.h test/fact_test.h test/str_test.c test/list_test.c test/hash_test.c test/compare_test.c test/ident_test.c test/libc3_test.c test/buf_inspect_test.c test/test.h test/bool_test.c test/cfn_test.c test/buf_parse_test_s8.c test/buf_parse_test_s32.c test/buf_parse_test_s64.c test/buf_parse_test_u16.c test/buf_parse_test_u8.c test/buf_parse_test_u32.c test/buf_parse_test_u64.c test/buf_parse_test.h test/buf_test.c test/env_test.c test/buf_parse_test_su.h test/character_test.c test/buf_parse_test_s16.c test/buf_file_test.c ucd2c/ucd.h ucd2c/ucd2c.c '
+C3_C_SOURCES='c3c/c3c.c c3s/buf_readline.c c3s/c3s.c c3s/buf_readline.h ic3/ic3.c ic3/buf_linenoise.c ic3/buf_linenoise.h ic3/linenoise.c libc3/abs.c libc3/abs.h libc3/buf.c libc3/buf.h libc3/buf_inspect_s32.h libc3/buf_inspect_s64.c libc3/buf_inspect_s64.h libc3/buf_inspect_sw.c libc3/buf_inspect_sw.h libc3/buf_inspect_u8.c libc3/buf_inspect_u8.h libc3/buf_inspect_u16.c libc3/buf_parse_s8.c libc3/call.c libc3/arg.c libc3/arg.h libc3/buf_inspect_u16.h libc3/array.c libc3/array.h libc3/binding.c libc3/c3.c libc3/buf_inspect_u32.c libc3/buf_inspect_u32.h libc3/buf_inspect_u64.c libc3/buf_inspect_u64.h libc3/buf_inspect_u64_binary.c libc3/binding.h libc3/buf_inspect_u64_binary.h libc3/buf_inspect_u64_octal.c libc3/buf_inspect_u64_octal.h libc3/buf_inspect_u64_decimal.c libc3/buf_inspect_u64_decimal.h libc3/buf_inspect_u64_hexadecimal.c libc3/bool.c libc3/bool.h libc3/buf_file.c libc3/buf_file.h libc3/buf_inspect_u64_hexadecimal.h libc3/buf_inspect_uw.c libc3/buf_inspect_uw.h libc3/buf_parse_s16.c libc3/buf_parse_s16.h libc3/buf_parse_s32.c libc3/buf_parse_s32.h libc3/buf_parse_s64.c libc3/buf_parse_s64.h libc3/buf_parse_sw.c libc3/buf_parse_sw.h libc3/buf_parse_u8.c libc3/buf_parse_u8.h libc3/buf_parse_u16.c libc3/buf_parse_u16.h libc3/buf_parse_u32.c libc3/buf_inspect.h libc3/buf_parse_u32.h libc3/buf_parse.h libc3/buf_parse_c.c libc3/buf_save.c libc3/buf_parse_u64.c libc3/buf_parse_u64.h libc3/buf_parse_uw.c libc3/buf_parse_uw.h libc3/set__fact.c libc3/facts_spec_cursor.c libc3/set__fact.h libc3/set__tag.c libc3/set__tag.h libc3/set_cursor__fact.c libc3/set_cursor__fact.h libc3/set_cursor__tag.c libc3/set_cursor__tag.h libc3/set_item__fact.c libc3/set_item__fact.h libc3/buf_parse_c.h libc3/buf_save.h libc3/c3.h libc3/c_types.h libc3/call.h libc3/set_item__tag.c libc3/set_item__tag.h libc3/skiplist__fact.c libc3/skiplist__fact.h libc3/skiplist_node__fact.c libc3/skiplist_node__fact.h libc3/ceiling.c libc3/ceiling.h libc3/cfn.c libc3/cfn.h libc3/character.c libc3/character.h libc3/buf_inspect_u8_octal.h libc3/compare.c libc3/buf_inspect.c libc3/compare.h libc3/buf_parse.c libc3/env.c libc3/env.h libc3/facts.c libc3/facts.h libc3/hash.c libc3/ident.c libc3/operator.c libc3/operator.h libc3/buf_inspect_s8.c libc3/buf_inspect_s8.h libc3/sym.c libc3/buf_inspect_s16.c libc3/buf_inspect_s16.h libc3/buf_inspect_s32.c libc3/buf_parse_s8.h libc3/error.c libc3/error.h libc3/error_handler.c libc3/error_handler.h libc3/eval.c libc3/eval.h libc3/buf_inspect_u8_binary.h libc3/fact.c libc3/fact.h libc3/facts_cursor.c libc3/facts_cursor.h libc3/facts_spec.c libc3/facts_spec.h libc3/facts_spec_cursor.h libc3/facts_with.c libc3/facts_with.h libc3/facts_with_cursor.c libc3/facts_with_cursor.h libc3/float.h libc3/fn.c libc3/fn.h libc3/frame.c libc3/frame.h libc3/hash.h libc3/ident.h libc3/integer.c libc3/integer.h libc3/io.c libc3/io.h libc3/list.c libc3/list.h libc3/log.c libc3/log.h libc3/buf_inspect_s.h.in libc3/module.c libc3/str.c libc3/module.h libc3/buf_parse_u.c.in libc3/quote.c libc3/quote.h libc3/set.c.in libc3/set.h.in libc3/buf_inspect_s_base.h.in libc3/sha1.h libc3/set_cursor.c.in libc3/set_cursor.h.in libc3/set_item.c.in libc3/set_item.h.in libc3/sign.c libc3/sign.h libc3/skiplist.c.in libc3/skiplist.h.in libc3/type.h libc3/skiplist_node.c.in libc3/skiplist_node.h.in libc3/str.h libc3/types.h libc3/ucd.c libc3/sym.h libc3/tuple.c libc3/tuple.h libc3/type.c libc3/ucd.h libc3/buf_parse_s.c.in libc3/buf_parse_s.h.in libc3/buf_inspect_s.c.in libc3/tag.c libc3/buf_parse_u.h.in libc3/buf_inspect_s16_binary.c libc3/buf_inspect_s16_binary.h libc3/buf_inspect_s16_decimal.c libc3/buf_inspect_s_base.c.in libc3/buf_inspect_s16_decimal.h libc3/buf_inspect_u.c.in libc3/buf_inspect_u.h.in libc3/buf_inspect_s16_hexadecimal.c libc3/buf_inspect_s16_hexadecimal.h libc3/buf_inspect_s16_octal.c libc3/buf_inspect_s16_octal.h libc3/buf_inspect_s32_binary.c libc3/buf_inspect_s32_binary.h libc3/buf_inspect_s32_decimal.c libc3/buf_inspect_s32_decimal.h libc3/buf_inspect_s32_hexadecimal.c libc3/buf_inspect_s32_hexadecimal.h libc3/buf_inspect_s32_octal.c libc3/buf_inspect_s32_octal.h libc3/buf_inspect_s64_binary.c libc3/buf_inspect_u_base.c.in libc3/buf_inspect_u_base.h.in libc3/buf_inspect_s64_binary.h libc3/buf_inspect_s64_decimal.c libc3/buf_inspect_s64_decimal.h libc3/buf_inspect_s64_hexadecimal.c libc3/buf_inspect_s64_hexadecimal.h libc3/buf_inspect_s64_octal.c libc3/buf_inspect_s64_octal.h libc3/tag.h libc3/buf_inspect_s8_binary.c libc3/buf_inspect_s8_binary.h libc3/buf_inspect_s8_decimal.c libc3/buf_inspect_s8_decimal.h libc3/buf_inspect_s8_hexadecimal.c libc3/buf_inspect_s8_hexadecimal.h libc3/buf_inspect_s8_octal.c libc3/buf_inspect_s8_octal.h libc3/buf_inspect_sw_binary.c libc3/buf_inspect_sw_binary.h libc3/buf_inspect_sw_decimal.c libc3/buf_inspect_sw_decimal.h libc3/buf_inspect_sw_hexadecimal.c libc3/buf_inspect_sw_hexadecimal.h libc3/buf_inspect_sw_octal.c libc3/buf_inspect_sw_octal.h libc3/buf_inspect_u16_binary.c libc3/buf_inspect_u16_binary.h libc3/buf_inspect_u16_decimal.c libc3/buf_inspect_u16_decimal.h libc3/buf_inspect_u16_hexadecimal.c libc3/buf_inspect_u16_hexadecimal.h libc3/buf_inspect_u16_octal.c libc3/buf_inspect_u16_octal.h libc3/buf_inspect_u32_binary.c libc3/buf_inspect_u32_binary.h libc3/buf_inspect_u32_decimal.c libc3/buf_inspect_u32_decimal.h libc3/buf_inspect_u32_hexadecimal.c libc3/buf_inspect_u32_hexadecimal.h libc3/buf_inspect_u32_octal.c libc3/buf_inspect_u32_octal.h libc3/buf_inspect_uw_binary.c libc3/buf_inspect_uw_binary.h libc3/buf_inspect_uw_decimal.c libc3/buf_inspect_uw_decimal.h libc3/buf_inspect_uw_hexadecimal.c libc3/buf_inspect_uw_hexadecimal.h libc3/buf_inspect_uw_octal.c libc3/buf_inspect_uw_octal.h libc3/buf_inspect_u8_octal.c libc3/buf_inspect_u8_binary.c libc3/buf_inspect_u8_decimal.c libc3/buf_inspect_u8_decimal.h libc3/buf_inspect_u8_hexadecimal.c libc3/buf_inspect_u8_hexadecimal.h test/buf_inspect_test.c test/bool_test.c test/buf_parse_test.c test/facts_test.c test/buf_file_test.c test/libc3_test.c test/list_test.c test/test.c test/test.h test/buf_parse_test_u8.c test/buf_parse_test.h test/buf_parse_test_s16.c test/buf_parse_test_s32.c test/buf_parse_test_s64.c test/buf_parse_test_s8.c test/buf_parse_test_su.h test/buf_parse_test_u16.c test/buf_parse_test_u32.c test/buf_test.c test/buf_parse_test_u64.c test/call_test.c test/facts_cursor_test.c test/cfn_test.c test/character_test.c test/compare_test.c test/compare_test.h test/env_test.c test/fact_test.c test/fact_test.h test/facts_with_test.c test/hash_test.c test/ident_test.c test/set__fact_test.c test/set__tag_test.c test/skiplist__fact_test.c test/str_test.c test/sym_test.c test/tag_test.c test/tag_test.h test/tuple_test.c test/types_test.c ucd2c/ucd.h ucd2c/ucd2c.c '