 # Programming-Idioms # Idiom #178 Check if point is inside rectangle

Set boolean b to true if if the point with coordinates (x,y) is inside the rectangle with coordinates (x1,y1,x2,y2) , or to false otherwise.
Describe if the edges are considered to be inside the rectangle.

``````int isInsideRect(double x1, double y1, double x2, double y2, double px, double py){
return px >= x1 && px <= x2 && py >= y1 && py <= y2;
}``````
``using System.Windows;``
``b = new Rect(new Point(x1, y1), new Point(x2, y2)).Contains(x, y);``
``bool b = x1<x && x<x2 && y1<y && y<y2;``
``import "dart:math";``
``````var r = Rectangle.fromPoints(Point(x1,y1),Point(x2,y2));
var b = r.containsPoint(Point(x,y));``````
``````isInsideRect(X1, Y1, X2, Y2, PX, PY) when X1 =< PX andalso PX =< X2 andalso Y1 =< PY andalso PY =< Y2 -> true;
isInsideRect(_, _, _, _, _, _) -> false.``````
``````logical :: b
b = (x1 < x) .and. (x < x2) .and. (y1 < y) .and. (y < y2)``````
``import "image"``
``````p := image.Pt(x, y)
r := image.Rect(x1, y1, x2, y2)
b := p.In(r)``````
``b = x >= x1 && x <= x2 && y >= y1 && y <= y2``
``````const pointInRect = ({x1, y1, x2, y2}, {x, y}) => (
(x > x1 && x < x2) && (y > y1 && y < y2)
)``````
``boolean b = x <= x2 && x >= x1 && y <= y2 && y >= y1;``
``````(setf b (and (< x1 x x2)
(< y1 y y2)))``````
``uses Types;``
``b := PtInRect(Rect(x1,y1,x2,y2), Point(x,y));``
``use feature 'signatures';``
``````sub insideRect(\$x1,\$y1,\$x2,\$y2, \$px,\$py) {
return
\$x1 <= \$px and \$px <= \$x2
and \$y1 <= \$py and \$py <= \$y1
}``````
``b = (x1 < x < x2) and (y1 < y < y2)``
``````Point = Struct.new(:x, :y)

Rect  = Struct.new(:x1, :y1, :x2, :y2) do
def contains?(point)
point.x.between?(x1,x2) && point.y.between?(y1,y2)
end
end

b = Rect.new(0,0,2,5).contains?(Point.new(0,0))``````
``````struct Rect {
x1: i32,
x2: i32,
y1: i32,
y2: i32,
}

impl Rect {
fn contains(&self, x: i32, y: i32) -> bool {
return self.x1 < x && x < self.x2 && self.y1 < y && y < self.y2;
}
}``````

Bart