codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <stdio.h> #include <stdlib.h> i;j;c;f(float*X,float*Y,float x,float y){for(c=i=0,j=2;i<3;)c^=(Y[i]>y)-(Y[j]>y)&(x<(X[j]-X[i])*(y-Y[i])/(Y[j]-Y[i])+X[j=i++]);return c;} int main(void) { float good_x = -0.31961; float good_y = -0.12646; float good_X[] = {0.38478, -0.30613, -0.85548}; float good_Y[] = {0.37419, -0.59754, 0.6633}; float bad_x = -0.99103; float bad_y = 0.43842; float bad_X[] = {0.78128, -0.84714, -0.08925}; float bad_Y[] = {-0.10985, -0.20558, -0.78608}; puts( f(good_X, good_Y, good_x, good_y) ? "good" : "bad"); puts( f(bad_X, bad_Y, bad_x, bad_y) ? "good" : "bad"); return 0; }
Private
[
?
]
Run code
Submit