ICC-Profile

 view release on metacpan or  search on metacpan

lib/ICC/Javascripts/rgraph/RGraph.common.core.js  view on Meta::CPAN


    /**
    * Makes a clone of an object
    * 
    * @param obj val The object to clone
    */
    RG.arrayClone =
    RG.array_clone = function (obj)
    {
        if(obj === null || typeof obj !== 'object') {
            return obj;
        }

        var temp = [];

        for (var i=0,len=obj.length;i<len; ++i) {

            if (typeof obj[i]  === 'number') {
                temp[i] = (function (arg) {return Number(arg);})(obj[i]);
            
            } else if (typeof obj[i]  === 'string') {
                temp[i] = (function (arg) {return String(arg);})(obj[i]);
            
            } else if (typeof obj[i] === 'function') {
                temp[i] = obj[i];
            
            } else {
                temp[i] = RG.arrayClone(obj[i]);
            }
        }

        return temp;
    };




    /**
    * Returns the maximum numeric value which is in an array. This function IS NOT
    * recursive
    * 
    * @param  array arr The array (can also be a number, in which case it's returned as-is)
    * @param  int       Whether to ignore signs (ie negative/positive)
    * @return int       The maximum value in the array
    */
    RG.arrayMax =
    RG.array_max = function (arr)
    {
        var max = null,
            ma  = Math
        
        if (typeof arr === 'number') {
            return arr;
        }
        
        if (RG.isNull(arr)) {
            return 0;
        }

        for (var i=0,len=arr.length; i<len; ++i) {
            if (typeof arr[i] === 'number' && !isNaN(arr[i])) {

                var val = arguments[1] ? ma.abs(arr[i]) : arr[i];
                
                if (typeof max === 'number') {
                    max = ma.max(max, val);
                } else {
                    max = val;
                }
            }
        }

        return max;
    };




    /**
    * Returns the minimum numeric value which is in an array
    * 
    * @param  array arr The array (can also be a number, in which case it's returned as-is)
    * @param  int       Whether to ignore signs (ie negative/positive)
    * @return int       The minimum value in the array
    */
    RG.arrayMin = function (arr)
    {
        var max = null,
            min = null,
            ma  = Math;
        
        if (typeof arr === 'number') {
            return arr;
        }
        
        if (RG.isNull(arr)) {
            return 0;
        }

        for (var i=0,len=arr.length; i<len; ++i) {
            if (typeof arr[i] === 'number') {

                var val = arguments[1] ? ma.abs(arr[i]) : arr[i];
                
                if (typeof min === 'number') {
                    min = ma.min(min, val);
                } else {
                    min = val;
                }
            }
        }

        return min;
    };




    /**
    * Returns the maximum value which is in an array
    * 



( run in 1.551 second using v1.01-cache-2.11-cpan-5837b0d9d2c )