From 8be3a6c1707de83881176d789145a6c175e35dc2 Mon Sep 17 00:00:00 2001 From: pk910 Date: Sun, 27 May 2012 17:31:43 +0200 Subject: [PATCH] fixed Numerics::numToInt method && tidied up code --- Uplink/Numerics.class.php | 57 +++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/Uplink/Numerics.class.php b/Uplink/Numerics.class.php index 0a979e1..7cd007a 100644 --- a/Uplink/Numerics.class.php +++ b/Uplink/Numerics.class.php @@ -29,37 +29,36 @@ class Numerics { 'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f', 'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v', 'w','x','y','z','0','1','2','3','4','5','6','7','8','9','[',']' - ); - private static $base64charsLength = 64; + ); + private static $base64charsLength = 64; - public static function intToNum($int, $length) { - $numeric = ""; - for($pos = $length-1; $pos >= 0; $pos--) { - //current position represents floor($int / ($base64charsLength ^ $pos)) - $base = 1; - for($i = 0; $i < $pos; $i++) { - $base = $base * self::$base64charsLength; - } - $posValue = floor($int / $base); - $int -= $posValue * $base; - //get the char representing $posValue - $posChar = self::$base64chars[$posValue]; - $numeric .= $posChar; - } + public static function intToNum($int, $length) { + $numeric = ""; + for($pos = $length-1; $pos >= 0; $pos--) { + //current position represents floor($int / ($base64charsLength ^ $pos)) + $base = 1; + for($i = 0; $i < $pos; $i++) { + $base = $base * self::$base64charsLength; + } + $posValue = floor($int / $base); + $int -= $posValue * $base; + //get the char representing $posValue + $posChar = self::$base64chars[$posValue]; + $numeric .= $posChar; + } + return $numeric; + } - return $numeric; - } - - public static function numToInt($numeric) { - $base = 1; - $int = 0; - for($pos = strlen($numeric)-1; $pos >= 0; $pos--) { - $posValue = array_search($numeric[$pos], self::$base64chars); - $int = ($posValue * $base); - $base = $base * self::$base64charsLength; - } - return $int; - } + public static function numToInt($numeric) { + $base = 1; + $int = 0; + for($pos = strlen($numeric)-1; $pos >= 0; $pos--) { + $posValue = array_search($numeric[$pos], self::$base64chars); + $int += ($posValue * $base); + $base = $base * self::$base64charsLength; + } + return $int; + } } -- 2.20.1