From 49e08edd3c7163514c8f2e4f8f9aa3c71d9f7625 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Wed, 15 May 2019 16:26:05 +0200 Subject: renaming --- .../lustre-convertible-2cgc/convertible_main.c | 1085 ++++++++++++++++++++ .../lustre-convertible-2cgc/convertible_main.h | 110 ++ .../convertible_main_loop.c | 86 ++ .../lustre-convertible-2cgc/lustre_consts.c | 4 + .../lustre-convertible-2cgc/lustre_consts.h | 23 + .../lustre-convertible-2cgc/lustre_types.h | 139 +++ 6 files changed, 1447 insertions(+) create mode 100644 test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.c create mode 100644 test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.h create mode 100644 test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main_loop.c create mode 100644 test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.c create mode 100644 test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.h create mode 100644 test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_types.h (limited to 'test/monniaux/lustrev6-convertible-2cgc') diff --git a/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.c b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.c new file mode 100644 index 00000000..285f8941 --- /dev/null +++ b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.c @@ -0,0 +1,1085 @@ +/* This file was generated by lv6 version master.737 (2727a7744111c84f7984634d2bd3ad6f7c6c7ff9). */ +/* lv6 -2cgc -node main convertible.lus */ +/* on vanoise the 08/05/2019 at 23:54:11 */ +#include "convertible_main.h" +//// Defining step functions +// Memory initialisation for Lustre_arrow_ctx +void Lustre_arrow_ctx_reset(Lustre_arrow_ctx_type* ctx){ + int _i; + ctx->_memory = _true; +} + +// Initialisation of the internal structure of Lustre_arrow_ctx +void Lustre_arrow_ctx_init(Lustre_arrow_ctx_type* ctx){ + // ctx->client_data = cdata; + Lustre_arrow_ctx_reset(ctx); + } +// Step function(s) for Lustre_arrow_ctx +void Lustre_arrow_step(_integer i1,_integer i2,_integer *out,Lustre_arrow_ctx_type* ctx){ *out = ((ctx->_memory)? i1 : i2); + ctx->_memory = _false; + +} // End of Lustre_arrow_step + +// Memory initialisation for Lustre_arrow_2_ctx +void Lustre_arrow_2_ctx_reset(Lustre_arrow_2_ctx_type* ctx){ + int _i; + ctx->_memory = _true; +} + +// Initialisation of the internal structure of Lustre_arrow_2_ctx +void Lustre_arrow_2_ctx_init(Lustre_arrow_2_ctx_type* ctx){ + // ctx->client_data = cdata; + Lustre_arrow_2_ctx_reset(ctx); + } +// Step function(s) for Lustre_arrow_2_ctx +void Lustre_arrow_2_step(_real i1,_real i2,_real *out,Lustre_arrow_2_ctx_type* ctx){ *out = ((ctx->_memory)? i1 : i2); + ctx->_memory = _false; + +} // End of Lustre_arrow_2_step + +// Memory initialisation for Lustre_arrow_3_ctx +void Lustre_arrow_3_ctx_reset(Lustre_arrow_3_ctx_type* ctx){ + int _i; + ctx->_memory = _true; +} + +// Initialisation of the internal structure of Lustre_arrow_3_ctx +void Lustre_arrow_3_ctx_init(Lustre_arrow_3_ctx_type* ctx){ + // ctx->client_data = cdata; + Lustre_arrow_3_ctx_reset(ctx); + } +// Step function(s) for Lustre_arrow_3_ctx +void Lustre_arrow_3_step(_real i1[50],_real i2[50],_real out[50]/*out*/,Lustre_arrow_3_ctx_type* ctx){ _assign_rp50(out, ((ctx->_memory)? i1 : i2), sizeof(_real [50])); + ctx->_memory = _false; + +} // End of Lustre_arrow_3_step + +// Step function(s) for Lustre_hat_ctx +void Lustre_hat_step(_real i1,_real out[50]/*out*/){ + out[0] = i1; + out[1] = i1; + out[2] = i1; + out[3] = i1; + out[4] = i1; + out[5] = i1; + out[6] = i1; + out[7] = i1; + out[8] = i1; + out[9] = i1; + out[10] = i1; + out[11] = i1; + out[12] = i1; + out[13] = i1; + out[14] = i1; + out[15] = i1; + out[16] = i1; + out[17] = i1; + out[18] = i1; + out[19] = i1; + out[20] = i1; + out[21] = i1; + out[22] = i1; + out[23] = i1; + out[24] = i1; + out[25] = i1; + out[26] = i1; + out[27] = i1; + out[28] = i1; + out[29] = i1; + out[30] = i1; + out[31] = i1; + out[32] = i1; + out[33] = i1; + out[34] = i1; + out[35] = i1; + out[36] = i1; + out[37] = i1; + out[38] = i1; + out[39] = i1; + out[40] = i1; + out[41] = i1; + out[42] = i1; + out[43] = i1; + out[44] = i1; + out[45] = i1; + out[46] = i1; + out[47] = i1; + out[48] = i1; + out[49] = i1; + +} // End of Lustre_hat_step + +// Memory initialisation for Lustre_pre_ctx +void Lustre_pre_ctx_reset(Lustre_pre_ctx_type* ctx){ + int _i; + +} + +// Initialisation of the internal structure of Lustre_pre_ctx +void Lustre_pre_ctx_init(Lustre_pre_ctx_type* ctx){ + // ctx->client_data = cdata; + Lustre_pre_ctx_reset(ctx); + } +// Step function(s) for Lustre_pre_ctx +void Lustre_pre_get(_integer *out,Lustre_pre_ctx_type* ctx){ + *out = ctx->_memory; + +} // End of Lustre_pre_get + +void Lustre_pre_set(_integer i1,Lustre_pre_ctx_type* ctx){ + ctx->_memory = i1; + +} // End of Lustre_pre_set + +// Memory initialisation for Lustre_pre_2_ctx +void Lustre_pre_2_ctx_reset(Lustre_pre_2_ctx_type* ctx){ + int _i; + +} + +// Initialisation of the internal structure of Lustre_pre_2_ctx +void Lustre_pre_2_ctx_init(Lustre_pre_2_ctx_type* ctx){ + // ctx->client_data = cdata; + Lustre_pre_2_ctx_reset(ctx); + } +// Step function(s) for Lustre_pre_2_ctx +void Lustre_pre_2_get(_real *out,Lustre_pre_2_ctx_type* ctx){ + *out = ctx->_memory; + +} // End of Lustre_pre_2_get + +void Lustre_pre_2_set(_real i1,Lustre_pre_2_ctx_type* ctx){ + ctx->_memory = i1; + +} // End of Lustre_pre_2_set + +// Memory initialisation for Lustre_pre_3_ctx +void Lustre_pre_3_ctx_reset(Lustre_pre_3_ctx_type* ctx){ + int _i; + +} + +// Initialisation of the internal structure of Lustre_pre_3_ctx +void Lustre_pre_3_ctx_init(Lustre_pre_3_ctx_type* ctx){ + // ctx->client_data = cdata; + Lustre_pre_3_ctx_reset(ctx); + } +// Step function(s) for Lustre_pre_3_ctx +void Lustre_pre_3_get(_real out[50]/*out*/,Lustre_pre_3_ctx_type* ctx){ + _assign_rp50(out, ctx->_memory, sizeof(_real [50])); + +} // End of Lustre_pre_3_get + +void Lustre_pre_3_set(_real i1[50],Lustre_pre_3_ctx_type* ctx){ + _assign_rp50(ctx->_memory, i1, sizeof(_real [50])); + +} // End of Lustre_pre_3_set + +// Step function(s) for Lustre_slash_ctx +void Lustre_slash_step(_real i1,_real i2,_real *out){ + *out = (i1 / i2); + +} // End of Lustre_slash_step + +// Step function(s) for assign_50_ctx +void assign_50_step(_real v,_integer jv,_real t[50],_real nt[50]/*out*/){ + convertible_update_acc _split_3; + convertible_update_acc dummy; + + _split_3.i = 0; + _split_3.j = jv; + _split_3.v = v; + fillred_update_cell_do_50_step(_split_3,t,&dummy,nt); + +} // End of assign_50_step + +// Step function(s) for convertible_abs_ctx +void convertible_abs_step(_real x,_real *y){ + _real _split_2; + _boolean _split_1; + + _split_2 = - x; + _split_1 = x >= 0.0; + if (_split_1 == _true) { + *y = x; + } else { + *y = _split_2; + } + +} // End of convertible_abs_step + +// Step function(s) for convertible_braking_time_ctx +void convertible_braking_time_step(_real Speed,_real *res){ + _real _split_4; + + _split_4 = Speed * Speed; + Lustre_slash_step(_split_4,5500.0,res); + +} // End of convertible_braking_time_step + +// Memory initialisation for convertible_main_ctx +void convertible_main_ctx_reset(convertible_main_ctx_type* ctx){ + int _i; + + convertible_vehicle_ctx_reset(&ctx->convertible_vehicle_ctx_tab[0]); + convertible_speed_kmh_ctx_reset(&ctx->convertible_speed_kmh_ctx_tab[0]); + convertible_roof_ctx_reset(&ctx->convertible_roof_ctx_tab[0]); + convertible_may_collide_ctx_reset(&ctx->convertible_may_collide_ctx_tab[0]); +} + +// Initialisation of the internal structure of convertible_main_ctx +void convertible_main_ctx_init(convertible_main_ctx_type* ctx){ + // ctx->client_data = cdata; + convertible_main_ctx_reset(ctx); + } +// Step function(s) for convertible_main_ctx +void convertible_main_step(_boolean Start,_boolean Parked,_boolean Rot,_boolean Tick,_boolean OnOff,_boolean Done,_real Dist,_boolean *Danger,_boolean *Locked,_real *Speed,_real *Roof_Speed,convertible_main_ctx_type* ctx){ _boolean _split_7; + _real _split_6; + _real _split_5; + _integer St; + _boolean _split_8; + _boolean _split_9; + + _split_8 = OnOff & Start; + _split_9 = ! _split_8; + convertible_roof_step(Tick,Parked,OnOff,Done,Locked,Roof_Speed,&ctx->convertible_roof_ctx_tab[0]); + convertible_speed_kmh_step(Rot,Tick,Speed,&ctx->convertible_speed_kmh_ctx_tab[0]); + convertible_vehicle_step(Start,*Locked,*Speed,Dist,&St,&ctx->convertible_vehicle_ctx_tab[0]); + switch (St){ + case convertible_anti_col: + _split_6 = Dist; + _split_5 = *Speed; + convertible_may_collide_step(_split_5,_split_6,&_split_7,&ctx->convertible_may_collide_ctx_tab[0]); + *Danger = _split_7; + break; + case convertible_run: + *Danger = _false; + break; + case convertible_stationnary: + *Danger = _false; + break; +} + +} // End of convertible_main_step + +// Step function(s) for convertible_maxr_ctx +void convertible_maxr_step(_real x,_real y,_real *res){ + _boolean _split_10; + + _split_10 = x < y; + if (_split_10 == _true) { + *res = y; + } else { + *res = x; + } + +} // End of convertible_maxr_step + +// Memory initialisation for convertible_may_collide_ctx +void convertible_may_collide_ctx_reset(convertible_may_collide_ctx_type* ctx){ + int _i; + + Lustre_pre_2_ctx_reset(&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_arrow_2_ctx_reset(&ctx->Lustre_arrow_2_ctx_tab[0]); +} + +// Initialisation of the internal structure of convertible_may_collide_ctx +void convertible_may_collide_ctx_init(convertible_may_collide_ctx_type* ctx){ + // ctx->client_data = cdata; + convertible_may_collide_ctx_reset(ctx); + } +// Step function(s) for convertible_may_collide_ctx +void convertible_may_collide_step(_real Speed,_real Dist,_boolean *Res,convertible_may_collide_ctx_type* ctx){ _real _split_17; + _real _split_16; + _real _split_15; + _real _split_14; + _real _split_13; + _real _split_12; + _real _split_11; + _real Accel; + _real tChoc; + _real tBrake; + + Lustre_pre_2_get(&_split_11,&ctx->Lustre_pre_2_ctx_tab[0]); + _split_12 = Speed - _split_11; + Lustre_slash_step(_split_12,0.1,&_split_13); + Lustre_pre_2_set(Speed,&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_arrow_2_step(0.0,_split_13,&Accel,&ctx->Lustre_arrow_2_ctx_tab[0]); + convertible_braking_time_step(Speed,&tBrake); + _split_15 = - 2.0; + _split_16 = _split_15 * Dist; + _split_14 = 2.0 * Speed; + convertible_solve_eq_d2_step(Accel,_split_14,_split_16,&tChoc); + _split_17 = 2.0 + tBrake; + *Res = tChoc < _split_17; + +} // End of convertible_may_collide_step + +// Step function(s) for convertible_ms_to_kmh_ctx +void convertible_ms_to_kmh_step(_real x,_real *res){ + + *res = x * 3.6; + +} // End of convertible_ms_to_kmh_step + +// Memory initialisation for convertible_roof_ctx +void convertible_roof_ctx_reset(convertible_roof_ctx_type* ctx){ + int _i; + + convertible_roof_speed_ctx_reset(&ctx->convertible_roof_speed_ctx_tab[0]); + Lustre_pre_ctx_reset(&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_ctx_reset(&ctx->Lustre_arrow_ctx_tab[0]); +} + +// Initialisation of the internal structure of convertible_roof_ctx +void convertible_roof_ctx_init(convertible_roof_ctx_type* ctx){ + // ctx->client_data = cdata; + convertible_roof_ctx_reset(ctx); + } +// Step function(s) for convertible_roof_ctx +void convertible_roof_step(_boolean Tick,_boolean Parked,_boolean OnOff,_boolean Done,_boolean *Locked,_real *Roof_Speed,convertible_roof_ctx_type* ctx){ _real _split_25; + _real _split_24; + _integer _split_23; + _boolean _split_22; + _integer _split_21; + _boolean _split_20; + _boolean _split_19; + _integer _split_18; + _integer pst; + _integer st; + _boolean Tick_on_in_motion; + + Lustre_pre_get(&_split_18,&ctx->Lustre_pre_ctx_tab[0]); + switch (pst){ + case convertible_in_motion: + _split_22 = Done; + if (_split_22 == _true) { + _split_23 = convertible_locked; + } else { + _split_23 = convertible_in_motion; + } + st = _split_23; + break; +} + _split_19 = OnOff & Parked; + switch (pst){ + case convertible_locked: + _split_20 = _split_19; + if (_split_20 == _true) { + _split_21 = convertible_in_motion; + } else { + _split_21 = convertible_locked; + } + st = _split_21; + break; +} + Lustre_pre_set(st,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_step(convertible_locked,_split_18,&pst,&ctx->Lustre_arrow_ctx_tab[0]); + *Locked = st == convertible_locked; + switch (st){ + case convertible_in_motion: + Tick_on_in_motion = Tick; + convertible_roof_speed_step(Tick_on_in_motion,&_split_25,&ctx->convertible_roof_speed_ctx_tab[0]); + *Roof_Speed = _split_25; + break; + case convertible_locked: + _split_24 = 0.0; + *Roof_Speed = _split_24; + break; +} + +} // End of convertible_roof_step + +// Memory initialisation for convertible_roof_speed_ctx +void convertible_roof_speed_ctx_reset(convertible_roof_speed_ctx_type* ctx){ + int _i; + + Lustre_pre_2_ctx_reset(&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_pre_2_ctx_reset(&ctx->Lustre_pre_2_ctx_tab[1]); + Lustre_pre_ctx_reset(&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_2_ctx_reset(&ctx->Lustre_arrow_2_ctx_tab[0]); + Lustre_arrow_2_ctx_reset(&ctx->Lustre_arrow_2_ctx_tab[1]); + Lustre_arrow_ctx_reset(&ctx->Lustre_arrow_ctx_tab[0]); +} + +// Initialisation of the internal structure of convertible_roof_speed_ctx +void convertible_roof_speed_ctx_init(convertible_roof_speed_ctx_type* ctx){ + // ctx->client_data = cdata; + convertible_roof_speed_ctx_reset(ctx); + } +// Step function(s) for convertible_roof_speed_ctx +void convertible_roof_speed_step(_boolean Tick,_real *Roof_Speed,convertible_roof_speed_ctx_type* ctx){ _real _split_48; + _real _split_47; + _real _split_46; + _real _split_45; + _real _split_44; + _real _split_43; + _real _split_42; + _real _split_41; + _real _split_40; + _real _split_39; + _real _split_38; + _real _split_37; + _real _split_36; + _real _split_35; + _real _split_34; + _real _split_33; + _integer _split_32; + _boolean _split_31; + _real _split_30; + _integer _split_29; + _boolean _split_28; + _real _split_27; + _integer _split_26; + _integer pst; + _integer st; + _real kh; + _real Roof_Percent; + _real pRoof_Percent; + _real slow_it_down; + _real pRoof_Speed; + + switch (Tick){ + case _true: + Lustre_pre_get(&_split_26,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_pre_2_get(&_split_33,&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_arrow_2_step(0.0,_split_33,&pRoof_Percent,&ctx->Lustre_arrow_2_ctx_tab[0]); + switch (pst){ + case convertible_fast: + _split_27 = pRoof_Percent; + _split_28 = _split_27 < 85.0; + if (_split_28 == _true) { + _split_29 = convertible_fast; + } else { + _split_29 = convertible_slow; + } + st = _split_29; + break; + case convertible_slow: + _split_30 = pRoof_Percent; + _split_31 = _split_30 < 100.0; + if (_split_31 == _true) { + _split_32 = convertible_slow; + } else { + _split_32 = convertible_wait; + } + st = _split_32; + break; + case convertible_wait: + st = convertible_fast; + break; +} + Lustre_pre_set(st,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_step(convertible_wait,_split_26,&pst,&ctx->Lustre_arrow_ctx_tab[0]); + Lustre_slash_step(5.,0.1,&_split_38); + Lustre_slash_step(100.,_split_38,&kh); + _split_43 = kh + pRoof_Percent; + switch (st){ + case convertible_fast: + _split_44 = _split_43; + Roof_Percent = _split_44; + break; + case convertible_slow: + _split_47 = pRoof_Percent; + _split_34 = pRoof_Percent; + _split_35 = 100.0 - _split_34; + Lustre_slash_step(_split_35,5.0,&_split_36); + convertible_sqrt_step(_split_36,&_split_37); + convertible_sqrt_step(_split_37,&slow_it_down); + _split_45 = kh; + _split_46 = slow_it_down * _split_45; + _split_48 = _split_46 + _split_47; + Roof_Percent = _split_48; + break; + case convertible_wait: + Roof_Percent = 0.0; + break; +} + Lustre_pre_2_set(Roof_Percent,&ctx->Lustre_pre_2_ctx_tab[0]); + break; +} + Lustre_pre_2_get(&_split_39,&ctx->Lustre_pre_2_ctx_tab[1]); + Lustre_arrow_2_step(0.0,_split_39,&pRoof_Speed,&ctx->Lustre_arrow_2_ctx_tab[1]); + switch (Tick){ + case _false: + _split_40 = pRoof_Speed; + *Roof_Speed = _split_40; + break; + case _true: + switch (st){ + case convertible_fast: + _split_42 = 10.0; + break; + case convertible_slow: + _split_41 = 10.0 * slow_it_down; + _split_42 = _split_41; + break; + case convertible_wait: + _split_42 = 0.0; + break; +} + *Roof_Speed = _split_42; + break; +} + Lustre_pre_2_set(*Roof_Speed,&ctx->Lustre_pre_2_ctx_tab[1]); + +} // End of convertible_roof_speed_step + +// Step function(s) for convertible_solve_eq_d2_ctx +void convertible_solve_eq_d2_step(_real a,_real b,_real c,_real *res){ + _real _split_77; + _real _split_76; + _real _split_75; + _real _split_74; + _real _split_73; + _real _split_72; + _real _split_71; + _real _split_70; + _real _split_69; + _real _split_68; + _real _split_67; + _real _split_66; + _real _split_65; + _real _split_64; + _real _split_63; + _real _split_62; + _real _split_61; + _real _split_60; + _real _split_59; + _integer _split_58; + _integer _split_57; + _boolean _split_56; + _boolean _split_55; + _integer _split_54; + _boolean _split_53; + _boolean _split_52; + _real _split_51; + _real _split_50; + _real _split_49; + _real delta; + _integer sol_nb; + _real a2; + _real b2; + _real delta_pos; + + _split_50 = 4.0 * a; + _split_51 = _split_50 * c; + _split_49 = b * b; + delta = _split_49 - _split_51; + _split_56 = delta == 0.0; + if (_split_56 == _true) { + _split_57 = convertible_one_sol; + } else { + _split_57 = convertible_two_sol; + } + _split_55 = delta < 0.0; + if (_split_55 == _true) { + _split_58 = convertible_no_sol; + } else { + _split_58 = _split_57; + } + _split_53 = b == 0.0; + if (_split_53 == _true) { + _split_54 = convertible_no_sol; + } else { + _split_54 = convertible_deg1; + } + _split_52 = a == 0.0; + if (_split_52 == _true) { + sol_nb = _split_54; + } else { + sol_nb = _split_58; + } + switch (sol_nb){ + case convertible_two_sol: + delta_pos = delta; + a2 = a; + b2 = b; + convertible_sqrt_step(delta_pos,&_split_68); + _split_69 = 2.0 * a2; + Lustre_slash_step(_split_68,_split_69,&_split_70); + _split_67 = - b2; + _split_71 = _split_67 + _split_70; + convertible_sqrt_step(delta_pos,&_split_73); + _split_74 = 2.0 * a2; + Lustre_slash_step(_split_73,_split_74,&_split_75); + _split_72 = - b2; + _split_76 = _split_72 - _split_75; + convertible_maxr_step(_split_71,_split_76,&_split_77); + break; +} + _split_63 = - b; + _split_64 = 2.0 * a; + Lustre_slash_step(_split_63,_split_64,&_split_65); + switch (sol_nb){ + case convertible_one_sol: + _split_66 = _split_65; + break; +} + _split_60 = - c; + Lustre_slash_step(_split_60,b,&_split_61); + switch (sol_nb){ + case convertible_deg1: + _split_62 = _split_61; + *res = _split_62; + break; + case convertible_no_sol: + _split_59 = - 1.0; + *res = _split_59; + break; + case convertible_two_sol: + *res = _split_77; + break; + case convertible_one_sol: + *res = _split_66; + break; +} + +} // End of convertible_solve_eq_d2_step + +// Memory initialisation for convertible_speed_kmh_ctx +void convertible_speed_kmh_ctx_reset(convertible_speed_kmh_ctx_type* ctx){ + int _i; + + sum_50_0d1_ctx_reset(&ctx->sum_50_0d1_ctx_tab[0]); + sum_50_0d0_ctx_reset(&ctx->sum_50_0d0_ctx_tab[0]); + Lustre_pre_2_ctx_reset(&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_pre_2_ctx_reset(&ctx->Lustre_pre_2_ctx_tab[1]); + Lustre_pre_2_ctx_reset(&ctx->Lustre_pre_2_ctx_tab[2]); + Lustre_arrow_2_ctx_reset(&ctx->Lustre_arrow_2_ctx_tab[0]); + Lustre_arrow_2_ctx_reset(&ctx->Lustre_arrow_2_ctx_tab[1]); + Lustre_arrow_2_ctx_reset(&ctx->Lustre_arrow_2_ctx_tab[2]); +} + +// Initialisation of the internal structure of convertible_speed_kmh_ctx +void convertible_speed_kmh_ctx_init(convertible_speed_kmh_ctx_type* ctx){ + // ctx->client_data = cdata; + convertible_speed_kmh_ctx_reset(ctx); + } +// Step function(s) for convertible_speed_kmh_ctx +void convertible_speed_kmh_step(_boolean Rot,_boolean Tick,_real *Speed,convertible_speed_kmh_ctx_type* ctx){ _real _split_89; + _real _split_88; + _real _split_87; + _real _split_86; + _real _split_85; + _real _split_84; + _real _split_83; + _real _split_82; + _real _split_81; + _real _split_80; + _real _split_79; + _real _split_78; + _real d; + _real t; + _real pd; + _real pt; + _real dx; + _real tx; + _boolean TickOrRot; + + if (Rot == _true) { + dx = 1.4; + } else { + dx = 0.0; + } + if (Tick == _true) { + tx = 0.1; + } else { + tx = 0.0; + } + TickOrRot = Tick | Rot; + Lustre_pre_2_get(&_split_78,&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_arrow_2_step(0.0,_split_78,&pd,&ctx->Lustre_arrow_2_ctx_tab[0]); + switch (TickOrRot){ + case _false: + _split_80 = pd; + d = _split_80; + break; + case _true: + _split_81 = dx; + sum_50_0d0_step(_split_81,&_split_82,&ctx->sum_50_0d0_ctx_tab[0]); + d = _split_82; + break; +} + Lustre_pre_2_set(d,&ctx->Lustre_pre_2_ctx_tab[0]); + Lustre_pre_2_get(&_split_79,&ctx->Lustre_pre_2_ctx_tab[1]); + Lustre_arrow_2_step(0.0,_split_79,&pt,&ctx->Lustre_arrow_2_ctx_tab[1]); + switch (TickOrRot){ + case _false: + _split_85 = pt; + _split_86 = _split_85; + break; + case _true: + _split_83 = tx; + sum_50_0d1_step(_split_83,&_split_84,&ctx->sum_50_0d1_ctx_tab[0]); + _split_86 = _split_84; + break; +} + convertible_maxr_step(0.1,_split_86,&t); + Lustre_pre_2_set(t,&ctx->Lustre_pre_2_ctx_tab[1]); + Lustre_pre_2_get(&_split_89,&ctx->Lustre_pre_2_ctx_tab[2]); + Lustre_slash_step(d,t,&_split_87); + convertible_ms_to_kmh_step(_split_87,&_split_88); + Lustre_pre_2_set(_split_88,&ctx->Lustre_pre_2_ctx_tab[2]); + Lustre_arrow_2_step(0.0,_split_89,Speed,&ctx->Lustre_arrow_2_ctx_tab[2]); + +} // End of convertible_speed_kmh_step + +// Step function(s) for convertible_sqrt_ctx +void convertible_sqrt_step(_real R,_real *Sqrt){ + + squareR_5_step(R,1.0,Sqrt); + +} // End of convertible_sqrt_step + +// Memory initialisation for convertible_vehicle_ctx +void convertible_vehicle_ctx_reset(convertible_vehicle_ctx_type* ctx){ + int _i; + + Lustre_pre_ctx_reset(&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_ctx_reset(&ctx->Lustre_arrow_ctx_tab[0]); +} + +// Initialisation of the internal structure of convertible_vehicle_ctx +void convertible_vehicle_ctx_init(convertible_vehicle_ctx_type* ctx){ + // ctx->client_data = cdata; + convertible_vehicle_ctx_reset(ctx); + } +// Step function(s) for convertible_vehicle_ctx +void convertible_vehicle_step(_boolean Start,_boolean Locked,_real Speed,_real Dist,_integer *st,convertible_vehicle_ctx_type* ctx){ _integer _split_149; + _boolean _split_148; + _boolean _split_147; + _integer _split_146; + _integer _split_145; + _boolean _split_144; + _boolean _split_143; + _boolean _split_142; + _integer _split_141; + _boolean _split_140; + _boolean _split_139; + _integer _split_138; + _integer pst; + _boolean ac_cond; + + Lustre_pre_get(&_split_138,&ctx->Lustre_pre_ctx_tab[0]); + ac_cond = Speed >= 110.0; + switch (pst){ + case convertible_anti_col: + _split_147 = ac_cond; + _split_148 = ! _split_147; + if (_split_148 == _true) { + _split_149 = convertible_run; + } else { + _split_149 = convertible_anti_col; + } + *st = _split_149; + break; +} + _split_143 = Speed == 0.0; + switch (pst){ + case convertible_run: + _split_144 = _split_143; + if (_split_144 == _true) { + _split_145 = convertible_stationnary; + } else { + _split_145 = convertible_run; + } + _split_142 = ac_cond; + if (_split_142 == _true) { + _split_146 = convertible_anti_col; + } else { + _split_146 = _split_145; + } + *st = _split_146; + break; +} + _split_139 = Start & Locked; + switch (pst){ + case convertible_stationnary: + _split_140 = _split_139; + if (_split_140 == _true) { + _split_141 = convertible_run; + } else { + _split_141 = convertible_stationnary; + } + *st = _split_141; + break; +} + Lustre_pre_set(*st,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_step(convertible_stationnary,_split_138,&pst,&ctx->Lustre_arrow_ctx_tab[0]); + +} // End of convertible_vehicle_step + +// Step function(s) for fillred_update_cell_do_50_ctx +void fillred_update_cell_do_50_step(convertible_update_acc acc,_real cell[50],convertible_update_acc *nacc,_real ncell[50]/*out*/){ + int _i; + for (_i=0 ; _i<49 ; _i+=2){ + update_cell_do_50_step(acc,cell[_i],&acc,&ncell[_i]); + update_cell_do_50_step(acc,cell[_i+1],&acc,&ncell[_i+1]); + } + *nacc = acc; + +} // End of fillred_update_cell_do_50_step + +// Step function(s) for red_rplus_50_real_ctx +void red_rplus_50_real_step(_real i1,_real i2[50],_real *out){ + int _i; + for (_i=0 ; _i<49 ; _i+=2){ + i1 = i1 + i2[_i]; + i1 = i1 + i2[_i+1]; + } + *out = i1; + +} // End of red_rplus_50_real_step + +// Step function(s) for squareR_1_ctx +void squareR_1_step(_real x,_real presqrt,_real *Sqrt){ + _real _split_93; + _real _split_92; + _real _split_91; + _real _split_90; + _real sqrt; + _boolean ecart; + + Lustre_slash_step(x,presqrt,&_split_92); + _split_93 = presqrt + _split_92; + sqrt = 0.5 * _split_93; + _split_90 = presqrt - sqrt; + convertible_abs_step(_split_90,&_split_91); + ecart = _split_91 < 0.0005; + *Sqrt = sqrt; + +} // End of squareR_1_step + +// Step function(s) for squareR_2_ctx +void squareR_2_step(_real x,_real presqrt,_real *Sqrt){ + _real _split_101; + _real _split_100; + _real _split_99; + _real _split_98; + _real _split_97; + _real _split_96; + _real _split_95; + _real _split_94; + _real sqrt; + _boolean ecart; + + Lustre_slash_step(x,presqrt,&_split_96); + _split_97 = presqrt + _split_96; + sqrt = 0.5 * _split_97; + _split_94 = presqrt - sqrt; + convertible_abs_step(_split_94,&_split_95); + ecart = _split_95 < 0.0005; + switch (ecart){ + case _true: + _split_101 = sqrt; + *Sqrt = _split_101; + break; + case _false: + _split_99 = sqrt; + _split_98 = x; + squareR_1_step(_split_98,_split_99,&_split_100); + *Sqrt = _split_100; + break; +} + +} // End of squareR_2_step + +// Step function(s) for squareR_3_ctx +void squareR_3_step(_real x,_real presqrt,_real *Sqrt){ + _real _split_109; + _real _split_108; + _real _split_107; + _real _split_106; + _real _split_105; + _real _split_104; + _real _split_103; + _real _split_102; + _real sqrt; + _boolean ecart; + + Lustre_slash_step(x,presqrt,&_split_104); + _split_105 = presqrt + _split_104; + sqrt = 0.5 * _split_105; + _split_102 = presqrt - sqrt; + convertible_abs_step(_split_102,&_split_103); + ecart = _split_103 < 0.0005; + switch (ecart){ + case _true: + _split_109 = sqrt; + *Sqrt = _split_109; + break; + case _false: + _split_107 = sqrt; + _split_106 = x; + squareR_2_step(_split_106,_split_107,&_split_108); + *Sqrt = _split_108; + break; +} + +} // End of squareR_3_step + +// Step function(s) for squareR_4_ctx +void squareR_4_step(_real x,_real presqrt,_real *Sqrt){ + _real _split_117; + _real _split_116; + _real _split_115; + _real _split_114; + _real _split_113; + _real _split_112; + _real _split_111; + _real _split_110; + _real sqrt; + _boolean ecart; + + Lustre_slash_step(x,presqrt,&_split_112); + _split_113 = presqrt + _split_112; + sqrt = 0.5 * _split_113; + _split_110 = presqrt - sqrt; + convertible_abs_step(_split_110,&_split_111); + ecart = _split_111 < 0.0005; + switch (ecart){ + case _true: + _split_117 = sqrt; + *Sqrt = _split_117; + break; + case _false: + _split_115 = sqrt; + _split_114 = x; + squareR_3_step(_split_114,_split_115,&_split_116); + *Sqrt = _split_116; + break; +} + +} // End of squareR_4_step + +// Step function(s) for squareR_5_ctx +void squareR_5_step(_real x,_real presqrt,_real *Sqrt){ + _real _split_125; + _real _split_124; + _real _split_123; + _real _split_122; + _real _split_121; + _real _split_120; + _real _split_119; + _real _split_118; + _real sqrt; + _boolean ecart; + + Lustre_slash_step(x,presqrt,&_split_120); + _split_121 = presqrt + _split_120; + sqrt = 0.5 * _split_121; + _split_118 = presqrt - sqrt; + convertible_abs_step(_split_118,&_split_119); + ecart = _split_119 < 0.0005; + switch (ecart){ + case _true: + _split_125 = sqrt; + *Sqrt = _split_125; + break; + case _false: + _split_123 = sqrt; + _split_122 = x; + squareR_4_step(_split_122,_split_123,&_split_124); + *Sqrt = _split_124; + break; +} + +} // End of squareR_5_step + +// Memory initialisation for sum_50_0d0_ctx +void sum_50_0d0_ctx_reset(sum_50_0d0_ctx_type* ctx){ + int _i; + + Lustre_pre_3_ctx_reset(&ctx->Lustre_pre_3_ctx_tab[0]); + Lustre_pre_ctx_reset(&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_3_ctx_reset(&ctx->Lustre_arrow_3_ctx_tab[0]); + Lustre_arrow_ctx_reset(&ctx->Lustre_arrow_ctx_tab[0]); +} + +// Initialisation of the internal structure of sum_50_0d0_ctx +void sum_50_0d0_ctx_init(sum_50_0d0_ctx_type* ctx){ + // ctx->client_data = cdata; + sum_50_0d0_ctx_reset(ctx); + } +// Step function(s) for sum_50_0d0_ctx +void sum_50_0d0_step(_real s,_real *res,sum_50_0d0_ctx_type* ctx){ _integer _split_130; + _real _split_129[50]; + _real _split_128[50]; + _integer _split_127; + _integer _split_126; + _real a[50]; + _real pre_a[50]; + _integer i; + + Lustre_pre_get(&_split_126,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_step(0,_split_126,&_split_127,&ctx->Lustre_arrow_ctx_tab[0]); + i = _split_127 + 1; + Lustre_pre_set(i,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_pre_3_get(_split_129,&ctx->Lustre_pre_3_ctx_tab[0]); + Lustre_hat_step(0.0,_split_128); + Lustre_arrow_3_step(_split_128,_split_129,pre_a,&ctx->Lustre_arrow_3_ctx_tab[0]); + _split_130 = i % 50; + assign_50_step(s,_split_130,pre_a,a); + Lustre_pre_3_set(a,&ctx->Lustre_pre_3_ctx_tab[0]); + red_rplus_50_real_step(0.0,a,res); + +} // End of sum_50_0d0_step + +// Memory initialisation for sum_50_0d1_ctx +void sum_50_0d1_ctx_reset(sum_50_0d1_ctx_type* ctx){ + int _i; + + Lustre_pre_3_ctx_reset(&ctx->Lustre_pre_3_ctx_tab[0]); + Lustre_pre_ctx_reset(&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_3_ctx_reset(&ctx->Lustre_arrow_3_ctx_tab[0]); + Lustre_arrow_ctx_reset(&ctx->Lustre_arrow_ctx_tab[0]); +} + +// Initialisation of the internal structure of sum_50_0d1_ctx +void sum_50_0d1_ctx_init(sum_50_0d1_ctx_type* ctx){ + // ctx->client_data = cdata; + sum_50_0d1_ctx_reset(ctx); + } +// Step function(s) for sum_50_0d1_ctx +void sum_50_0d1_step(_real s,_real *res,sum_50_0d1_ctx_type* ctx){ _integer _split_135; + _real _split_134[50]; + _real _split_133[50]; + _integer _split_132; + _integer _split_131; + _real a[50]; + _real pre_a[50]; + _integer i; + + Lustre_pre_get(&_split_131,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_arrow_step(0,_split_131,&_split_132,&ctx->Lustre_arrow_ctx_tab[0]); + i = _split_132 + 1; + Lustre_pre_set(i,&ctx->Lustre_pre_ctx_tab[0]); + Lustre_pre_3_get(_split_134,&ctx->Lustre_pre_3_ctx_tab[0]); + Lustre_hat_step(0.1,_split_133); + Lustre_arrow_3_step(_split_133,_split_134,pre_a,&ctx->Lustre_arrow_3_ctx_tab[0]); + _split_135 = i % 50; + assign_50_step(s,_split_135,pre_a,a); + Lustre_pre_3_set(a,&ctx->Lustre_pre_3_ctx_tab[0]); + red_rplus_50_real_step(0.0,a,res); + +} // End of sum_50_0d1_step + +// Step function(s) for update_cell_do_50_ctx +void update_cell_do_50_step(convertible_update_acc acc,_real cell,convertible_update_acc *nacc,_real *ncell){ + _integer _split_137; + _boolean _split_136; + + _split_136 = acc.i == acc.j; + if (_split_136 == _true) { + *ncell = acc.v; + } else { + *ncell = cell; + } + _split_137 = acc.i + 1; + nacc->i = _split_137; + nacc->j = acc.j; + nacc->v = acc.v; + +} // End of update_cell_do_50_step + diff --git a/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.h b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.h new file mode 100644 index 00000000..63b4ea90 --- /dev/null +++ b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main.h @@ -0,0 +1,110 @@ +/* This file was generated by lv6 version master.737 (2727a7744111c84f7984634d2bd3ad6f7c6c7ff9). */ +/* lv6 -2cgc -node main convertible.lus */ +/* on vanoise the 08/05/2019 at 23:54:11 */ + +#include +#include + +#include "lustre_types.h" +#include "lustre_consts.h" + +#ifndef _convertible_main_H_FILE +#define _convertible_main_H_FILE +void Lustre_arrow_ctx_reset(Lustre_arrow_ctx_type* ctx); +void Lustre_arrow_ctx_init(Lustre_arrow_ctx_type* ctx); +void Lustre_arrow_step(_integer ,_integer ,_integer *,Lustre_arrow_ctx_type*); + +void Lustre_arrow_2_ctx_reset(Lustre_arrow_2_ctx_type* ctx); +void Lustre_arrow_2_ctx_init(Lustre_arrow_2_ctx_type* ctx); +void Lustre_arrow_2_step(_real ,_real ,_real *,Lustre_arrow_2_ctx_type*); + +void Lustre_arrow_3_ctx_reset(Lustre_arrow_3_ctx_type* ctx); +void Lustre_arrow_3_ctx_init(Lustre_arrow_3_ctx_type* ctx); +void Lustre_arrow_3_step(_real [50],_real [50],_real [50]/*out*/,Lustre_arrow_3_ctx_type*); + +void Lustre_hat_step(_real ,_real [50]/*out*/); + +void Lustre_pre_ctx_reset(Lustre_pre_ctx_type* ctx); +void Lustre_pre_ctx_init(Lustre_pre_ctx_type* ctx); +void Lustre_pre_get(_integer *,Lustre_pre_ctx_type*); + +void Lustre_pre_set(_integer ,Lustre_pre_ctx_type*); + +void Lustre_pre_2_ctx_reset(Lustre_pre_2_ctx_type* ctx); +void Lustre_pre_2_ctx_init(Lustre_pre_2_ctx_type* ctx); +void Lustre_pre_2_get(_real *,Lustre_pre_2_ctx_type*); + +void Lustre_pre_2_set(_real ,Lustre_pre_2_ctx_type*); + +void Lustre_pre_3_ctx_reset(Lustre_pre_3_ctx_type* ctx); +void Lustre_pre_3_ctx_init(Lustre_pre_3_ctx_type* ctx); +void Lustre_pre_3_get(_real [50]/*out*/,Lustre_pre_3_ctx_type*); + +void Lustre_pre_3_set(_real [50],Lustre_pre_3_ctx_type*); + +void Lustre_slash_step(_real ,_real ,_real *); + +void assign_50_step(_real ,_integer ,_real [50],_real [50]/*out*/); + +void convertible_abs_step(_real ,_real *); + +void convertible_braking_time_step(_real ,_real *); + +void convertible_main_ctx_reset(convertible_main_ctx_type* ctx); +void convertible_main_ctx_init(convertible_main_ctx_type* ctx); +void convertible_main_step(_boolean ,_boolean ,_boolean ,_boolean ,_boolean ,_boolean ,_real ,_boolean *,_boolean *,_real *,_real *,convertible_main_ctx_type*); + +void convertible_maxr_step(_real ,_real ,_real *); + +void convertible_may_collide_ctx_reset(convertible_may_collide_ctx_type* ctx); +void convertible_may_collide_ctx_init(convertible_may_collide_ctx_type* ctx); +void convertible_may_collide_step(_real ,_real ,_boolean *,convertible_may_collide_ctx_type*); + +void convertible_ms_to_kmh_step(_real ,_real *); + +void convertible_roof_ctx_reset(convertible_roof_ctx_type* ctx); +void convertible_roof_ctx_init(convertible_roof_ctx_type* ctx); +void convertible_roof_step(_boolean ,_boolean ,_boolean ,_boolean ,_boolean *,_real *,convertible_roof_ctx_type*); + +void convertible_roof_speed_ctx_reset(convertible_roof_speed_ctx_type* ctx); +void convertible_roof_speed_ctx_init(convertible_roof_speed_ctx_type* ctx); +void convertible_roof_speed_step(_boolean ,_real *,convertible_roof_speed_ctx_type*); + +void convertible_solve_eq_d2_step(_real ,_real ,_real ,_real *); + +void convertible_speed_kmh_ctx_reset(convertible_speed_kmh_ctx_type* ctx); +void convertible_speed_kmh_ctx_init(convertible_speed_kmh_ctx_type* ctx); +void convertible_speed_kmh_step(_boolean ,_boolean ,_real *,convertible_speed_kmh_ctx_type*); + +void convertible_sqrt_step(_real ,_real *); + +void convertible_vehicle_ctx_reset(convertible_vehicle_ctx_type* ctx); +void convertible_vehicle_ctx_init(convertible_vehicle_ctx_type* ctx); +void convertible_vehicle_step(_boolean ,_boolean ,_real ,_real ,_integer *,convertible_vehicle_ctx_type*); + +void fillred_update_cell_do_50_step(convertible_update_acc ,_real [50],convertible_update_acc *,_real [50]/*out*/); + +void red_rplus_50_real_step(_real ,_real [50],_real *); + +void squareR_1_step(_real ,_real ,_real *); + +void squareR_2_step(_real ,_real ,_real *); + +void squareR_3_step(_real ,_real ,_real *); + +void squareR_4_step(_real ,_real ,_real *); + +void squareR_5_step(_real ,_real ,_real *); + +void sum_50_0d0_ctx_reset(sum_50_0d0_ctx_type* ctx); +void sum_50_0d0_ctx_init(sum_50_0d0_ctx_type* ctx); +void sum_50_0d0_step(_real ,_real *,sum_50_0d0_ctx_type*); + +void sum_50_0d1_ctx_reset(sum_50_0d1_ctx_type* ctx); +void sum_50_0d1_ctx_init(sum_50_0d1_ctx_type* ctx); +void sum_50_0d1_step(_real ,_real *,sum_50_0d1_ctx_type*); + +void update_cell_do_50_step(convertible_update_acc ,_real ,convertible_update_acc *,_real *); + +///////////////////////////////////////////////// +#endif diff --git a/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main_loop.c b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main_loop.c new file mode 100644 index 00000000..9646b39f --- /dev/null +++ b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/convertible_main_loop.c @@ -0,0 +1,86 @@ +/* This file was generated by lv6 version master.737 (2727a7744111c84f7984634d2bd3ad6f7c6c7ff9). */ +/* lv6 -2cgc -node main convertible.lus */ +/* on vanoise the 08/05/2019 at 23:54:11 */ + +#include +#include +#include +#include +#include "convertible_main.h" +#include "../clock.h" +#include "../dm_random.c" + +/* MACROS DEFINITIONS ****************/ +#ifndef TT +#define TT "1" +#endif +#ifndef FF +#define FF "0" +#endif +#ifndef BB +#define BB "bottom" +#endif +#ifdef CKCHECK +/* set this macro for testing output clocks */ +#endif + +/* Standard Input procedures **************/ +_boolean _get_bool(char* n){ + return dm_random_uint32() & 1; +} +/* +_integer _get_int(char* n){ + return (_integer) (dm_random_uint32() % 21) - 10; +} +*/ +_real _get_real(char* n){ + return ((_integer) (dm_random_uint32() % 2000001) - 1000000)*1E-6; +} +/* Output procedures **********************/ +void convertible_main_O_n(void* cdata, _integer _V) { +} + +/* Main procedure *************************/ +int main(){ + int _s = 0; + _boolean Start; + _boolean Parked; + _boolean Rot; + _boolean Tick; + _boolean OnOff; + _boolean Done; + _real Dist; + _boolean Danger; + _boolean Locked; + _real Speed; + _real Roof_Speed; + convertible_main_ctx_type ctx_struct; + convertible_main_ctx_type* ctx = &ctx_struct; + convertible_main_ctx_init(ctx); + // printf("#inputs \"Start\":bool \"Parked\":bool \"Rot\":bool \"Tick\":bool \"OnOff\":bool \"Done\":bool \"Dist\":real\n"); + // printf("#outputs \"Danger\":bool \"Locked\":bool \"Speed\":real \"Roof_Speed\":real\n"); + + /* Main loop */ + clock_prepare(); + clock_start(); + + for(int count=0; count<1000; count++){ + ++_s; + Start = _get_bool("Start"); + Parked = _get_bool("Parked"); + Rot = _get_bool("Rot"); + Tick = _get_bool("Tick"); + OnOff = _get_bool("OnOff"); + Done = _get_bool("Done"); + Dist = _get_real("Dist"); + convertible_main_step(Start,Parked,Rot,Tick,OnOff,Done,Dist,&Danger,&Locked,&Speed,&Roof_Speed,ctx); + // printf("%d %d %d %d %d %d %f #outs %d %d %f %f\n",Start,Parked,Rot,Tick,OnOff,Done,Dist,Danger,Locked,Speed,Roof_Speed); + // printf("%d %d %f %f\n",Danger,Locked,Speed,Roof_Speed); + } + + clock_stop(); + print_total_clock(); + + return 0; + +} diff --git a/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.c b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.c new file mode 100644 index 00000000..925cbf0b --- /dev/null +++ b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.c @@ -0,0 +1,4 @@ +/* This file was generated by lv6 version master.737 (2727a7744111c84f7984634d2bd3ad6f7c6c7ff9). */ +/* lv6 -2cgc -node main convertible.lus */ +/* on vanoise the 08/05/2019 at 23:54:11 */ +#include "lustre_consts.h" \ No newline at end of file diff --git a/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.h b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.h new file mode 100644 index 00000000..a9ba2005 --- /dev/null +++ b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_consts.h @@ -0,0 +1,23 @@ +/* This file was generated by lv6 version master.737 (2727a7744111c84f7984634d2bd3ad6f7c6c7ff9). */ +/* lv6 -2cgc -node main convertible.lus */ +/* on vanoise the 08/05/2019 at 23:54:11 */ + +// Constant definitions +#define convertible_anti_col 2 +#define convertible_deg1 1 +#define convertible_fast 1 +#define convertible_in_motion 1 +#define convertible_k 5500.0 +#define convertible_locked 0 +#define convertible_max_roof_speed 10.0 +#define convertible_no_sol 0 +#define convertible_one_sol 2 +#define convertible_period 0.1 +#define convertible_run 1 +#define convertible_size 50 +#define convertible_slow 2 +#define convertible_speed_max 110.0 +#define convertible_stationnary 0 +#define convertible_two_sol 3 +#define convertible_wait 0 +#define convertible_wheel_girth 1.4 diff --git a/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_types.h b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_types.h new file mode 100644 index 00000000..83a1c722 --- /dev/null +++ b/test/monniaux/lustrev6-convertible-2cgc/lustre-convertible-2cgc/lustre_types.h @@ -0,0 +1,139 @@ +/* This file was generated by lv6 version master.737 (2727a7744111c84f7984634d2bd3ad6f7c6c7ff9). */ +/* lv6 -2cgc -node main convertible.lus */ +/* on vanoise the 08/05/2019 at 23:54:11 */ + +#ifndef _SOC2C_PREDEF_TYPES +#define _SOC2C_PREDEF_TYPES +typedef int _boolean; +typedef int _integer; +typedef char* _string; +typedef double _real; +typedef double _double; +typedef float _float; +#define _false 0 +#define _true 1 +#endif +// end of _SOC2C_PREDEF_TYPES +// User typedef +#ifndef _convertible_main_TYPES +#define _convertible_main_TYPES +typedef _integer convertible_eq_case; +typedef _integer convertible_roof_speed_state; +typedef _integer convertible_roof_state; +typedef struct { + _integer i; + _integer j; + _real v; + } convertible_update_acc; +typedef _integer convertible_vehicle_state; +#endif // enf of _convertible_main_TYPES +// Memoryless soc ctx typedef +// Memoryfull soc ctx typedef +/* Lustre_pre_ctx */ +typedef struct { + /*Memory cell*/ + _integer _memory ; +} Lustre_pre_ctx_type; + +/* Lustre_arrow_ctx */ +typedef struct { + /*Memory cell*/ + _boolean _memory ; +} Lustre_arrow_ctx_type; + +/* Lustre_pre_2_ctx */ +typedef struct { + /*Memory cell*/ + _real _memory ; +} Lustre_pre_2_ctx_type; + +/* Lustre_arrow_2_ctx */ +typedef struct { + /*Memory cell*/ + _boolean _memory ; +} Lustre_arrow_2_ctx_type; + +/* convertible_roof_speed_ctx */ +typedef struct { + /*INSTANCES*/ + Lustre_pre_2_ctx_type Lustre_pre_2_ctx_tab[2]; + Lustre_pre_ctx_type Lustre_pre_ctx_tab[1]; + Lustre_arrow_2_ctx_type Lustre_arrow_2_ctx_tab[2]; + Lustre_arrow_ctx_type Lustre_arrow_ctx_tab[1]; +} convertible_roof_speed_ctx_type; + +/* convertible_roof_ctx */ +typedef struct { + /*INSTANCES*/ + convertible_roof_speed_ctx_type convertible_roof_speed_ctx_tab[1]; + Lustre_pre_ctx_type Lustre_pre_ctx_tab[1]; + Lustre_arrow_ctx_type Lustre_arrow_ctx_tab[1]; +} convertible_roof_ctx_type; + +/* Lustre_pre_3_ctx */ +typedef struct { + /*Memory cell*/ + _real _memory[50] ; +} Lustre_pre_3_ctx_type; + +/* Lustre_arrow_3_ctx */ +typedef struct { + /*Memory cell*/ + _boolean _memory ; +} Lustre_arrow_3_ctx_type; + +/* sum_50_0d0_ctx */ +typedef struct { + /*INSTANCES*/ + Lustre_pre_3_ctx_type Lustre_pre_3_ctx_tab[1]; + Lustre_pre_ctx_type Lustre_pre_ctx_tab[1]; + Lustre_arrow_3_ctx_type Lustre_arrow_3_ctx_tab[1]; + Lustre_arrow_ctx_type Lustre_arrow_ctx_tab[1]; +} sum_50_0d0_ctx_type; + +/* sum_50_0d1_ctx */ +typedef struct { + /*INSTANCES*/ + Lustre_pre_3_ctx_type Lustre_pre_3_ctx_tab[1]; + Lustre_pre_ctx_type Lustre_pre_ctx_tab[1]; + Lustre_arrow_3_ctx_type Lustre_arrow_3_ctx_tab[1]; + Lustre_arrow_ctx_type Lustre_arrow_ctx_tab[1]; +} sum_50_0d1_ctx_type; + +/* convertible_speed_kmh_ctx */ +typedef struct { + /*INSTANCES*/ + sum_50_0d1_ctx_type sum_50_0d1_ctx_tab[1]; + sum_50_0d0_ctx_type sum_50_0d0_ctx_tab[1]; + Lustre_pre_2_ctx_type Lustre_pre_2_ctx_tab[3]; + Lustre_arrow_2_ctx_type Lustre_arrow_2_ctx_tab[3]; +} convertible_speed_kmh_ctx_type; + +/* convertible_vehicle_ctx */ +typedef struct { + /*INSTANCES*/ + Lustre_pre_ctx_type Lustre_pre_ctx_tab[1]; + Lustre_arrow_ctx_type Lustre_arrow_ctx_tab[1]; +} convertible_vehicle_ctx_type; + +/* convertible_may_collide_ctx */ +typedef struct { + /*INSTANCES*/ + Lustre_pre_2_ctx_type Lustre_pre_2_ctx_tab[1]; + Lustre_arrow_2_ctx_type Lustre_arrow_2_ctx_tab[1]; +} convertible_may_collide_ctx_type; + +/* convertible_main_ctx */ +typedef struct { + /*INSTANCES*/ + convertible_vehicle_ctx_type convertible_vehicle_ctx_tab[1]; + convertible_speed_kmh_ctx_type convertible_speed_kmh_ctx_tab[1]; + convertible_roof_ctx_type convertible_roof_ctx_tab[1]; + convertible_may_collide_ctx_type convertible_may_collide_ctx_tab[1]; +} convertible_main_ctx_type; + +// Defining array and extern types assignments + +#ifndef _assign_rp50 +#define _assign_rp50(dest, source, size) memcpy(dest, source, size) +#endif -- cgit