File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99bool compare (size_t len , const _array uint8_t * a1 , const _array uint8_t * a2 )
1010 _requires (a1 ._length == len )
1111 _requires (a2 ._length == len )
12- _ensures (( _slprop ) _inline_pulse ( pure ( $ ( return ) <= = > Seq .equal (array_value_of $ (a1 )) (array_value_of $ (a2 ) ))))
12+ _ensures (return == ( bool ) _inline_pulse ( Seq .equal (array_value_of $ (a1 )) (array_value_of $ (a2 ))))
1313{
1414 _ghost_stmt (admit ());
1515 return false;
Original file line number Diff line number Diff line change 11#include "pal.h"
22#include <stdint.h>
33
4+ _let (bool int_fits (_specint x ), INT32_MIN <= x && x <= INT32_MAX )
5+
46int triple (int x )
5- _requires (( _specint ) x * 3 <= INT32_MAX && (_specint ) x * 3 >= INT32_MIN )
7+ _requires (int_fits ( (_specint ) x * 3 ) )
68 _ensures (return == x * 3 )
79{
810 return x * 3 ;
911}
1012
1113int square (int x )
12- _requires (( _specint ) x * x <= INT32_MAX && (_specint ) x * x >= INT32_MIN )
14+ _requires (int_fits ( (_specint ) x * x ) )
1315 _ensures (return == x * x )
1416{
1517 return x * x ;
1618}
1719
1820int double_value (int x )
19- _requires (( _specint ) x * 2 <= INT32_MAX && (_specint ) x * 2 >= INT32_MIN )
21+ _requires (int_fits ( (_specint ) x * 2 ) )
2022 _ensures (return == x * 2 )
2123{
2224 return x * 2 ;
2325}
2426
2527int sum (int x , int y )
26- _requires (( _specint ) x + y <= INT32_MAX && (_specint ) x + y >= INT32_MIN )
28+ _requires (int_fits ( (_specint ) x + y ) )
2729 _ensures (return == x + y )
2830{
2931 return x + y ;
You can’t perform that action at this time.
0 commit comments