class EL_COORDINATE

(source code)

Description

Hashable coordinate

note
	description: "Hashable coordinate"

	author: "Finnian Reilly"
	copyright: "Copyright (c) 2001-2022 Finnian Reilly"
	contact: "finnian at eiffel hyphen loop dot com"

	license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
	date: "2022-11-15 19:56:05 GMT (Tuesday 15th November 2022)"
	revision: "2"

class
	EL_COORDINATE

inherit
	EV_COORDINATE

	HASHABLE

create
	default_create, make, make_with_position, make_precise, set

feature -- Access

	hash_code: INTEGER
		do
			Result := (x & 0xFFFF) |<< 16 | (y & 0xFFFF)
		end

	plus alias "+" (delta: TUPLE [x, y: DOUBLE]): like Current
		do
			create Result.make_precise (x_precise + delta.x, y_precise + delta.y)
		end

	minus alias "-" (delta: TUPLE [x, y: DOUBLE]): like Current
		do
			create Result.make_precise (x_precise - delta.x, y_precise - delta.y)
		end

end