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
-
classmethod