Mercurial > sdl-ios-xcode
annotate test/testmmousetablet.c @ 2752:edd2839b36f7
http://sources.redhat.com/ml/newlib/2002/msg00230.html
Stephen L Moshier wrote:
>
> pow(x,y) returns 0 when x is very close to -1.0 and y is very large.
> The following test program prints
>
> pow(1.0000000000000002e+00 4.5035996273704970e+15) = 2.7182818284590455e+00
> pow(-1.0000000000000002e+00 4.5035996273704970e+15) =0.0000000000000000e+00
> pow(9.9999999999999978e-01 4.5035996273704970e+15) = 3.6787944117144222e-01
> pow(-9.9999999999999978e-01 4.5035996273704970e+15) = 0.0000000000000000e+00
>
> which is incorrect for the negative arguments raised to an odd integer
> power.
>
> -----
> double pow (double, double);
>
> int
> main ()
> {
> double x, y, z;
>
> x = 1.0 + pow (2.0, -52.0);
> y = 1.0 + pow (2.0, 52.0);
> z = pow (x, y);
> printf ("pow(%.16e %.16e) = %.16e\n", x, y, z);
> x = -x;
> z = pow (x, y);
> printf ("pow(%.16e %.16e) = %.16e\n", x, y, z);
> x = 1.0 - pow (2.0, -52.0);
> z = pow (x, y);
> printf ("pow(%.16e %.16e) = %.16e\n", x, y, z);
> x = -x;
> z = pow (x, y);
> printf ("pow(%.16e %.16e) = %.16e\n", x, y, z);
> }
> -----
>
> Here is a patch for newlib/libm/math/epow.c:
Patch checked in and duplicated for ef_pow.c. Thanks.
-- Jeff J.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 15 Sep 2008 04:31:30 +0000 |
parents | ae653575d4af |
children | 975fd903466b |
rev | line source |
---|---|
2734
dd25eabe441c
Many mouse and tablet linux test file added
Szymon Wilczek <kazeuser@gmail.com>
parents:
diff
changeset
|
1 #include <stdio.h> |
dd25eabe441c
Many mouse and tablet linux test file added
Szymon Wilczek <kazeuser@gmail.com>
parents:
diff
changeset
|
2 #include "SDL.h" |
dd25eabe441c
Many mouse and tablet linux test file added
Szymon Wilczek <kazeuser@gmail.com>
parents:
diff
changeset
|
3 |
2736 | 4 SDL_Surface *screen; |
5 int quit = 0; | |
2734
dd25eabe441c
Many mouse and tablet linux test file added
Szymon Wilczek <kazeuser@gmail.com>
parents:
diff
changeset
|
6 |
2736 | 7 int |
8 main() | |
2734
dd25eabe441c
Many mouse and tablet linux test file added
Szymon Wilczek <kazeuser@gmail.com>
parents:
diff
changeset
|
9 { |
2736 | 10 SDL_Event event; |
11 int mice; | |
12 int i; | |
13 printf("Initing...\n"); | |
14 if (SDL_Init(0) != 0) { | |
15 return 1; | |
16 } | |
17 if (SDL_InitSubSystem(SDL_INIT_VIDEO) != 0) { | |
18 return 1; | |
19 } else { | |
20 screen = SDL_SetVideoMode(640, 480, 32, SDL_DOUBLEBUF); | |
21 } | |
22 mice = SDL_GetNumMice(); | |
23 printf("%d pointing devices found\n", mice); | |
24 for (i = 0; i < mice; ++i) { | |
25 printf("device index: %d name:%s\n", i, SDL_GetMouseName(i)); | |
26 } | |
27 while (quit != 1) { | |
28 if (SDL_PollEvent(&event) == 0) { | |
29 } else { | |
30 switch (event.type) { | |
31 case SDL_MOUSEMOTION: | |
32 printf | |
33 ("Device id: %d x: %d y: %d relx: %d rely: %d pressure: %d\n \ | |
34 pressure_max: %d pressure_min: %d current cursor:%d\n", | |
35 event.motion.which, event.motion.x, event.motion.y, event.motion.xrel, event.motion.yrel, | |
36 event.motion.pressure, event.motion.pressure_max, event.motion.pressure_min, | |
37 event.motion.cursor); | |
38 break; | |
39 case SDL_PROXIMITYIN: | |
40 printf("proximity in id: %d x: %d y: %d\n", | |
41 (int) event.proximity.which, event.proximity.x, | |
42 event.proximity.y); | |
43 break; | |
44 case SDL_PROXIMITYOUT: | |
45 printf("proximity out id: %d x: %d y: %d\n", | |
46 (int) event.proximity.which, event.proximity.x, | |
47 event.proximity.y); | |
48 break; | |
49 case SDL_MOUSEBUTTONDOWN: | |
50 printf("mouse button down id: %d button:%d\n", | |
51 event.button.which, event.button.button); | |
52 break; | |
53 case SDL_MOUSEBUTTONUP: | |
54 printf("mouse button up id: %d button: %d\n", | |
55 event.button.which, event.button.button); | |
56 break; | |
57 case SDL_QUIT: | |
58 printf("Quitting\n"); | |
59 SDL_QuitSubSystem(SDL_INIT_VIDEO); | |
60 SDL_Quit(); | |
61 quit = 1; | |
62 break; | |
63 } | |
64 } | |
65 } | |
66 return 0; | |
2734
dd25eabe441c
Many mouse and tablet linux test file added
Szymon Wilczek <kazeuser@gmail.com>
parents:
diff
changeset
|
67 } |