public function sign($x) { if ($x < 0) { return -1; } elseif ($x > 0) { return 1; } elseif ($x === 0 || $x === 0.0) { return 0; } else { return NAN; } }