GXMATH class¶
- class GXMATH(handle=0)[source]¶
GXMATH class.
This is not a class. This is a collection of standard mathematical functions, including most of the common logarithmic and geometric functions.
- classmethod abs_double_(z)[source]¶
Calculate absolute value
- Parameters:
z (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod abs_int_(n)[source]¶
Calculate absolute value
- Parameters:
n (int) – Integer
- Returns:
Integer
- Return type:
int
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod and_(pi_val1, pi_val2)[source]¶
Return the unary operation result of A & B
Returns an integer number
If A or B is a dummy, returns dummy.
- Parameters:
pi_val1 (int) – A
pi_val2 (int) – B
- Return type:
int
New in version 6.3.
License: Geosoft Open License
- classmethod arc_cos_(val)[source]¶
Calculate the arccosine
- Parameters:
val (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values or values < -1 or > 1 return dummy
- classmethod arc_sin_(val)[source]¶
Calculate the arcsin
- Parameters:
val (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values or values < -1 or > 1 return dummy
- classmethod arc_tan2_(y, x)[source]¶
Calculate ArcTan(Y/X)
- Parameters:
y (float) – Y
x (float) – X
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: If either X or Y is a dummy, returns dummy
- classmethod arc_tan_(val)[source]¶
Calculate the arctan
- Parameters:
val (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod ceil_(z)[source]¶
Calculates the ceiling of the value
- Parameters:
z (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod cos_(val)[source]¶
Calculate the cosine
- Parameters:
val (float) – Angle in radians
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod cross_product_(x1, y1, z1, x2, y2, z2, x3, y3, z3)[source]¶
Cross product of two vectors.
- Parameters:
New in version 6.0.
License: Geosoft Open License
- classmethod dot_product_3d_(x1, y1, z1, x2, y2, z2)[source]¶
Compute Dot product of two vectors.
- Parameters:
x1 (float) – X1 component
y1 (float) – Y1 component
z1 (float) – Z1 component
x2 (float) – X2 component
y2 (float) – Y2 component
z2 (float) – Z2 component
- Returns:
Dot product
- Return type:
float
New in version 6.0.
License: Geosoft Open License
- classmethod exp_(val)[source]¶
Calculate e raised to the power of X
- Parameters:
val (float) – X
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod floor_(z)[source]¶
Calculates the floor of the value
- Parameters:
z (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod hypot_(x, y)[source]¶
sqrt(X*X + Y*Y)
- Parameters:
x (float) – X
y (float) – Y
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: If either X or Y is a dummy, the returned value is dummy
- is_null()[source]¶
Check if this is a null (undefined) instance
- Returns:
True if this is a null (undefined) instance, False otherwise.
- Return type:
bool
- classmethod lambda_trans_(z, lda)[source]¶
Performs lambda transform on a value.
- Parameters:
z (float) – Z Value
lda (float) – Lambda value
- Returns:
The lambda transformed value
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Returns 0 for input Z = 0. returns log10(Z) for lambda = 0. returns (Z^lambda - 1)/lambda for Z > 0. returns dummy for Z = dummy.
See also
- classmethod lambda_trans_rev_(z, lda)[source]¶
Performs a reverse lambda transform on a value.
- Parameters:
z (float) – Lambda transformed Z Value
lda (float) – Lambda value
- Returns:
The original non-lambda transformed value
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: See rLambdaTrans.
See also
- classmethod log10_(val)[source]¶
Calculate the base 10 log
- Parameters:
val (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod log_(val)[source]¶
Calculate the natural log
- Parameters:
val (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod log_z_(z, mode, min)[source]¶
Given a Z value and the Log style and Log Minimum this function will return the log value.
- Parameters:
z (float) – Z Value
mode (int) – Log Mode (0 - Log, 1 - LogLinearLog)
min (float) – Log Minimum (must be greater than 0)
- Returns:
The Log Value.
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Mode = 0 (regular log mode) returns:
Log10(Z) for Z > minimum Log10(minimum) for Z <= minimum
Mode = 1 (log / linear / negative log mode) returns:
minimum * ( log10( |Z| / minimum) + 1 ) for Z > minimum Z for |Z| <= minimum (the linear part of the range) -minimum * ( log10( |Z| / minimum) + 1 ) for Z < -minimum
See also
- classmethod mod_double_(a, b)[source]¶
Calculates the modulus of two reals (A mod B)
- Parameters:
a (float) – A
b (float) – B (must not be zero)
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: The modulus of A with respect to B is defined as the difference of A with the largest integral multiple of B smaller than or equal to A.
e.g. A mod B 20 mod 10 = 0 20 mod 9 = 2
f A or B is a dummy, returns dummy.
- classmethod mod_int_(a, b)[source]¶
Calculates the modulus of two integers
- Parameters:
a (int) – A
b (int) – B (must not be zero)
- Returns:
Int
- Return type:
int
New in version 6.0.1.
License: Geosoft Open License
Note: If A or B is a dummy, returns dummy.
- classmethod nicer_log_scale_(min, max, fine)[source]¶
Finds nicer min, max values for logarithmic plot scales.
- Parameters:
New in version 6.0.1.
License: Geosoft Open License
Note: Will fail if the input upper bound is less than the lower bound, but will work if the two values are equal. The input bounds are overwritten.
Input lower and upper bounds, returns “nicer” values. If the Fine flag is set to TRUE, the values will have the form N x 10^Y, where N is a value from 1 to 9, and 10^Y is an integral power of 10. If the Fine flag is set to FALSE, the scaling is coarse, and the bounding exact powers of 10 are returned. For example, the values (.034, 23) return (.03, 30) for fine scaling, and (0.01, 100) for coarse scaling.
- classmethod nicer_scale_(min, max, inc, pow)[source]¶
Compute a nicer scale for a given min and max.
- Parameters:
New in version 6.0.1.
License: Geosoft Open License
- classmethod normalise_3d_(x, y, z)[source]¶
Scale a vector to unit length.
- Parameters:
New in version 6.0.
License: Geosoft Open License
Note: Divides each component by the vector magnitude.
- classmethod or_(pi_val1, pi_val2)[source]¶
Return the unary operation result of A | B
Returns an integer number
If A or B is a dummy, returns dummy.
- Parameters:
pi_val1 (int) – A
pi_val2 (int) – B
- Return type:
int
New in version 6.3.
License: Geosoft Open License
- classmethod pow_(x, y)[source]¶
Calculate X raised to the power of Y
- Parameters:
x (float) – X
y (float) – Y
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: If either X or Y is a dummy, returns dummy
- classmethod rand_()[source]¶
Get a random number between 0 and 1
- Returns:
A real number
- Return type:
float
New in version 6.3.
License: Geosoft Open License
Note: Use
s_rand_
to seed the random number generator before a series of calls to this function are made. The standard “C” function rand() is called.
- classmethod rotate_vector_(x1, y1, z1, angle, x2, y2, z2, x3, y3, z3)[source]¶
Rotate a vector about an axis.
- Parameters:
x1 (float) – X1 component (vector to rotate)
y1 (float) – Y1 component
z1 (float) – Z1 component
angle (float) – Angle to rotate, CW in radians
x2 (float) – X2 component (axis of rotation)
y2 (float) – Y2 component
z2 (float) – Z2 component
x3 (float_ref) – X3 component (rotated vector, can
y3 (float_ref) – Y3 component be the same as input)
z3 (float_ref) – Z3 component
New in version 6.0.
License: Geosoft Open License
Note: Rotates a vector by the input angle around an arbitrary axis. Angles are measured clockwise looking along the axis (away from the origin). Assumes a right hand coordinate system.
- classmethod round_double_(z, n)[source]¶
Round to n significant digits
- Parameters:
z (float) – Real
n (int) – Number of significant digits to round to
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Negative values ending in 5XXX to n sig digits round down Positive values ending in 5XXX to n sig digits round up Dummy values return dummy
- classmethod round_int_(z)[source]¶
Round to the nearest whole number
- Parameters:
z (float) – Round
- Returns:
Integer
- Return type:
int
New in version 6.0.1.
License: Geosoft Open License
Note: Negative values with decimal parts larger than .5 round down (-1.5 -> 2.0) Positive values with decimal parts larger than .5 round up (1.5 -> 2.0) Dummy values return dummy
- classmethod s_rand_()[source]¶
Seed the random-number generator with current time
New in version 6.3.
License: Geosoft Open License
Note: Use the
rand_
function to create a random number between 0 and 1. The standard “C” function srand() is called.
- classmethod sign_(z_sign, z_val)[source]¶
Determine return value based on value of Z1
- Parameters:
z_sign (float) – Z1
z_val (float) – Z2
- Returns:
|Z2| if Z1 > 0, -|Z2| if Z1 < 0, 0 if Z1 = 0, and Z2 if Z1 = Dummy
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod sin_(val)[source]¶
Calculate the sin
- Parameters:
val (float) – Angle in radians
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod sqrt_(val)[source]¶
Calculate the square root
- Parameters:
val (float) – Real
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod tan_(val)[source]¶
Calculate the tangent
- Parameters:
val (float) – Angle in radians
- Returns:
Real
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: Dummy values return dummy
- classmethod un_log_z_(z, mode, min)[source]¶
Inverse of rLogZ
- Parameters:
z (float) – Log value
mode (int) – Log Mode (0 - Log, 1 - LogLinearLog)
min (float) – Log Minimum (must be greater than 0)
- Returns:
The original value
- Return type:
float
New in version 6.0.1.
License: Geosoft Open License
Note: See Notes for rLogZ.
See also
- classmethod xor_(pi_val1, pi_val2)[source]¶
Return the unary operation result of A ^ B
Returns an integer number
If A or B is a dummy, returns dummy.
- Parameters:
pi_val1 (int) – A
pi_val2 (int) – B
- Return type:
int
New in version 6.3.
License: Geosoft Open License