aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c')
-rw-r--r--test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c112
1 files changed, 23 insertions, 89 deletions
diff --git a/test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c b/test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c
index 5040a5c6..2276d24b 100644
--- a/test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c
+++ b/test/monniaux/lustre-carlightV2/carlightV2_carlight_loop.c
@@ -5,9 +5,9 @@
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
-#include "carlightV2_carlight.h"
-/* Print a promt ? ************************/
-static int ISATTY;
+#include "carlightV2_carlight.h"
+#include "../clock.h"
+
/* MACROS DEFINITIONS ****************/
#ifndef TT
#define TT "1"
@@ -22,88 +22,23 @@ static int ISATTY;
/* set this macro for testing output clocks */
#endif
+static uint32_t dm_random_uint32(void) {
+ static uint32_t current=UINT32_C(0xDEADBEEF);
+ current = ((uint64_t) current << 6) % UINT32_C(4294967291);
+ return current;
+}
+
/* Standard Input procedures **************/
_boolean _get_bool(char* n){
- char b[512];
- _boolean r = 0;
- int s = 1;
- char c;
- do {
- if(ISATTY) {
- if((s != 1)||(r == -1)) printf("\a");
- // printf("%s (1,t,T/0,f,F) ? ", n);
- }
- if(scanf("%s", b)==EOF) exit(0);
- if (*b == 'q') exit(0);
- s = sscanf(b, "%c", &c);
- r = -1;
- if((c == '0') || (c == 'f') || (c == 'F')) r = 0;
- if((c == '1') || (c == 't') || (c == 'T')) r = 1;
- } while((s != 1) || (r == -1));
- return r;
+ return dm_random_uint32() & 1;
}
_integer _get_int(char* n){
- char b[512];
- _integer r;
- int s = 1;
- do {
- if(ISATTY) {
- if(s != 1) printf("\a");
- //printf("%s (integer) ? ", n);
- }
- if(scanf("%s", b)==EOF) exit(0);
- if (*b == 'q') exit(0);
- s = sscanf(b, "%d", &r);
- } while(s != 1);
- return r;
+ return (_integer) (dm_random_uint32() % 21) - 10;
}
-#define REALFORMAT ((sizeof(_real)==8)?"%lf":"%f")
_real _get_real(char* n){
- char b[512];
- _real r;
- int s = 1;
- do {
- if(ISATTY) {
- if(s != 1) printf("\a");
- //printf("%s (real) ? ", n);
- }
- if(scanf("%s", b)==EOF) exit(0);
- if (*b == 'q') exit(0);
- s = sscanf(b, REALFORMAT, &r);
- } while(s != 1);
- return r;
-}
-/* Standard Output procedures **************/
-void _put_bottom(char* n){
- if(ISATTY) printf("%s = ", n);
- printf("%s ", BB);
- if(ISATTY) printf("\n");
-}
-void _put_bool(char* n, _boolean _V){
- if(ISATTY) printf("%s = ", n);
- printf("%s ", (_V)? TT : FF);
- if(ISATTY) printf("\n");
-}
-void _put_int(char* n, _integer _V){
- if(ISATTY) printf("%s = ", n);
- printf("%d ", _V);
- if(ISATTY) printf("\n");
-}
-void _put_real(char* n, _real _V){
- if(ISATTY) printf("%s = ", n);
- printf("%f ", _V);
- if(ISATTY) printf("\n");
-}
-/* Output procedures **********************/
-#ifdef CKCHECK
-void %s_BOT_n(void* cdata){
- _put_bottom("n");
-}
-#endif
-/* Output procedures **********************/
-void carlightV2_carlight_O_n(void* cdata, _integer _V) {
- _put_int("n", _V);
+ return ((_integer) (dm_random_uint32() % 2000001) - 1000000)*1E-6;
}
+
/* Main procedure *************************/
int main(){
int _s = 0;
@@ -112,22 +47,21 @@ int main(){
_boolean is_on;
carlightV2_carlight_ctx_type* ctx = carlightV2_carlight_ctx_new_ctx(NULL);
- printf("#inputs \"switch_pos\":int \"intensity\":real\n");
- printf("#outputs \"is_on\":bool\n");
-
/* Main loop */
- ISATTY = isatty(0);
- while(1){
- if (ISATTY) printf("#step %d \n", _s+1);
- else if(_s) printf("\n");
- fflush(stdout);
+ clock_prepare();
+ clock_start();
+
+ for(int count=0; count<1000; count++){
++_s;
switch_pos = _get_int("switch_pos");
intensity = _get_real("intensity");
carlightV2_carlight_step(switch_pos,intensity,&is_on,ctx);
// printf("%d %f #outs %d\n",switch_pos,intensity,is_on);
- printf("%d\n",is_on);
+ // printf("%d\n",is_on);
}
- return 1;
-
+
+ clock_stop();
+ print_total_clock();
+
+ return 0;
}