!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux web25.us.cloudlogin.co 5.10.237-xeon-hst #1 SMP Mon May 5 15:10:04 UTC 2025 x86_64 

uid=233359(alpastrology) gid=888(tty) groups=888(tty),33(tape) 

Safe-mode: OFF (not secure)

/usr/local/php7.4/share/misc/php-spx/assets/web-ui/js/   drwxr-xr-x
Free 6181.82 GB of 6263.02 GB (98.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     math.js (5.37 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPX - A simple profiler for PHP
 * Copyright (C) 2017-2022 Sylvain Lassaut <NoiseByNorthwest@gmail.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */



export function round(n, d) {
    const scale = Math.pow(10, d || 0);

    return Math.round(n * scale) / scale;
}

export function bound(a, low, up) {
    return Math.max(low || 0, Math.min(a, up || 1));
}

export function lerp(a, b, dist) {
    dist = bound(dist);

    return a * (1 - dist) + b * dist;
}

export function lerpDist(a, b, value) {
    return (value - a) / (b - a);
}

export function dist(a, b) {
    return Math.abs(a - b);
}

export class Vec3 {

    constructor(x, y, z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    copy() {
        return new Vec3(
            this.x,
            this.y,
            this.z
        );
    }

    bound(low, up) {
        bound(this.x, low, up);
        bound(this.y, low, up);
        bound(this.z, low, up);

        return this;
    }

    mult(v) {
        this.x *= v;
        this.y *= v;
        this.z *= v;

        return this;
    }

    toHTMLColor() {
        const c = this.copy().bound();

        return 'rgb(' + [
            parseInt(c.x * 255),
            parseInt(c.y * 255),
            parseInt(c.z * 255),
        ].join(',') + ')';
    }

    static createFromHTMLColor(htmlColor) {
        const matches = /rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.exec(htmlColor);

        return this.createFromRGB888(
            matches[1],
            matches[2],
            matches[3]
        );
    }

    static createFromRGB888(r, g, b) {
        const v = new Vec3(
            r / 255,
            g / 255,
            b / 255,
        );

        return v.bound();
    }

    static lerp(a, b, dist) {
        return new Vec3(
            lerp(a.x, b.x, dist),
            lerp(a.y, b.y, dist),
            lerp(a.z, b.z, dist)
        );
    }

    static lerpPath(vectors, dist) {
        dist = bound(dist);

        const span = 1 / (vectors.length - 1);
        const firstIdx = bound(parseInt(dist / span), 0, vectors.length - 2);

        return this.lerp(
            vectors[firstIdx],
            vectors[firstIdx + 1],
            (dist - firstIdx * span) / span
        );
    }
}

export class Range {

    constructor(begin, end) {
        if (begin > end) {
            throw new Error('Invalid range: ' + begin + ' ' + end);
        }

        this.begin = begin;
        this.end = end;
    }

    copy() {
        return new Range(this.begin, this.end);
    }

    length() {
        return this.end - this.begin;
    }

    center() {
        return (this.begin + this.end) / 2;
    }

    lerp(dist) {
        return lerp(this.begin, this.end, dist);
    }

    lerpDist(value) {
        return lerpDist(this.begin, this.end, value);
    }

    intersect(other) {
        if (!this.overlaps(other)) {
            throw new Error('Ranges do not overlap');
        }

        this.begin = Math.max(this.begin, other.begin);
        this.end = Math.min(this.end, other.end);

        return this;
    }

    subRange(ratio, num) {
        const width = ratio * this.length();

        return new Range(
            Math.max(this.begin, this.begin + width * num),
            Math.min(this.end, this.begin + width * (num + 1))
        );
    }

    scale(factor) {
        this.begin *= factor;
        this.end *= factor;

        return this;
    }

    shift(dist) {
        this.begin += dist;
        this.end += dist;

        return this;
    }

    shiftBegin(dist) {
        this.begin = Math.min(this.begin + dist, this.end);

        return this;
    }

    shiftEnd(dist) {
        this.end = Math.max(this.end + dist, this.begin);

        return this;
    }

    bound(low, up) {
        low = low || 0;
        up = up || 1;

        this.begin = bound(this.begin, low, up);
        this.end = bound(this.end, low, up);

        if (this.begin > this.end) {
            this.begin = low;
            this.end = up;
        }

        return this;
    }

    containsValue(val) {
        return this.begin <= val && val <= this.end;
    }

    contains(other) {
        return this.begin <= other.begin && other.end <= this.end;
    }

    isContainedBy(other) {
        return other.contains(this);
    }

    overlaps(other) {
        return !(this.end < other.begin || other.end < this.begin);
    }

    sub(other) {
        if (other.contains(this)) {
            this.end = this.begin;
            return this;
        }

        if (this.contains(other)) {
            this.end -= other.length();
        }

        if (!this.overlaps(other)) {
            return this;
        }

        if (this.containsValue(other.begin)) {
            this.end = other.begin;
        } else if (this.containsValue(other.end)) {
            this.begin = other.end;
        }

        return this;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0179 ]--