Changeset 58775d30 in mainline for uspace/app
- Timestamp:
- 2015-03-16T16:07:21Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2003739
- Parents:
- 6069061 (diff), 795e2bf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/app
- Files:
-
- 4 added
- 13 edited
-
barber/barber.c (modified) (2 diffs)
-
fontviewer/fontviewer.c (modified) (1 diff)
-
nettest1/nettest1.c (modified) (1 diff)
-
nettest2/nettest2.c (modified) (2 diffs)
-
rcubench/Makefile (added)
-
rcubench/rcubench.c (added)
-
rcutest/Makefile (added)
-
rcutest/rcutest.c (added)
-
taskdump/fibrildump.c (modified) (1 diff)
-
tester/float/float2.c (modified) (4 diffs)
-
tester/float/softfloat1.c (modified) (15 diffs)
-
tester/ipc/ping_pong.c (modified) (1 diff)
-
tester/ipc/starve.c (modified) (1 diff)
-
vdemo/vdemo.c (modified) (1 diff)
-
viewer/viewer.c (modified) (1 diff)
-
vlaunch/vlaunch.c (modified) (1 diff)
-
vterm/vterm.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/barber/barber.c
r6069061 r58775d30 233 233 getuptime(&cur); 234 234 235 plan_frame_timer(tv_sub (&cur, &prev));235 plan_frame_timer(tv_sub_diff(&cur, &prev)); 236 236 } 237 237 … … 308 308 309 309 winreg = argv[1]; 310 window_t *main_window = window_open(argv[1], true, true, "barber"); 310 window_t *main_window = window_open(argv[1], 311 WINDOW_MAIN | WINDOW_DECORATED, "barber"); 311 312 if (!main_window) { 312 313 printf("Cannot open main window.\n"); -
uspace/app/fontviewer/fontviewer.c
r6069061 r58775d30 260 260 } 261 261 262 main_window = window_open(argv[1], true, false, "fontviewer");262 main_window = window_open(argv[1], WINDOW_MAIN, "fontviewer"); 263 263 if (!main_window) { 264 264 printf("Cannot open main window.\n"); -
uspace/app/nettest1/nettest1.c
r6069061 r58775d30 412 412 gettimeofday(&time_after, NULL); 413 413 414 printf("Tested in %ld microseconds\n", tv_sub (&time_after,414 printf("Tested in %ld microseconds\n", tv_sub_diff(&time_after, 415 415 &time_before)); 416 416 -
uspace/app/nettest2/nettest2.c
r6069061 r58775d30 370 370 371 371 printf("sendto + recvfrom tested in %ld microseconds\n", 372 tv_sub (&time_after, &time_before));372 tv_sub_diff(&time_after, &time_before)); 373 373 374 374 gettimeofday(&time_before, NULL); … … 390 390 391 391 printf("sendto, recvfrom tested in %ld microseconds\n", 392 tv_sub (&time_after, &time_before));392 tv_sub_diff(&time_after, &time_before)); 393 393 394 394 rc = sockets_close(verbose, socket_ids, sockets); -
uspace/app/taskdump/fibrildump.c
r6069061 r58775d30 81 81 int rc; 82 82 83 /* 84 * If we for whatever reason could not obtain symbols table from the binary, 85 * we cannot dump fibrils. 86 */ 87 if (symtab == NULL) { 88 return EIO; 89 } 90 83 91 rc = symtab_name_to_addr(symtab, "fibril_list", &fibril_list_addr); 84 92 if (rc != EOK) -
uspace/app/tester/float/float2.c
r6069061 r58775d30 57 57 const char *test_float2(void) 58 58 { 59 bool fail = false; 60 59 61 for (unsigned int i = 0; i < OPERANDS; i++) { 60 62 double res = trunc(arguments[i]); … … 63 65 64 66 if (res_int != corr_int) { 65 TPRINTF("Double truncation failed (%" PRId64 " != %" PRId64 ")\n",66 res_int, corr_int);67 return "Double truncation failed";67 TPRINTF("Double truncation failed (%" PRId64 " != %" PRId64 68 ", arg %u)\n", res_int, corr_int, i); 69 fail = true; 68 70 } 69 71 } … … 75 77 76 78 if (res_int != corr_int) { 77 TPRINTF("Double sine failed (%" PRId64 " != %" PRId64 ")\n",78 res_int, corr_int);79 return "Double sine failed";79 TPRINTF("Double sine failed (%" PRId64 " != %" PRId64 80 ", arg %u)\n", res_int, corr_int, i); 81 fail = true; 80 82 } 81 83 } … … 87 89 88 90 if (res_int != corr_int) { 89 TPRINTF("Double cosine failed (%" PRId64 " != %" PRId64 ")\n",90 res_int, corr_int);91 return "Double cosine failed";91 TPRINTF("Double cosine failed (%" PRId64 " != %" PRId64 92 ", arg %u)\n", res_int, corr_int, i); 93 fail = true; 92 94 } 93 95 } 94 96 97 if (fail) 98 return "Floating point imprecision"; 99 95 100 return NULL; 96 101 } -
uspace/app/tester/float/softfloat1.c
r6069061 r58775d30 29 29 #include <stdio.h> 30 30 #include <stdlib.h> 31 #include < sftypes.h>31 #include <mathtypes.h> 32 32 #include <add.h> 33 33 #include <sub.h> … … 39 39 #include "../tester.h" 40 40 41 #define add_float __addsf3 42 #define sub_float __subsf3 43 #define mul_float __mulsf3 44 #define div_float __divsf3 45 46 #define is_float_lt __ltsf2 47 #define is_float_gt __gtsf2 48 #define is_float_eq __eqsf2 49 50 #define add_double __adddf3 51 #define sub_double __subdf3 52 #define mul_double __muldf3 53 #define div_double __divdf3 54 55 #define is_double_lt __ltdf2 56 #define is_double_gt __gtdf2 57 #define is_double_eq __eqdf2 58 59 #define uint_to_double __floatsidf 60 #define double_to_uint __fixunsdfsi 61 #define double_to_int __fixdfsi 62 41 63 #define OPERANDS 10 42 #define PRECISION 1000 064 #define PRECISION 1000 43 65 44 66 #define PRIdCMPTYPE PRId32 … … 46 68 typedef int32_t cmptype_t; 47 69 48 typedef void (* uint_to_double_op_t)(unsigned int, double *, double _t*);70 typedef void (* uint_to_double_op_t)(unsigned int, double *, double *); 49 71 typedef void (* double_to_uint_op_t)(double, unsigned int *, unsigned int *); 50 typedef void (* float_binary_op_t)(float, float, float *, float_t *); 51 typedef void (* double_binary_op_t)(double, double, double *, double_t *); 72 typedef void (* float_binary_op_t)(float, float, float *, float *); 73 typedef void (* float_cmp_op_t)(float, float, cmptype_t *, cmptype_t *); 74 typedef void (* double_binary_op_t)(double, double, double *, double *); 52 75 typedef void (* double_cmp_op_t)(double, double, cmptype_t *, cmptype_t *); 53 76 … … 68 91 69 92 static unsigned int uop_a[OPERANDS] = { 70 4, -100, 100, 50, 1024, 0, 1000000, -1U, 0x80000000U, 50093 4, 2, 100, 50, 1024, 0, 1000000, 1, 0x8000000, 500 71 94 }; 72 95 73 static cmptype_t cmpabs(cmptype_t a) 74 { 75 if (a >= 0) 76 return a; 77 78 return -a; 79 } 80 81 static int dcmp(double a, double b) 96 static int fcmp(float a, float b) 82 97 { 83 98 if (a < b) … … 90 105 } 91 106 107 static int dcmp(double a, double b) 108 { 109 if (a < b) 110 return -1; 111 112 if (a > b) 113 return 1; 114 115 return 0; 116 } 117 92 118 static void uint_to_double_template(void *f, unsigned i, cmptype_t *pic, 93 119 cmptype_t *pisc) … … 96 122 97 123 double c; 98 double _tsc;124 double sc; 99 125 op(uop_a[i], &c, &sc); 100 126 101 127 *pic = (cmptype_t) (c * PRECISION); 102 *pisc = (cmptype_t) (sc .val* PRECISION);128 *pisc = (cmptype_t) (sc * PRECISION); 103 129 } 104 130 … … 116 142 } 117 143 118 119 144 static void float_template_binary(void *f, unsigned i, unsigned j, 120 145 cmptype_t *pic, cmptype_t *pisc) … … 123 148 124 149 float c; 125 float _tsc;150 float sc; 126 151 op(fop_a[i], fop_a[j], &c, &sc); 127 152 128 153 *pic = (cmptype_t) (c * PRECISION); 129 *pisc = (cmptype_t) (sc.val * PRECISION); 154 *pisc = (cmptype_t) (sc * PRECISION); 155 } 156 157 static void float_compare_template(void *f, unsigned i, unsigned j, 158 cmptype_t *pis, cmptype_t *piss) 159 { 160 float_cmp_op_t op = (float_cmp_op_t) f; 161 162 op(dop_a[i], dop_a[j], pis, piss); 130 163 } 131 164 … … 136 169 137 170 double c; 138 double _tsc;171 double sc; 139 172 op(dop_a[i], dop_a[j], &c, &sc); 140 173 141 174 *pic = (cmptype_t) (c * PRECISION); 142 *pisc = (cmptype_t) (sc .val* PRECISION);175 *pisc = (cmptype_t) (sc * PRECISION); 143 176 } 144 177 … … 160 193 161 194 template(f, i, &ic, &isc); 162 cmptype_t diff = cmpabs(ic - isc);195 cmptype_t diff = ic - isc; 163 196 164 197 if (diff != 0) { 165 TPRINTF("i=%u diff=%" PRIdCMPTYPE "\n", i, diff); 198 TPRINTF("i=%u ic=%" PRIdCMPTYPE " isc=%" PRIdCMPTYPE "\n", 199 i, ic, isc); 166 200 correct = false; 167 201 } … … 181 215 182 216 template(f, i, j, &ic, &isc); 183 cmptype_t diff = cmpabs(ic - isc);217 cmptype_t diff = ic - isc; 184 218 185 219 if (diff != 0) { 186 TPRINTF("i=%u, j=%u diff=%" PRIdCMPTYPE "\n",187 i, j, diff);220 TPRINTF("i=%u, j=%u ic=%" PRIdCMPTYPE 221 " isc=%" PRIdCMPTYPE "\n", i, j, ic, isc); 188 222 correct = false; 189 223 } … … 194 228 } 195 229 196 static void uint_to_double_operator(unsigned int a, double *pc, double _t*psc)230 static void uint_to_double_operator(unsigned int a, double *pc, double *psc) 197 231 { 198 232 *pc = (double) a; 199 psc->data= uint_to_double(a);233 *psc = uint_to_double(a); 200 234 } 201 235 … … 203 237 unsigned int *psc) 204 238 { 205 double_t sa;206 207 sa.val = a;208 209 239 *pc = (unsigned int) a; 210 *psc = double_to_uint( sa.data);240 *psc = double_to_uint(a); 211 241 } 212 242 … … 214 244 unsigned int *psc) 215 245 { 216 double_t sa;217 218 sa.val = a;219 220 246 *pc = (int) a; 221 *psc = double_to_int( sa.data);222 } 223 224 static void float_add_operator(float a, float b, float *pc, float _t*psc)247 *psc = double_to_int(a); 248 } 249 250 static void float_add_operator(float a, float b, float *pc, float *psc) 225 251 { 226 252 *pc = a + b; 227 228 float_t sa; 229 float_t sb; 230 231 sa.val = a; 232 sb.val = b; 233 234 if (sa.data.parts.sign == sb.data.parts.sign) { 235 psc->data = add_float(sa.data, sb.data); 236 } else if (sa.data.parts.sign) { 237 sa.data.parts.sign = 0; 238 psc->data = sub_float(sb.data, sa.data); 239 } else { 240 sb.data.parts.sign = 0; 241 psc->data = sub_float(sa.data, sb.data); 242 } 243 } 244 245 static void float_mul_operator(float a, float b, float *pc, float_t *psc) 253 *psc = add_float(a, b); 254 } 255 256 static void float_sub_operator(float a, float b, float *pc, float *psc) 257 { 258 *pc = a - b; 259 *psc = sub_float(a, b); 260 } 261 262 static void float_mul_operator(float a, float b, float *pc, float *psc) 246 263 { 247 264 *pc = a * b; 248 249 float_t sa; 250 float_t sb; 251 252 sa.val = a; 253 sb.val = b; 254 psc->data = mul_float(sa.data, sb.data); 255 } 256 257 static void float_div_operator(float a, float b, float *pc, float_t *psc) 265 *psc = mul_float(a, b); 266 } 267 268 static void float_div_operator(float a, float b, float *pc, float *psc) 258 269 { 259 270 if ((cmptype_t) b == 0) { 260 271 *pc = 0.0; 261 psc->val= 0.0;272 *psc = 0.0; 262 273 return; 263 274 } 264 275 265 276 *pc = a / b; 266 267 float_t sa; 268 float_t sb; 269 270 sa.val = a; 271 sb.val = b; 272 psc->data = div_float(sa.data, sb.data); 273 } 274 275 static void double_add_operator(double a, double b, double *pc, double_t *psc) 276 { 277 *pc = a + b; 278 279 double_t sa; 280 double_t sb; 281 282 sa.val = a; 283 sb.val = b; 284 285 if (sa.data.parts.sign == sb.data.parts.sign) { 286 psc->data = add_double(sa.data, sb.data); 287 } else if (sa.data.parts.sign) { 288 sa.data.parts.sign = 0; 289 psc->data = sub_double(sb.data, sa.data); 290 } else { 291 sb.data.parts.sign = 0; 292 psc->data = sub_double(sa.data, sb.data); 293 } 294 } 295 296 static void double_mul_operator(double a, double b, double *pc, double_t *psc) 297 { 298 *pc = a * b; 299 300 double_t sa; 301 double_t sb; 302 303 sa.val = a; 304 sb.val = b; 305 psc->data = mul_double(sa.data, sb.data); 306 } 307 308 static void double_div_operator(double a, double b, double *pc, double_t *psc) 309 { 310 if ((cmptype_t) b == 0) { 311 *pc = 0.0; 312 psc->val = 0.0; 313 return; 314 } 315 316 *pc = a / b; 317 318 double_t sa; 319 double_t sb; 320 321 sa.val = a; 322 sb.val = b; 323 psc->data = div_double(sa.data, sb.data); 324 } 325 326 static void double_cmp_operator(double a, double b, cmptype_t *pis, 277 *psc = div_float(a, b); 278 } 279 280 static void float_cmp_operator(float a, float b, cmptype_t *pis, 327 281 cmptype_t *piss) 328 282 { 329 *pis = dcmp(a, b); 330 331 double_t sa; 332 double_t sb; 333 334 sa.val = a; 335 sb.val = b; 336 337 if (is_double_lt(sa.data, sb.data)) 283 *pis = fcmp(a, b); 284 285 if (is_float_lt(a, b) == -1) 338 286 *piss = -1; 339 else if (is_ double_gt(sa.data, sb.data))287 else if (is_float_gt(a, b) == 1) 340 288 *piss = 1; 341 else if (is_ double_eq(sa.data, sb.data))289 else if (is_float_eq(a, b) == 0) 342 290 *piss = 0; 343 291 else … … 345 293 } 346 294 295 static void double_add_operator(double a, double b, double *pc, double *psc) 296 { 297 *pc = a + b; 298 *psc = add_double(a, b); 299 } 300 301 static void double_sub_operator(double a, double b, double *pc, double *psc) 302 { 303 *pc = a - b; 304 *psc = sub_double(a, b); 305 } 306 307 static void double_mul_operator(double a, double b, double *pc, double *psc) 308 { 309 *pc = a * b; 310 *psc = mul_double(a, b); 311 } 312 313 static void double_div_operator(double a, double b, double *pc, double *psc) 314 { 315 if ((cmptype_t) b == 0) { 316 *pc = 0.0; 317 *psc = 0.0; 318 return; 319 } 320 321 *pc = a / b; 322 *psc = div_double(a, b); 323 } 324 325 static void double_cmp_operator(double a, double b, cmptype_t *pis, 326 cmptype_t *piss) 327 { 328 *pis = dcmp(a, b); 329 330 if (is_double_lt(a, b) == -1) 331 *piss = -1; 332 else if (is_double_gt(a, b) == 1) 333 *piss = 1; 334 else if (is_double_eq(a, b) == 0) 335 *piss = 0; 336 else 337 *piss = 42; 338 } 339 347 340 const char *test_softfloat1(void) 348 341 { 349 const char *err = NULL;342 bool err = false; 350 343 351 344 if (!test_template_binary(float_template_binary, float_add_operator)) { 352 err = "Float addition failed"; 353 TPRINTF("%s\n", err); 345 err = true; 346 TPRINTF("%s\n", "Float addition failed"); 347 } 348 349 if (!test_template_binary(float_template_binary, float_sub_operator)) { 350 err = true; 351 TPRINTF("%s\n", "Float addition failed"); 354 352 } 355 353 356 354 if (!test_template_binary(float_template_binary, float_mul_operator)) { 357 err = "Float multiplication failed";358 TPRINTF("%s\n", err);355 err = true; 356 TPRINTF("%s\n", "Float multiplication failed"); 359 357 } 360 358 361 359 if (!test_template_binary(float_template_binary, float_div_operator)) { 362 err = "Float division failed"; 363 TPRINTF("%s\n", err); 360 err = true; 361 TPRINTF("%s\n", "Float division failed"); 362 } 363 364 if (!test_template_binary(float_compare_template, float_cmp_operator)) { 365 err = true; 366 TPRINTF("%s\n", "Float comparison failed"); 364 367 } 365 368 366 369 if (!test_template_binary(double_template_binary, double_add_operator)) { 367 err = "Double addition failed"; 368 TPRINTF("%s\n", err); 370 err = true; 371 TPRINTF("%s\n", "Double addition failed"); 372 } 373 374 if (!test_template_binary(double_template_binary, double_sub_operator)) { 375 err = true; 376 TPRINTF("%s\n", "Double addition failed"); 369 377 } 370 378 371 379 if (!test_template_binary(double_template_binary, double_mul_operator)) { 372 err = "Double multiplication failed";373 TPRINTF("%s\n", err);380 err = true; 381 TPRINTF("%s\n", "Double multiplication failed"); 374 382 } 375 383 376 384 if (!test_template_binary(double_template_binary, double_div_operator)) { 377 err = "Double division failed";378 TPRINTF("%s\n", err);385 err = true; 386 TPRINTF("%s\n", "Double division failed"); 379 387 } 380 388 381 389 if (!test_template_binary(double_compare_template, double_cmp_operator)) { 382 err = "Double comparison failed";383 TPRINTF("%s\n", err);390 err = true; 391 TPRINTF("%s\n", "Double comparison failed"); 384 392 } 385 393 386 394 if (!test_template_unary(uint_to_double_template, 387 395 uint_to_double_operator)) { 388 err = "Conversion from unsigned int to double failed";389 TPRINTF("%s\n", err);396 err = true; 397 TPRINTF("%s\n", "Conversion from unsigned int to double failed"); 390 398 } 391 399 392 400 if (!test_template_unary(double_to_uint_template, 393 401 double_to_uint_operator)) { 394 err = "Conversion from double to unsigned int failed";395 TPRINTF("%s\n", err);402 err = true; 403 TPRINTF("%s\n", "Conversion from double to unsigned int failed"); 396 404 } 397 405 398 406 if (!test_template_unary(double_to_uint_template, 399 407 double_to_int_operator)) { 400 err = "Conversion from double to signed int failed"; 401 TPRINTF("%s\n", err); 402 } 403 404 return err; 405 } 408 err = true; 409 TPRINTF("%s\n", "Conversion from double to signed int failed"); 410 } 411 412 if (err) 413 return "Software floating point imprecision"; 414 415 return NULL; 416 } -
uspace/app/tester/ipc/ping_pong.c
r6069061 r58775d30 50 50 gettimeofday(&now, NULL); 51 51 52 if (tv_sub (&now, &start) >= DURATION_SECS * 1000000L)52 if (tv_sub_diff(&now, &start) >= DURATION_SECS * 1000000L) 53 53 break; 54 54 -
uspace/app/tester/ipc/starve.c
r6069061 r58775d30 52 52 gettimeofday(&now, NULL); 53 53 54 if (tv_sub (&now, &start) >= DURATION_SECS * 1000000L)54 if (tv_sub_diff(&now, &start) >= DURATION_SECS * 1000000L) 55 55 break; 56 56 -
uspace/app/vdemo/vdemo.c
r6069061 r58775d30 110 110 { 111 111 if (argc >= 2) { 112 window_t *main_window = window_open(argv[1], true, true, "vdemo"); 112 window_t *main_window = window_open(argv[1], 113 WINDOW_MAIN | WINDOW_DECORATED | WINDOW_RESIZEABLE, "vdemo"); 113 114 if (!main_window) { 114 115 printf("Cannot open main window.\n"); -
uspace/app/viewer/viewer.c
r6069061 r58775d30 167 167 } 168 168 169 main_window = window_open(argv[1], true, false, "viewer");169 main_window = window_open(argv[1], WINDOW_MAIN, "viewer"); 170 170 if (!main_window) { 171 171 printf("Cannot open main window.\n"); -
uspace/app/vlaunch/vlaunch.c
r6069061 r58775d30 114 114 115 115 winreg = argv[1]; 116 window_t *main_window = window_open(argv[1], true, true, "vlaunch"); 116 window_t *main_window = window_open(argv[1], 117 WINDOW_MAIN | WINDOW_DECORATED | WINDOW_RESIZEABLE, "vlaunch"); 117 118 if (!main_window) { 118 119 printf("Cannot open main window.\n"); -
uspace/app/vterm/vterm.c
r6069061 r58775d30 49 49 } 50 50 51 window_t *main_window = window_open(argv[1], true, true, "vterm"); 51 window_t *main_window = window_open(argv[1], 52 WINDOW_MAIN | WINDOW_DECORATED, "vterm"); 52 53 if (!main_window) { 53 54 printf("%s: Cannot open main window.\n", NAME);
Note:
See TracChangeset
for help on using the changeset viewer.
