/**
* Author: Ulf Lundstrom
* Date: 2009-03-21
* License: CC0
* Source:
* Description: Returns where $p$ is as seen from $s$ towards $e$. 1/0/-1 $\Leftrightarrow$ left/on line/right.
* If the optional argument $eps$ is given 0 is returned if $p$ is within distance $eps$ from the line.
* P is supposed to be Point<T> where T is e.g. double or long long.
* It uses products in intermediate steps so watch out for overflow if using int or long long.
* Usage:
* bool left = sideOf(p1,p2,q)==1;
* Status: tested
*/#pragma once
#include"src/geometry/Point.h"template<classP>intsideOf(Ps,Pe,Pp){returnsgn(s.cross(e,p));}template<classP>intsideOf(constP&s,constP&e,constP&p,doubleeps){autoa=(e-s).cross(p-s);doublel=(e-s).dist()*eps;return(a>l)-(a<-l);}
Traceback(mostrecentcalllast):File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/documentation/build.py",line71,in_render_source_code_statbundled_code=language.bundle(stat.path,basedir=basedir,options={'include_paths':[basedir]}).decode()~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus.py",line187,inbundlebundler.update(path)~~~~~~~~~~~~~~^^^^^^File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py",line312,inupdateraiseBundleErrorAt(path,i+1,"#pragma once found in a non-first line")onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt:src/geometry/sideOf.h:line14:#pragmaoncefoundinanon-firstline