indexing
	description: "Basic mathematical operations, single-precision. This class may be used as ancestor by classes needing its facilities."

class interface
	SINGLE_MATH

feature -- Access

	arc_cosine (v: REAL): REAL
			-- Trigonometric arccosine of v

	arc_sine (v: REAL): REAL
			-- Trigonometric arcsine of v

	arc_tangent (v: REAL): REAL
			-- Trigonometric arctangent of v

	ceiling (v: REAL): REAL
			-- Least integral value greater than or equal to v

	cosine (v: REAL): REAL
			-- Trigonometric cosine of radian v approximated
			-- in the range [-pi/4, +pi/4]

	floor (v: REAL): REAL
			-- Greatest integral value less than or equal to v

	log (v: REAL): REAL
			-- Natural logarithm of v
		require
			v > 0.0

	log10 (v: REAL): REAL
			-- Base 10 logarithm of v
		require
			v > 0.0

	log_2 (v: REAL): REAL
			-- Base 2 logarithm of v
		require
			v > 0.0

	sine (v: REAL): REAL
			-- Trigonometric sine of radian v approximated
			-- in range [-pi/4, +pi/4]

	sqrt (v: REAL): REAL
			-- Square root of v
		require
			v >= 0.0

	tangent (v: REAL): REAL
			-- Trigonometric tangent of radian v approximated
			-- in range [-pi/4, +pi/4]
	
invariant

		-- from GENERAL
	reflexive_equality: standard_is_equal (Current);
	reflexive_conformance: conforms_to (Current);

end -- class SINGLE_MATH