declare var tostring ; declare var __type ; module TS { export class NumberHelper { public static toString ( this , ... params ) { return tostring ( this ) ; } } export class Number { public static MAX_VALUE = 1.7976931348623157e+308 ; public static MIN_VALUE = 5e-324 ; private __tostring : ( ) => string ; private __lt : ( other : number ) => boolean ; private __le : ( other : number ) => boolean ; public constructor ( private constNumber ) { this . __tostring = function ( ) : string { return tostring ( this . constNumber ) ; } ; this . __lt = function ( other ) : boolean { return ( __type ( this ) === 'number' ? this : this . constNumber ) <= ( __type ( other ) === 'number' ? other : ( < any > other ) . constNumber ) ; } ; this . __le = function ( other ) : boolean { return ( __type ( this ) === 'number' ? this : this . constNumber ) <= ( __type ( other ) === 'number' ? other : ( < any > other ) . constNumber ) ; } ; this . __unm = function ( ) : boolean { return ! ( __type ( this ) === 'number' ? this : this . constNumber ) ; } ; this . __add = function ( other ) : boolean { return ( __type ( this ) === 'number' ? this : this . constNumber ) + ( __type ( other ) === 'number' ? other : ( < any > other ) . constNumber ) ; } ; this . __sub = function ( other ) : boolean { return ( __type ( this ) === 'number' ? this : this . constNumber ) - ( __type ( other ) === 'number' ? other : ( < any > other ) . constNumber ) ; } ; this . __mul = function ( other ) : boolean { return ( __type ( this ) === 'number' ? this : this . constNumber ) * ( __type ( other ) === 'number' ? other : ( < any > other ) . constNumber ) ; } ; this . __div = function ( other ) : boolean { return ( __type ( this ) === 'number' ? this : this . constNumber ) / ( __type ( other ) === 'number' ? other : ( < any > other ) . constNumber ) ; } ; } public toString ( ) { return new String ( tostring ( this . constNumber ) ) ; } } }