Exemple #1
0
FLOAT_RETURN_TYPE Math_ArcTan2(SCRIPT_FLOAT(yval), SCRIPT_FLOAT(xval)) {
    INIT_SCRIPT_FLOAT(yval);
    INIT_SCRIPT_FLOAT(xval);

    float value = atan2(yval, xval);

    RETURN_FLOAT(value);
}
Exemple #2
0
FLOAT_RETURN_TYPE Math_RaiseToPower(SCRIPT_FLOAT(base), SCRIPT_FLOAT(exp)) {
    INIT_SCRIPT_FLOAT(base);
    INIT_SCRIPT_FLOAT(exp);

    float value = ::pow(base, exp);

    RETURN_FLOAT(value);
}
Exemple #3
0
FLOAT_RETURN_TYPE Math_ArcSin(SCRIPT_FLOAT(value)) {
    INIT_SCRIPT_FLOAT(value);

    value = asin(value);

    RETURN_FLOAT(value);
}
Exemple #4
0
FLOAT_RETURN_TYPE Math_ArcCos(SCRIPT_FLOAT(value)) {
    INIT_SCRIPT_FLOAT(value);

    value = acos(value);

    RETURN_FLOAT(value);
}
Exemple #5
0
FLOAT_RETURN_TYPE Math_Tan(SCRIPT_FLOAT(value)) {
    INIT_SCRIPT_FLOAT(value);

    value = tan(value);

    RETURN_FLOAT(value);
}
Exemple #6
0
int FloatToInt(SCRIPT_FLOAT(value), int roundDirection) {
    INIT_SCRIPT_FLOAT(value);

    int intval;

    if (value >= 0.0) {
        if (roundDirection == eRoundDown)
            intval = (int)value;
        else if (roundDirection == eRoundNearest)
            intval = (int)(value + 0.5);
        else if (roundDirection == eRoundUp)
            intval = (int)(value + 0.999999);
        else
            quit("!FloatToInt: invalid round direction");
    }
    else {
        // negative number
        if (roundDirection == eRoundUp)
            intval = (int)value; // this just truncates
        else if (roundDirection == eRoundNearest)
            intval = (int)(value - 0.5);
        else if (roundDirection == eRoundDown)
            intval = (int)(value - 0.999999);
        else
            quit("!FloatToInt: invalid round direction");
    }

    return intval;
}
Exemple #7
0
FLOAT_RETURN_TYPE Math_RadiansToDegrees(SCRIPT_FLOAT(value)) {
    INIT_SCRIPT_FLOAT(value);

    value = value * (180.0 / M_PI);

    RETURN_FLOAT(value);
}
Exemple #8
0
FLOAT_RETURN_TYPE Math_DegreesToRadians(SCRIPT_FLOAT(value)) {
    INIT_SCRIPT_FLOAT(value);

    value = value * (M_PI / 180.0);

    RETURN_FLOAT(value);
}
Exemple #9
0
FLOAT_RETURN_TYPE Math_Tanh(SCRIPT_FLOAT(num)) {
    INIT_SCRIPT_FLOAT(num);

    float value = tanh(num);

    RETURN_FLOAT(value);
}
Exemple #10
0
FLOAT_RETURN_TYPE Math_Exp(SCRIPT_FLOAT(num)) {
    INIT_SCRIPT_FLOAT(num);

    float value = exp(num);

    RETURN_FLOAT(value);
}
Exemple #11
0
FLOAT_RETURN_TYPE Math_Log10(SCRIPT_FLOAT(num)) {
    INIT_SCRIPT_FLOAT(num);

    float value = ::log10(num);

    RETURN_FLOAT(value);
}
Exemple #12
0
/* *** SCRIPT SYMBOL: [Maths] Maths::ArcTan^1 *** */
static FLOAT_RETURN_TYPE Math_ArcTan(SCRIPT_FLOAT(value)) {
  INIT_SCRIPT_FLOAT(value);

  value = ::atan(value);

  RETURN_FLOAT(value);
}
Exemple #13
0
/* *** SCRIPT SYMBOL: [Maths] Maths::Sin^1 *** */
static FLOAT_RETURN_TYPE Math_Sin(SCRIPT_FLOAT(value)) {
  INIT_SCRIPT_FLOAT(value);

  value = ::sin(value);

  RETURN_FLOAT(value);
}
Exemple #14
0
/* *** SCRIPT SYMBOL: [Maths] Maths::Cos^1 *** */
static FLOAT_RETURN_TYPE Math_Cos(SCRIPT_FLOAT(value)) {
  INIT_SCRIPT_FLOAT(value);

  value = ::cos(value);

  RETURN_FLOAT(value);
}
Exemple #15
0
/* *** SCRIPT SYMBOL: [Maths] Maths::Sinh^1 *** */
static FLOAT_RETURN_TYPE Math_Sinh(SCRIPT_FLOAT(num)) {
  INIT_SCRIPT_FLOAT(num);

  float value = ::sinh(num);

  RETURN_FLOAT(value);
}
Exemple #16
0
FLOAT_RETURN_TYPE Math_Sqrt(SCRIPT_FLOAT(value)) {
    INIT_SCRIPT_FLOAT(value);

    if (value < 0.0)
        quit("!Sqrt: cannot perform square root of negative number");

    value = ::sqrt(value);

    RETURN_FLOAT(value);
}