Commit graph

77 commits

Author SHA1 Message Date
Gwenaël Delaval 239e23211f Remove test t20.ept 2018-10-30 18:02:57 +01:00
Gwenaël Delaval a304a9003b Merge branch 'fix_boolop' into 'master'
Fix miscompilation of Pervasives.xor to C

See merge request gdelaval/heptagon!1
2018-10-30 17:49:53 +01:00
Gwenaël Delaval 89eddd77c4 Add test for xor operator 2018-10-30 17:15:35 +01:00
Adrien Guatto 0435a2420d Fix miscompilation of Pervasives.xor to C 2018-10-12 16:56:01 +02:00
Gwenaël Delaval db5524df3f Tests addition 2017-05-23 22:10:39 +02:00
Gwenaël Delaval faf707db4a Added test for bug [#14076] (initialization analysis)
Bug [#14076]:
node sum(x:int) returns (y:int) let y = x + (0 fby y); tel
node main(x : int) returns (y : int)
let
y = 0 -> sum(pre x);
tel

is accepted whereas the node "sum" will memorize an absent value (pre x)
and use it at next instant.

Removed auto2.ept (duplicate of auto.ept)
2017-03-17 15:15:27 +01:00
Gwenaël Delaval 15238eaf8b Correction of DCS tests
- contrenum.ept includes contracts and controllable variable: moved to sdc test directory
- lnum_simple.ept: added "enforce true" contract (at least one objective in the syntax)
- script compile_sdc_run: heptc options to point to local Heptagon library
2017-03-16 11:56:43 +01:00
Gwenaël Delaval fd4dffef62 Adding tests 2015-09-04 17:33:49 +02:00
Gwenaël Delaval bcba3569ed Added tests - types, constants, contracts
- ais.ept: tests inclusion of array types into structure types
- ce.ept: constant propagation
- contract.ept: contract constructs
- contract_automaton.ept: contract constructs and automata
2014-02-21 17:49:51 +01:00
Gwenaël Delaval 1a373b84eb Added some tests
Tests from image_filters
Examples of array iterators used
2014-01-15 00:07:29 +01:00
Gwenal Delaval 6011353cec Added test of options
Added script test_option which:
- compile and run without option
- compile with option given as argument, run
- diff on the two outputs, fails if different outputs

config file checks for existence of compiler (fails if not exist)

statics1.ept is a copy of statics.ept ; statics2.ept depends on statics1.ept
instead of statics.ept (so as dependency order => lexical order on file names)
2012-07-19 15:23:40 +02:00
Gwenal Delaval 8b7ad28d6b Some more main in tests 2012-07-18 16:54:44 +02:00
Gwenal Delaval 87f359a6fd Added main to several tests
Added main to tests
Added dependency statics -> statics2 in scripts
2012-07-17 17:57:04 +02:00
Gwenal Delaval 891b1f3ffd Added some main in tests
Goal: run as many nodes as possible
2012-07-16 18:49:08 +02:00
Gwenaël Delaval 90e391f4df Modified test t13.ept
Modified test t13.ept so that the output is not always "0"
(useful for further comparisons)
2012-07-16 01:00:09 +02:00
Cédric Pasteur 8815a2cd03 Better handling of clocks in memalloc
- We can do a better allocation if we take into
account 'when' in extvalues 
(test/good/memalloc_clocks.ept shows the
improvement)
- Fixed a bug with memalloc on records: if we 
translate:
o = { a with .f = u }
to
o = a; o.f = u
then we cannot share u and o.f
2012-06-20 09:17:13 +02:00
Adrien Guatto a7e3f4a973 Added test for clocking in automata 2012-01-25 18:13:43 +01:00
Cédric Pasteur 54cde301f6 C code generation for printf 2011-12-12 10:36:24 +01:00
Cédric Pasteur 2fc0435393 Added simple printf
Typing and clocking done
2011-12-12 10:36:24 +01:00
Léonard Gérard 2d9bf2c553 BUG Probleme grave de scheduling, cf [ff]. 2011-12-06 15:44:20 +01:00
Léonard Gérard fe1f02402b Test to watch sampling of returned stateful exps. 2011-12-06 15:44:20 +01:00
Léonard Gérard 45fbd18fe8 Fix automaton initialization. 2011-11-28 15:12:27 +01:00
Léonard Gérard 05750352f8 pat_ty ne semble pas fiable. Voir t19.ept 2011-11-25 18:55:12 +01:00
Léonard Gérard 646cfab82b Enforce style : no tab, no trailing whitespace. 2011-11-21 03:26:27 +01:00
Léonard Gérard 5593ffdc91 small test found in my computer. 2011-11-02 08:44:58 +01:00
Cédric Pasteur 6ba0e7b2b3 Don't remove local variables in causality
A dependency between two variables can be caused 
by a local variable
2011-10-26 16:14:02 +02:00
Cédric Pasteur 72cac326a8 Fixed normalization of fby
We should normalize not only outputs but also 
other fbys to generate correct code. The test shows
a program that was compiled incorrectly.
2011-10-19 16:31:40 +02:00
Cédric Pasteur 04b8853a1d Added a new reinit operator
It has type:
reinit: t at r * t -> t at r

It can be used to put a constant value in a 
location.
2011-10-17 15:28:04 +02:00
Cédric Pasteur 08437bf448 Fixed linear typing of nested calls 2011-09-08 14:27:24 +02:00
Cédric Pasteur 2105d7ad18 Fix for linear types and automata 2011-09-08 10:45:19 +02:00
Cédric Pasteur 81947eca40 Made linearity field not optional
This helped solve a few bugs with linear types,
for instance when using automata.
The intermediate code is not well-typed (wrt to
linear types only), after the encoding of automata.
2011-09-07 17:51:31 +02:00
Gwenaël Delaval 626b6cad3f New tests
- ckannot.ept : bug with clock annotations handling in Normalize (corrected)
- threestates.ept : handling of merges in Normalize (corrected)
2011-08-04 23:47:28 +02:00
Cédric Pasteur 69a5ad8df8 Fixed code generation of n-dim static arrays
Also added some tests.
2011-07-21 11:19:07 +02:00
Cédric Pasteur 7d95b95ed7 Merge branch 'memalloc' into decade
Conflicts:
	compiler/global/signature.ml
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/hept_printer.ml
	compiler/heptagon/hept_utils.ml
	compiler/heptagon/heptagon.ml
	compiler/heptagon/parsing/hept_parser.mly
	compiler/heptagon/parsing/hept_parsetree.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/heptagon/transformations/switch.ml
	compiler/main/hept2mls.ml
	compiler/minils/minils.ml
	compiler/minils/mls_printer.ml
	compiler/obc/c/cgen.ml
	compiler/obc/control.ml
	compiler/utilities/misc.mli
2011-07-21 08:50:45 +02:00
Léonard Gérard 0518ecafe6 Merge branch 'multidimensional' into decade
Conflicts:
	compiler/obc/c/cgen.ml
	compiler/obc/java/java_main.ml
2011-07-08 11:36:46 +02:00
Léonard Gérard 5837f3906f Multidimensional iterators in java. 2011-06-28 17:50:42 +02:00
Léonard Gérard 9e881550a7 test iterators. 2011-06-28 17:50:42 +02:00
Léonard Gérard b73e6502a6 resets are now without constraint. 2011-05-26 15:56:59 +02:00
Léonard Gérard 1d6feeef54 some more tests 2011-05-26 15:56:59 +02:00
Léonard Gérard 2a2b363bf7 Real asynchronous resets. 2011-05-26 15:56:59 +02:00
Léonard Gérard 96272339e4 some tests. 2011-05-26 15:56:59 +02:00
Léonard Gérard 74cc367a0e correct base_clock and signature. 2011-05-26 15:56:59 +02:00
Léonard Gérard 07e5279bff two small tests. 2011-05-26 15:56:59 +02:00
Léonard Gérard 40fcb4d73e improve syntax 2011-05-26 15:56:58 +02:00
Leonard Gerard 88497a2da3 parsing clocks. 2011-05-26 15:56:58 +02:00
Cédric Pasteur caa149ac39 Tests for memory allocation and linear typing 2011-05-25 09:12:15 +02:00
Leonard Gerard 1d390848fe real good switch fix.
The order switch then reset was wrong, since some reset reset slower inner blocks and equations, to have reset correct after switch it would have been necessary to sample the reset condition correctly (use r when c) using the level_ck... anyway the order seems now irrelevant considering code size.
2011-05-10 20:28:39 +02:00
Adrien Guatto b0a0100ad7 Fixed check script: we now see that our C backend isn't bug-free... 2011-04-27 10:52:07 +02:00
Léonard Gérard 46ed02416b Convolutions and pip working. 2011-03-23 16:53:01 +01:00
Cédric Pasteur 2fdf2855d3 Added a new truncated select operator
a[>e<] returns the element in the array at index
e, a[0] if e < 0 and a[n-1] if e >= n
2011-03-22 22:12:59 +01:00