Skip to content

Commit a8e8f4f

Browse files
committed
Added number methods
1 parent b3ed517 commit a8e8f4f

File tree

2 files changed

+394
-0
lines changed

2 files changed

+394
-0
lines changed

src/NumberFunctions.php

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,266 @@
11
<?php
22

33
namespace TypedPHP\Functions\NumberFunctions;
4+
5+
/**
6+
* @param float|int $number
7+
*
8+
* @return float
9+
*/
10+
function absolute($number)
11+
{
12+
return (float) \abs($number);
13+
}
14+
15+
/**
16+
* @param float|int $number
17+
*
18+
* @return float
19+
*/
20+
function arcCosine($number)
21+
{
22+
return (float) \acos($number);
23+
}
24+
25+
/**
26+
* @param float|int $number
27+
*
28+
* @return float
29+
*/
30+
function arcSine($number)
31+
{
32+
return (float) \asin($number);
33+
}
34+
35+
/**
36+
* @param float|int $number
37+
*
38+
* @return float
39+
*/
40+
function arcTangent($number)
41+
{
42+
return (float) \atan($number);
43+
}
44+
45+
/**
46+
* @param float|int $number
47+
*
48+
* @return float
49+
*/
50+
function cosine($number)
51+
{
52+
return (float) \cos($number);
53+
}
54+
55+
/**
56+
* @param float|int $number
57+
*
58+
* @return float
59+
*/
60+
function exponent($number)
61+
{
62+
return (float) \exp($number);
63+
}
64+
65+
/**
66+
* @param float|int $number
67+
*
68+
* @return float
69+
*/
70+
function hyperbolicCosine($number)
71+
{
72+
return (float) \cosh($number);
73+
}
74+
75+
/**
76+
* @param float|int $number
77+
*
78+
* @return float
79+
*/
80+
function hyperbolicSine($number)
81+
{
82+
return (float) \sinh($number);
83+
}
84+
85+
/**
86+
* @param float|int $number
87+
*
88+
* @return float
89+
*/
90+
function hyperbolicTangent($number)
91+
{
92+
return (float) \tanh($number);
93+
}
94+
95+
/**
96+
* @param float|int $number
97+
*
98+
* @return float
99+
*/
100+
function arcHyperbolicCosine($number)
101+
{
102+
return (float) \acosh($number);
103+
}
104+
105+
/**
106+
* @param float|int $number
107+
*
108+
* @return float
109+
*/
110+
function arcHyperbolicSine($number)
111+
{
112+
return (float) \asinh($number);
113+
}
114+
115+
/**
116+
* @param float|int $number
117+
*
118+
* @return float
119+
*/
120+
function arcHyperbolicTangent($number)
121+
{
122+
return (float) \atanh($number);
123+
}
124+
125+
/**
126+
* @param float|int $number
127+
*
128+
* @return float
129+
*/
130+
function logarithm($number)
131+
{
132+
return (float) \log($number);
133+
}
134+
135+
/**
136+
* @param float|int $number
137+
*
138+
* @return float
139+
*/
140+
function sine($number)
141+
{
142+
return (float) \sin($number);
143+
}
144+
145+
/**
146+
* @param float|int $number
147+
*
148+
* @return float
149+
*/
150+
function squareRoot($number)
151+
{
152+
return (float) \sqrt($number);
153+
}
154+
155+
/**
156+
* @param float|int $number
157+
*
158+
* @return float
159+
*/
160+
function tangent($number)
161+
{
162+
return (float) \tan($number);
163+
}
164+
165+
/**
166+
* @param float|int $number
167+
*
168+
* @return float
169+
*/
170+
function degrees($number)
171+
{
172+
return (float) \rad2deg($number);
173+
}
174+
175+
/**
176+
* @param float|int $number
177+
*
178+
* @return float
179+
*/
180+
function radians($number)
181+
{
182+
return (float) \deg2rad($number);
183+
}
184+
185+
/**
186+
* @param float|int $number
187+
* @param float|int $divisor
188+
*
189+
* @return float
190+
*/
191+
function modulus($number, $divisor)
192+
{
193+
return (float) \fmod($number, $divisor);
194+
}
195+
196+
/**
197+
* @param float|int $number
198+
* @param float|int $power
199+
*
200+
* @return float
201+
*/
202+
function power($number, $power)
203+
{
204+
return (float) \pow($number, $power);
205+
}
206+
207+
/**
208+
* @param float|int $number
209+
*
210+
* @return float
211+
*/
212+
function round($number)
213+
{
214+
return (float) \round($number);
215+
}
216+
217+
/**
218+
* @param float|int $number
219+
*
220+
* @return float
221+
*/
222+
function ceiling($number)
223+
{
224+
return (float) \ceil($number);
225+
}
226+
227+
/**
228+
* @param float|int $number
229+
*
230+
* @return float
231+
*/
232+
function floor($number)
233+
{
234+
return (float) \floor($number);
235+
}
236+
237+
/**
238+
* @param int $min
239+
* @param int $max
240+
*
241+
* @return int
242+
*/
243+
function random($min, $max)
244+
{
245+
return (int) \mt_rand($min, $max);
246+
}
247+
248+
/**
249+
* @param $number
250+
* @param $min
251+
* @param $max
252+
*
253+
* @return mixed
254+
*/
255+
function limit($number, $min, $max)
256+
{
257+
if ($number < $min) {
258+
return $min;
259+
}
260+
261+
if ($number > $max) {
262+
return $max;
263+
}
264+
265+
return $number;
266+
}

0 commit comments

Comments
 (0)