@@ 4-31 (lines=28) @@ | ||
1 | <?php |
|
2 | namespace Cassandra\Type; |
|
3 | ||
4 | class Double extends Base{ |
|
5 | ||
6 | /** |
|
7 | * @param double $value |
|
8 | * @throws Exception |
|
9 | */ |
|
10 | public function __construct($value = null){ |
|
11 | if ($value === null) |
|
12 | return; |
|
13 | ||
14 | if (!is_double($value)) |
|
15 | throw new Exception('Incoming value must be type of double.'); |
|
16 | ||
17 | $this->_value = $value; |
|
18 | } |
|
19 | ||
20 | public static function binary($value){ |
|
21 | return strrev(pack('d', $value)); |
|
22 | } |
|
23 | ||
24 | /** |
|
25 | * @param string $binary |
|
26 | * @return int |
|
27 | */ |
|
28 | public static function parse($binary){ |
|
29 | return unpack('d', strrev($binary))[1]; |
|
30 | } |
|
31 | } |
|
32 |
@@ 4-26 (lines=23) @@ | ||
1 | <?php |
|
2 | namespace Cassandra\Type; |
|
3 | ||
4 | class PhpFloat extends Base{ |
|
5 | /** |
|
6 | * @param double $value |
|
7 | * @throws Exception |
|
8 | */ |
|
9 | public function __construct($value = null){ |
|
10 | if ($value === null) |
|
11 | return; |
|
12 | ||
13 | if (!is_double($value)) |
|
14 | throw new Exception('Incoming value must be type of double.'); |
|
15 | ||
16 | $this->_value = $value; |
|
17 | } |
|
18 | ||
19 | public static function binary($value){ |
|
20 | return strrev(pack('f', $value)); |
|
21 | } |
|
22 | ||
23 | public static function parse($binary){ |
|
24 | return unpack('f', strrev($binary))[1]; |
|
25 | } |
|
26 | } |
|
27 |