VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Macros | Typedefs | Enumerations | Functions
JRMlibrary.h File Reference

Go to the source code of this file.

Classes

struct  JRMTIME
struct  iVEC_HV
struct  lVEC_HV
struct  dVEC_HV
struct  VECTOR
struct  rotmatrix
struct  VECTOR4
struct  MATRIX4
struct  COMPLEX
struct  jrmComplex
struct  CVECTOR
struct  CPHASOR
struct  Crotmatrix
struct  Cjonesmatrix
struct  quaternion
struct  EULERzyx
struct  Datapoint
struct  RGB
struct  BAND
struct  SPECTRAL_DOMAIN
struct  SPECTRUM
struct  DISTRIBUTION

Macros

#define jrmPrintf   fprintf
#define FUNC(x, R, L, intensity)   ((*func)(x, R, L, intensity))
#define FUNC_TWO(alpha, phi, r, R, L)   ((*func)(alpha, phi, r, R, L))

Typedefs

typedef double(* Function1D )(double x)
typedef double(* Function2D )(double x, double y)

Enumerations

enum  JRMLIBRARY_ERRORS {
  JRMLIBRARY_SUCCESS, JRMLIBRARY_FILE_NOT_FOUND, JRMLIBRARY_MEMORY_ALLOCATION_ERROR, JRMLIBRARY_FILE_FORMAT_ERROR,
  JRMLIBRARY_REGISTRATION_ERROR, JRMLIBRARY_FUNCTION_FAILURE, JRMLIBRARY_REGISTRATION_OUT_OF_ITEMS, JRMLIBRARY_ATTRIBWRITE_ERROR,
  JRMLIBRARY_ATTRIBUSER_ERROR
}
enum  jrmbool { FALSE = 0, TRUE = 1 }
enum  DISTRIB_TYPE {
  Cylinder, Cylinder_with_Plain_Mirror, Cylinder_with_Parab_Mirror, Ellipsoid,
  Ellipsoid_with_Plain_Mirror, Ellipsoid_with_Parab_Mirror, Associated_Legendre, Spherical_Bessel,
  Bessel, Linear_Array, Aperture_Illumination, Three_Lobe_Spec,
  WeddingCake, User_Defined
}

Functions

JRMLIBRARY_API const char * getJRMLibraryVersion ()
JRMLIBRARY_API int CharSubstitute (char *string, char bad, char good)
JRMLIBRARY_API void UpperCase (char *string)
JRMLIBRARY_API void LowerCase (char *string)
JRMLIBRARY_API int RidChar (char *string, char bad)
JRMLIBRARY_API jrmbool IsBlank (char *string)
JRMLIBRARY_API int FillBlanks (char *string)
JRMLIBRARY_API int UnFillBlanks (char *string)
JRMLIBRARY_API int GetNextLineFromFile (FILE *fptr, unsigned char *line, int ncharstotal, int ncharsstring)
JRMLIBRARY_API jrmbool StringMatch (char *a, char *b)
JRMLIBRARY_API int GetDoubleArrayFromScanline (char *scanline, double **c, int *nc)
JRMLIBRARY_API double hour_difference (JRMTIME time1, JRMTIME time2)
JRMLIBRARY_API JRMTIME add_hours (JRMTIME Timein, double hoursplus)
JRMLIBRARY_API int compare_times (JRMTIME time1, JRMTIME time2)
JRMLIBRARY_API JRMTIME MakeTime (long julian, double tod)
JRMLIBRARY_API long Gregorian2Julian (int year, int month, double day)
JRMLIBRARY_API int Julian2Gregorian (long julian, int *year, int *month, double *day)
JRMLIBRARY_API int Julian2DayOfYear (long julian)
JRMLIBRARY_API double xrand (double *DSEED)
JRMLIBRARY_API double local_random (long *idum)
JRMLIBRARY_API double gaussian (double mean, double sigma, long *idum)
JRMLIBRARY_API double gaussian2 (double mean, double sigma, long *idum)
JRMLIBRARY_API double one_over_f (double sigma, double mean, long *idum, long *init, long nbits, long *stage, double *rnd_num)
JRMLIBRARY_API double gammln (double xx)
JRMLIBRARY_API double poisdev (double xm, long *idum)
JRMLIBRARY_API double invf (double sigma, double mean, long *idum, long *init, long nbits, long *stage, double *rnd_num)
JRMLIBRARY_API double Crop (double x)
JRMLIBRARY_API double Croplohi (double x, double lo, double hi)
JRMLIBRARY_API double Wraplohi (double x, double lo, double hi)
JRMLIBRARY_API int iMax (int A, int B)
JRMLIBRARY_API int iMin (int A, int B)
JRMLIBRARY_API int imod (int A, int M)
JRMLIBRARY_API long lmin (long a, long b)
JRMLIBRARY_API long lmax (long a, long b)
JRMLIBRARY_API long lmod (long A, long M)
JRMLIBRARY_API double dmin (double x, double y)
JRMLIBRARY_API double dmax (double x, double y)
JRMLIBRARY_API int MinMaxCheck (double *lo, double *hi)
JRMLIBRARY_API int swap (double *x, double *y)
JRMLIBRARY_API int iswap (int *x, int *y)
JRMLIBRARY_API long lswap (long *x, long *y)
JRMLIBRARY_API float jrmfMin (float x, float y)
JRMLIBRARY_API float jrmfMax (float x, float y)
JRMLIBRARY_API jrmbool straddlesX (double a, double b, double X)
JRMLIBRARY_API iVEC_HV MakeIVecHV (int h, int v)
JRMLIBRARY_API lVEC_HV MakeLVecHV (long h, long v)
JRMLIBRARY_API dVEC_HV MakeDVecHV (double h, double v)
JRMLIBRARY_API VECTOR Makevec (double i, double j, double k)
JRMLIBRARY_API int NORMvec (VECTOR *v)
JRMLIBRARY_API int NORMvec_UNC (VECTOR v, VECTOR vu, VECTOR *nv, VECTOR *nvu)
JRMLIBRARY_API VECTOR scale_vec (VECTOR V, double scale)
JRMLIBRARY_API VECTOR Copyvec (VECTOR x)
JRMLIBRARY_API double vec_magnitude (VECTOR a)
JRMLIBRARY_API VECTOR vec_sum (VECTOR a, VECTOR b)
JRMLIBRARY_API VECTOR vec_dif (VECTOR a, VECTOR b)
JRMLIBRARY_API double dot_product (VECTOR a, VECTOR b)
JRMLIBRARY_API VECTOR cross_product (VECTOR a, VECTOR b)
JRMLIBRARY_API int GetVectorMeanStDev (VECTOR *V, long NV, VECTOR *mean, VECTOR *stdev)
JRMLIBRARY_API int ExtractAngles (VECTOR V, double *theta, double *phi)
JRMLIBRARY_API int ExtractAngles_UNC (VECTOR V, VECTOR VU, double *theta, double *thetau, double *phi, double *phiu)
JRMLIBRARY_API rotmatrix UNITMATRIX (void)
JRMLIBRARY_API int Rotate (rotmatrix M, VECTOR *X)
JRMLIBRARY_API rotmatrix Makerot (VECTOR row1, VECTOR row2, VECTOR row3)
JRMLIBRARY_API rotmatrix Addrot (rotmatrix A, rotmatrix B)
JRMLIBRARY_API rotmatrix Multrot (rotmatrix A, rotmatrix B)
JRMLIBRARY_API VECTOR VMultRot (rotmatrix M, VECTOR V)
JRMLIBRARY_API rotmatrix Transposerot (rotmatrix M)
JRMLIBRARY_API int Invertrot (rotmatrix *M)
JRMLIBRARY_API int InvertRot2 (rotmatrix *M)
JRMLIBRARY_API int Rotaterot (rotmatrix *A, rotmatrix M)
JRMLIBRARY_API rotmatrix MakeRotationMatrix (VECTOR Rotation)
JRMLIBRARY_API void RotateAboutVector (VECTOR *RotateMe, VECTOR Rotation)
JRMLIBRARY_API VECTOR VectorInSameSystem (VECTOR sysBx, VECTOR sysBy, VECTOR sysBz, VECTOR RinA)
JRMLIBRARY_API VECTOR VectorInDifferentSystem (VECTOR sysBx, VECTOR sysBy, VECTOR sysBz, VECTOR RinB)
JRMLIBRARY_API double CreateCoordSysAboutVector (VECTOR zhat, VECTOR *yhat, VECTOR *xhat)
JRMLIBRARY_API rotmatrix OuterProduct (VECTOR A, VECTOR B)
JRMLIBRARY_API void ScaleRotMatrix (rotmatrix *M, double scale)
JRMLIBRARY_API double Determinant3x3 (rotmatrix M)
JRMLIBRARY_API VECTOR4 Makevec4 (double x, double y, double z, double w)
JRMLIBRARY_API MATRIX4 Makemat4 (VECTOR4 row0, VECTOR4 row1, VECTOR4 row2, VECTOR4 row3)
JRMLIBRARY_API MATRIX4 Makemat4col (VECTOR4 col0, VECTOR4 col1, VECTOR4 col2, VECTOR4 col3)
JRMLIBRARY_API VECTOR4 Mat4Column (MATRIX4 M, int c)
JRMLIBRARY_API double dot_product4 (VECTOR4 A, VECTOR4 B)
JRMLIBRARY_API VECTOR4 MultMatVec4 (MATRIX4 M, VECTOR4 V)
JRMLIBRARY_API MATRIX4 MultMatMat4 (MATRIX4 A, MATRIX4 B)
JRMLIBRARY_API jrmComplex MakeComplex (double r, double i)
JRMLIBRARY_API jrmComplex MakeComplexAbsPhi (double z, double phi)
JRMLIBRARY_API jrmComplex SetComplex (jrmComplex x)
JRMLIBRARY_API double AbsComplex (jrmComplex x)
JRMLIBRARY_API double PhiComplex (jrmComplex x)
JRMLIBRARY_API double RealComplex (jrmComplex x)
JRMLIBRARY_API double ImagComplex (jrmComplex x)
JRMLIBRARY_API jrmComplex PowComplex (jrmComplex x, double exponent)
JRMLIBRARY_API jrmComplex MultComplex (jrmComplex x, jrmComplex y)
JRMLIBRARY_API jrmComplex AddComplex (jrmComplex x, jrmComplex y)
JRMLIBRARY_API jrmComplex SubtractComplex (jrmComplex x, jrmComplex y)
JRMLIBRARY_API jrmComplex ConjComplex (jrmComplex x)
JRMLIBRARY_API jrmComplex DivComplex (jrmComplex x, jrmComplex y)
JRMLIBRARY_API CVECTOR MakeCvec (jrmComplex i, jrmComplex j, jrmComplex k)
JRMLIBRARY_API Crotmatrix UNITCMATRIX (void)
JRMLIBRARY_API CVECTOR Convert2CVECTOR (VECTOR V)
JRMLIBRARY_API Crotmatrix Convert2Crotmatrix (rotmatrix M)
JRMLIBRARY_API CVECTOR scale_Cvec (CVECTOR V, jrmComplex C)
JRMLIBRARY_API Crotmatrix scale_Crot (Crotmatrix M, jrmComplex C)
JRMLIBRARY_API jrmComplex Cdot_product (CVECTOR A, CVECTOR B)
JRMLIBRARY_API jrmComplex Cvec_product (CVECTOR A, CVECTOR B)
JRMLIBRARY_API CVECTOR Cvec_sum (CVECTOR A, CVECTOR B)
JRMLIBRARY_API void CRotate (Crotmatrix M, CVECTOR *v)
JRMLIBRARY_API Crotmatrix CMultrot (Crotmatrix A, Crotmatrix B)
JRMLIBRARY_API int InvertCrot (Crotmatrix *M)
JRMLIBRARY_API CPHASOR MakeCphasor (jrmComplex h, jrmComplex v)
JRMLIBRARY_API double AbsCphasor (CPHASOR P)
JRMLIBRARY_API CPHASOR ScaleCphasor (CPHASOR P, jrmComplex s)
JRMLIBRARY_API Cjonesmatrix MakeCjones (jrmComplex hh, jrmComplex hv, jrmComplex vh, jrmComplex vv)
JRMLIBRARY_API Cjonesmatrix ScaleCjones (Cjonesmatrix S, jrmComplex s)
JRMLIBRARY_API Cjonesmatrix AddCjones (Cjonesmatrix A, Cjonesmatrix B)
JRMLIBRARY_API Cjonesmatrix NULLCJONES (void)
JRMLIBRARY_API quaternion MakeQuat (double x, double y, double z, double w)
JRMLIBRARY_API int Normquat (quaternion *q)
JRMLIBRARY_API rotmatrix quat2rot (quaternion q)
JRMLIBRARY_API quaternion rot2quat (rotmatrix M)
JRMLIBRARY_API int quat2axis (quaternion q, VECTOR *R, double *mag)
JRMLIBRARY_API quaternion axis2quat (VECTOR R, double mag)
JRMLIBRARY_API EULERzyx MakeEuler (double yaw, double pitch, double roll)
JRMLIBRARY_API rotmatrix Euler2RotMatrix (EULERzyx E)
JRMLIBRARY_API void Euler2Axis (EULERzyx E, VECTOR *R, double *mag)
JRMLIBRARY_API EULERzyx GetEulerParams (VECTOR xhat, VECTOR yhat, VECTOR zhat)
JRMLIBRARY_API EULERzyx RotMatrix2Euler (rotmatrix M)
JRMLIBRARY_API EULERzyx RotMatrix2Euler2 (rotmatrix M)
JRMLIBRARY_API EULERzyx GetEulerParams2 (VECTOR xhat, VECTOR yhat, VECTOR zhat)
JRMLIBRARY_API EULERzyx quat2Euler (quaternion q)
JRMLIBRARY_API EULERzyx GetRotationToHVFrameAtLOS (VECTOR LOS_FRD)
JRMLIBRARY_API VECTOR Fixed2Body (VECTOR R, EULERzyx E)
JRMLIBRARY_API VECTOR Body2Fixed (VECTOR R, EULERzyx E)
JRMLIBRARY_API quaternion Euler2QuatWKP (EULERzyx E)
JRMLIBRARY_API EULERzyx Quat2EulerWKP (quaternion q)
JRMLIBRARY_API void Fixed2Body_UNC (VECTOR R, VECTOR RU, EULERzyx E, EULERzyx EU, VECTOR *r, VECTOR *ru)
JRMLIBRARY_API EULERzyx GetRelativeOrientation (EULERzyx A, EULERzyx B)
JRMLIBRARY_API int AllocateDatapointArray (Datapoint **D, int ND)
JRMLIBRARY_API int AddDatapoint (Datapoint **D, int *ND, Datapoint toadd)
JRMLIBRARY_API void FreeDatapointArray (Datapoint **D, int *ND, jrmbool NULLIFYONLY)
JRMLIBRARY_API double InterpolateDatapointArray (double numin, Datapoint *D, int ND, jrmbool CYCLICAL, double xlo, double xhi)
JRMLIBRARY_API int CompareDatapointsOnX (void *AV, void *BV)
JRMLIBRARY_API int SortDatapointArrayOnX (int n, Datapoint *d)
JRMLIBRARY_API int CompareDatapointsOnY (void *AV, void *BV)
JRMLIBRARY_API int SortDatapointArrayOnY (int n, Datapoint *d)
JRMLIBRARY_API int Read2ColumnFileIntoDatapointArray (char *filename, Datapoint **d, int *nvalues, char *header)
JRMLIBRARY_API int ArrayConvertDatapoint (Datapoint *d, int nd, double *lambda, double *dest, int nlam)
JRMLIBRARY_API int ArrayConvertDatapointShift (Datapoint *d, int nd, double *lambda, double *dest, int nlam)
JRMLIBRARY_API int JRMLIBRARYAllocateIntArray (int **a, long nvals)
JRMLIBRARY_API int JRMLIBRARYFreeIntArray (int **a)
JRMLIBRARY_API int AllocateVectorArray (VECTOR **a, long nvals)
JRMLIBRARY_API int FreeVectorArray (VECTOR **a)
JRMLIBRARY_API int JRMLIBRARYAllocateDoubleArray (double **a, long nvals)
JRMLIBRARY_API int JRMLIBRARYFreeDoubleArray (double **a)
JRMLIBRARY_API int ConvertFloatsToDoubles (float *f, double *d, int n)
JRMLIBRARY_API int ConvertDoublesToFloats (float *f, double *d, int n)
JRMLIBRARY_API int FindIndexBound (long nlambda, double *lambda_array, double lambda_val)
JRMLIBRARY_API long GetIndex (double value, double *darray, long nvals, jrmbool xmid)
JRMLIBRARY_API long FloatGetIndex (float value, float *darray, long nvals, jrmbool xmid)
JRMLIBRARY_API double BinWidth (long nlambda, double *lambda, long index, double *lamlo, double *lamhi)
JRMLIBRARY_API double IntArray (long begin, long end, double *x, double *y)
JRMLIBRARY_API double AveArray (long begin, long end, double *x, double *y)
JRMLIBRARY_API double SimpleAveArray (long begin, long end, double *y)
JRMLIBRARY_API int ScaleArray (long n, double *y, double scalar)
JRMLIBRARY_API int CopyArray (long n, double *yin, double *yout, double scalar)
JRMLIBRARY_API void CopyIntArray (long n, int *yin, int *yout)
JRMLIBRARY_API int AddArrays (long n, double *yin1, double *yin2, double *yout)
JRMLIBRARY_API int MultiplyArrays (long n, double *yin1, double *yin2, double *yout)
JRMLIBRARY_API void ConjugateArray (jrmComplex *c, long n)
JRMLIBRARY_API int CompareDoubles (void *AV, void *BV)
JRMLIBRARY_API int ReverseArray (long n, double *x)
JRMLIBRARY_API int SortArray (long n, double *x)
JRMLIBRARY_API int ArrayConvert (double Factor, double *Sx, double *Sy, long Sn, double *Mx, double *My, long Mn)
JRMLIBRARY_API int ArrayConvertShift (double Factor, double *Sx, double *Sy, int Sn, double *Mx, double *My, int Mn)
JRMLIBRARY_API int ArrayConvertZero (double Factor, double *Sx, double *Sy, long Sn, double *Mx, double *My, long Mn)
JRMLIBRARY_API int InterpolatedArrayConvert (double Factor, double *Sx, double *Sy, long Sn, double *Mx, double *My, long Mn)
JRMLIBRARY_API int InterpolatedArrayConvertZero (double Factor, double *Sx, double *Sy, long Sn, double *Mx, double *My, long Mn)
JRMLIBRARY_API int FloatInterpolatedArrayConvert (float Factor, float *Sx, float *Sy, long Sn, float *Mx, float *My, long Mn)
JRMLIBRARY_API double FluxIntegral (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API double FluxIntegralShift (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API double FluxIntegralZero (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API double InterpolatedFluxIntegral (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API double InterpolatedFluxIntegralZero (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API float FloatInterpolatedFluxIntegral (float Factor, float Slo, float Shi, float *Mx, float *My, int Mn)
JRMLIBRARY_API double ExpInterpFluxIntegral (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API double ExpInterpFluxIntegralZero (double Factor, double Slo, double Shi, double *Mx, double *My, int Mn)
JRMLIBRARY_API int FloatArrayConvert (float Factor, float *Sx, float *Sy, int Sn, float *Mx, float *My, int Mn)
JRMLIBRARY_API float FloatFluxIntegral (float Factor, float Slo, float Shi, float *Mx, float *My, int Mn)
JRMLIBRARY_API int FloatArrayConvertShift (float Factor, float *Sx, float *Sy, int Sn, float *Mx, float *My, int Mn)
JRMLIBRARY_API float FloatFluxIntegralShift (float Factor, float Slo, float Shi, float *Mx, float *My, int Mn)
JRMLIBRARY_API jrmbool IsUniqueInt (int *element, int nelements, int thisint)
JRMLIBRARY_API jrmbool IsInList (int *element, int nelements, int thisint)
JRMLIBRARY_API jrmbool IsUniqueDouble (double *element, int nelements, double thisdbl, double thresh)
JRMLIBRARY_API double StraightLine (double x, double slope, double intercept)
JRMLIBRARY_API int ZeroCubic (double b, double c, double d, jrmComplex *x)
JRMLIBRARY_API int ZeroQuart (double a, double b, double c, double d, jrmComplex *x)
JRMLIBRARY_API int ZeroQuart2 (double a, double b, double c, double d, jrmComplex *x)
JRMLIBRARY_API double sign (double x)
JRMLIBRARY_API double signpm1 (double x)
JRMLIBRARY_API double angle_between_vectors (VECTOR A, VECTOR B)
JRMLIBRARY_API double ACOS (double mu)
JRMLIBRARY_API int roundtoint (double x)
JRMLIBRARY_API int nearesthigherpowerofN (int x, int N)
JRMLIBRARY_API double ratio2decibel (double ratio)
JRMLIBRARY_API double decibel2ratio (double dB)
JRMLIBRARY_API jrmComplex Cratio2decibel (jrmComplex ratio)
JRMLIBRARY_API jrmComplex Cdecibel2ratio (jrmComplex dB)
JRMLIBRARY_API jrmComplex Polynomial (jrmComplex *F, int N, jrmComplex X)
JRMLIBRARY_API double PolynomialD (double *F, int N, double X)
JRMLIBRARY_API double LegendrePolynomial (int L, double theta)
JRMLIBRARY_API double LegendreSeries (int N, double *coef, double theta)
JRMLIBRARY_API double LegendreSeriesIntegral (double theta1rad, double theta2rad, double *coef, int N)
JRMLIBRARY_API int FindLegendreCoefficients1D (Function1D functiontofit, double **A, int ncoefs, double dx)
JRMLIBRARY_API int FindLegendreCoefficients2D (Function2D functiontofit, double **A, int ncoefs, double dx, double constant)
JRMLIBRARY_API long long factorial (long n)
JRMLIBRARY_API long long double_factorial (long n)
JRMLIBRARY_API double Sigmoid (double x, double x0, double b)
JRMLIBRARY_API double ThetaFunction (double x)
JRMLIBRARY_API long long GammaFunction (long n)
JRMLIBRARY_API double BetaFunction (long a, long b)
JRMLIBRARY_API double HyperGeometricFunction (double alpha, double beta, double gamma, double z, long Nterms)
JRMLIBRARY_API double Bessel_Function (int l, double x)
JRMLIBRARY_API double BesselSeries (int N, double *coef, double theta)
JRMLIBRARY_API double Spherical_Bessel_Function (int l, double x)
JRMLIBRARY_API double SphericalBesselSeries (int N, double *coef, double theta)
JRMLIBRARY_API double ErrorFunction (int N, double x)
JRMLIBRARY_API double StirlingFirst (int n, int k)
JRMLIBRARY_API double LambertW0Function (double x)
JRMLIBRARY_API double LambertWm1Function (double x)
JRMLIBRARY_API double ExponentialIntegral1 (int N, double x)
JRMLIBRARY_API double ExponentialIntegralDifference1 (int N, double x, double y, double multiplier)
JRMLIBRARY_API int NumQNIndices (int maxl)
JRMLIBRARY_API int QNIndex (int l, int m)
JRMLIBRARY_API long DQNIndex (int linc, int minc, int lout, int mout, int maxl)
JRMLIBRARY_API void AssociatedLegendrePolynomialArray (int maxl, double *ALP, double costheta)
JRMLIBRARY_API int SphericalHarmonicArray (int maxl, jrmComplex *SHA, VECTOR u)
JRMLIBRARY_API jrmComplex EvaluateSphericalHarmonicExpansion (int maxl, jrmComplex *SHC, VECTOR u)
JRMLIBRARY_API double MC_Integral_1D (long nMC, double a, double b, Function1D FunctionToIntegrate, Function1D Density, Function1D DensityIntegral, Function1D InverseDensityIntegral)
JRMLIBRARY_API int Roots (jrmComplex(*func)(jrmComplex *, int, jrmComplex), jrmComplex *F, int NIN, double EPS, int nsig, int KN, int NGUESS, int N, jrmComplex *X, int ITMAX, int *INFER, int *IER)
JRMLIBRARY_API int SortSpectra (long n, double *x, double *y)
JRMLIBRARY_API double AngleDifference (double angle1_deg, double angle2_deg)
JRMLIBRARY_API double OrderedAngleDifference (double angletest_deg, double angleref_deg)
JRMLIBRARY_API jrmbool CompareAngles (double angle1_deg, double angle2_deg, double angletol_deg)
JRMLIBRARY_API float FloatInterpolate (float numin, float *index, float *values, int n)
JRMLIBRARY_API double Interpolate (double numin, double *index, double *values, int n)
JRMLIBRARY_API double SortInterpolate (double numin, double *index, double *values, int n)
JRMLIBRARY_API double AngleInterpolate (double numin, double *index, double *values, int n, jrmbool DEGREES)
JRMLIBRARY_API void spline (double *x, double *y, long n, double yp0, double ypnm1, double *yp2)
JRMLIBRARY_API void splint (double *xa, double *ya, double *yp2a, long n, double x, double *y)
JRMLIBRARY_API double determinant (double *array, int norder)
JRMLIBRARY_API int PolyFit (double *x, double *y, double *sigmay, jrmbool *active, long npts, int nterms, int mode, double *a, double *chisqr)
JRMLIBRARY_API int LinearFit (double *x, double *y, long n, double *C0, double *slope)
JRMLIBRARY_API int ExponentialFit (double *x, double *y, long n, double *C0, double *xref)
JRMLIBRARY_API int GaussianFit (double *x, double *y, long n, double *C0, double *xref)
JRMLIBRARY_API int ParabolicFit (double *x, double *y, long n, double *C0, double *xref)
JRMLIBRARY_API int RemoveDoubleFromArray (double **d, long *nd, long index)
JRMLIBRARY_API void RemoveDuplicateDomainEntries (long *nin, double **xin, double **yin)
JRMLIBRARY_API int ArrayInterpolate (long nin, double *xin, double *yin, long nout, double *xout, double *yout)
JRMLIBRARY_API int SmoothArray (long N, double *x, double *y, double xspan, double varlimit)
JRMLIBRARY_API void SmoothArrayKernel (long N, float *x, float *y, float fwhm, jrmbool TRIANGLE)
JRMLIBRARY_API int SmoothArraySpline (long N, double *x, double *y)
JRMLIBRARY_API double SpectralPointConvert (double x)
JRMLIBRARY_API int SpectralDomainConvert (double ax, double bx, long nbins, double *wave)
JRMLIBRARY_API int IntegratedSpectralRangeConvert (double ax1, double bx1, long nbins1, double *range1, long nbins2, double *range2)
JRMLIBRARY_API int InterpolatedSpectralRangeConvert (double ax1, double bx1, long nbins1, double *range1, long nbins2, double *range2)
JRMLIBRARY_API double VarianceAboutLine (long npoints, double *x, double *y, double xtosample, double samplespan, double *slope, double *intercept)
int CompareDatapoints (void *AV, void *BV)
JRMLIBRARY_API double sinc (double x)
JRMLIBRARY_API double atan_hyperbolic (double x)
JRMLIBRARY_API long double ldpower (double x, long n)
JRMLIBRARY_API double power (double x, long n)
JRMLIBRARY_API double FOV_SR (double v, double h)
JRMLIBRARY_API jrmbool IsOdd (long n)
JRMLIBRARY_API void AdvanceBinary (int *binaryint, int n)
JRMLIBRARY_API int BinaryToDecimal (int *binaryint, int n)
JRMLIBRARY_API void DecimalToBinary (int *binaryint, int n, int decimal)
JRMLIBRARY_API void AdvanceBaseN (int *basenint, int n, int Base)
JRMLIBRARY_API int BaseNToDecimal (int *basenint, int n, int Base)
JRMLIBRARY_API void AdvanceBaseX (int *basexint, int n, int *Base)
JRMLIBRARY_API int BaseXToDecimal (int *basexint, int n, int *Base)
JRMLIBRARY_API double RatioOfDoubleFactorials (long n)
JRMLIBRARY_API VECTOR GenerateRandomDirectionInLobe (VECTOR normal, VECTOR mirror, int shiny, double *DSEED, int coefdef)
JRMLIBRARY_API double LobeDensity (VECTOR normal, int shiny, VECTOR mirror, VECTOR view, int coefdef)
JRMLIBRARY_API double LobeIntegral (VECTOR normal, VECTOR mirror, int shiny, int coefdef)
JRMLIBRARY_API double LobeIntegral2 (double thetarad, double n)
JRMLIBRARY_API int GetLobeRay (VECTOR normal, VECTOR mirror, VECTOR *view, double *DSEED, double *weight, int shiny, int coefdef)
JRMLIBRARY_API double LobeFunctionToIntegrate (VECTOR normal, VECTOR mirror, VECTOR view, int shiny, int coefdef)
JRMLIBRARY_API double HorizonIntegral (double dropcoef)
JRMLIBRARY_API double InverseHorizonIntegral (double dropcoef, double integral)
JRMLIBRARY_API double HorizonDensity (VECTOR view, double dropcoef)
JRMLIBRARY_API VECTOR GenerateRandomDirectionAboveHorizon (double dropcoef, double *DSEED)
JRMLIBRARY_API void GetHorizonRay (double dropcoef, VECTOR *view, double *weight, double *DSEED)
JRMLIBRARY_API double HorizonFunctionToIntegrate (VECTOR view, double dropcoef)
JRMLIBRARY_API int ludcmp (double *a, int n, int *indx, int *d)
JRMLIBRARY_API int lubksb (double *a, int n, int *indx, double *b)
JRMLIBRARY_API int SolveLinearMatrixEquation (double *a, double *b, int n)
JRMLIBRARY_API int MatrixInverse (int n, double *a, double *y)
JRMLIBRARY_API int MatrixInverseRectangular (int M, int N, double *a, double *y)
JRMLIBRARY_API int GaussSeidel (double *a, double *b, int n, double errtol)
JRMLIBRARY_API int jacobi (double *m, int n, double *d, double *v)
JRMLIBRARY_API void eigsrt (double *d, double *v, int n)
JRMLIBRARY_API int BubbleOrderMapVector (double *vector, int nelements, int *ordermap)
JRMLIBRARY_API int FindNDBasisAboutVector (double *vector, int naxes, double *basis)
JRMLIBRARY_API int NMatrixMult (double *matrixL, double *matrixR, int n, jrmbool LEFT)
JRMLIBRARY_API int NMatrixRotate (double *matrix, double *newaxes, int n)
JRMLIBRARY_API void TestMemoryFunction ()
JRMLIBRARY_API int debugPrintf (const char *control,...)
JRMLIBRARY_API char * getDataDir ()
JRMLIBRARY_API char * getCacheDir ()
JRMLIBRARY_API jrmbool fileExists (const char *fileName)
JRMLIBRARY_API BAND GetWaveband (SPECTRAL_DOMAIN spectrum)
JRMLIBRARY_API BAND GetWavebin (SPECTRAL_DOMAIN spectrum, long l)
JRMLIBRARY_API int SmoothSpectrum (double MaxVar, double VarSpan, SPECTRAL_DOMAIN xin, double *yin, double *yout, double ax, double bx)
JRMLIBRARY_API double BandResponseFactor (double ax, double bx, SPECTRUM response)
double LinearArray (int nelements, double theta, double d, double lambda)
double ApertureIllumination (double *coef, double theta, double lambda)
double FTconst (double d, double x)
double FTcosnpizo2 (double d, double x, int n)
double FTroot1_z2 (double d, double x)
double FTabs (double d, double x)
double ThreeLobeSpec (double mainwidth, double sidewidth, double sideangle, double sidegain, double theta)
double WeddingCakeRectangular (double *coef, double theta)
double WeddingCakeRadial (double *coef, double theta)
double GaussianRadial (double beamwidth, double theta)
JRMLIBRARY_API double Distribution (DISTRIBUTION dist, double theta, double phi, double lambda)
JRMLIBRARY_API double SincGain (double theta, double width)
JRMLIBRARY_API Crotmatrix CRootGain (double hangle, double hwidth, double vangle, double vwidth)

Macro Definition Documentation

#define jrmPrintf   fprintf
#define FUNC (   x,
  R,
  L,
  intensity 
)    ((*func)(x, R, L, intensity))
#define FUNC_TWO (   alpha,
  phi,
  r,
  R,
 
)    ((*func)(alpha, phi, r, R, L))

Typedef Documentation

typedef double(* Function1D)(double x)
typedef double(* Function2D)(double x, double y)

Enumeration Type Documentation

Enumerator:
JRMLIBRARY_SUCCESS 
JRMLIBRARY_FILE_NOT_FOUND 
JRMLIBRARY_MEMORY_ALLOCATION_ERROR 
JRMLIBRARY_FILE_FORMAT_ERROR 
JRMLIBRARY_REGISTRATION_ERROR 
JRMLIBRARY_FUNCTION_FAILURE 
JRMLIBRARY_REGISTRATION_OUT_OF_ITEMS 
JRMLIBRARY_ATTRIBWRITE_ERROR 
JRMLIBRARY_ATTRIBUSER_ERROR 
enum jrmbool
Enumerator:
FALSE 
TRUE 
Enumerator:
Cylinder 
Cylinder_with_Plain_Mirror 
Cylinder_with_Parab_Mirror 
Ellipsoid 
Ellipsoid_with_Plain_Mirror 
Ellipsoid_with_Parab_Mirror 
Associated_Legendre 
Spherical_Bessel 
Bessel 
Linear_Array 
Aperture_Illumination 
Three_Lobe_Spec 
WeddingCake 
User_Defined 

Function Documentation

JRMLIBRARY_API const char* getJRMLibraryVersion ( )
JRMLIBRARY_API int CharSubstitute ( char *  string,
char  bad,
char  good 
)
JRMLIBRARY_API void UpperCase ( char *  string)
JRMLIBRARY_API void LowerCase ( char *  string)
JRMLIBRARY_API int RidChar ( char *  string,
char  bad 
)
JRMLIBRARY_API jrmbool IsBlank ( char *  string)
JRMLIBRARY_API int FillBlanks ( char *  string)
JRMLIBRARY_API int UnFillBlanks ( char *  string)
JRMLIBRARY_API int GetNextLineFromFile ( FILE *  fptr,
unsigned char *  line,
int  ncharstotal,
int  ncharsstring 
)
JRMLIBRARY_API jrmbool StringMatch ( char *  a,
char *  b 
)
JRMLIBRARY_API int GetDoubleArrayFromScanline ( char *  scanline,
double **  c,
int nc 
)
JRMLIBRARY_API double hour_difference ( JRMTIME  time1,
JRMTIME  time2 
)
JRMLIBRARY_API JRMTIME add_hours ( JRMTIME  Timein,
double  hoursplus 
)
JRMLIBRARY_API int compare_times ( JRMTIME  time1,
JRMTIME  time2 
)
JRMLIBRARY_API JRMTIME MakeTime ( long  julian,
double  tod 
)
JRMLIBRARY_API long Gregorian2Julian ( int  year,
int  month,
double  day 
)
JRMLIBRARY_API int Julian2Gregorian ( long  julian,
int year,
int month,
double *  day 
)
JRMLIBRARY_API int Julian2DayOfYear ( long  julian)
JRMLIBRARY_API double xrand ( double *  DSEED)
JRMLIBRARY_API double local_random ( long *  idum)
JRMLIBRARY_API double gaussian ( double  mean,
double  sigma,
long *  idum 
)
JRMLIBRARY_API double gaussian2 ( double  mean,
double  sigma,
long *  idum 
)
JRMLIBRARY_API double one_over_f ( double  sigma,
double  mean,
long *  idum,
long *  init,
long  nbits,
long *  stage,
double *  rnd_num 
)
JRMLIBRARY_API double gammln ( double  xx)
JRMLIBRARY_API double poisdev ( double  xm,
long *  idum 
)
JRMLIBRARY_API double invf ( double  sigma,
double  mean,
long *  idum,
long *  init,
long  nbits,
long *  stage,
double *  rnd_num 
)
JRMLIBRARY_API double Crop ( double  x)
JRMLIBRARY_API double Croplohi ( double  x,
double  lo,
double  hi 
)
JRMLIBRARY_API double Wraplohi ( double  x,
double  lo,
double  hi 
)
JRMLIBRARY_API int iMax ( int  A,
int  B 
)
JRMLIBRARY_API int iMin ( int  A,
int  B 
)
JRMLIBRARY_API int imod ( int  A,
int  M 
)
JRMLIBRARY_API long lmin ( long  a,
long  b 
)
JRMLIBRARY_API long lmax ( long  a,
long  b 
)
JRMLIBRARY_API long lmod ( long  A,
long  M 
)
JRMLIBRARY_API double dmin ( double  x,
double  y 
)
JRMLIBRARY_API double dmax ( double  x,
double  y 
)
JRMLIBRARY_API int MinMaxCheck ( double *  lo,
double *  hi 
)
JRMLIBRARY_API int swap ( double *  x,
double *  y 
)
JRMLIBRARY_API int iswap ( int x,
int y 
)
JRMLIBRARY_API long lswap ( long *  x,
long *  y 
)
JRMLIBRARY_API float jrmfMin ( float  x,
float  y 
)
JRMLIBRARY_API float jrmfMax ( float  x,
float  y 
)
JRMLIBRARY_API jrmbool straddlesX ( double  a,
double  b,
double  X 
)
JRMLIBRARY_API iVEC_HV MakeIVecHV ( int  h,
int  v 
)
JRMLIBRARY_API lVEC_HV MakeLVecHV ( long  h,
long  v 
)
JRMLIBRARY_API dVEC_HV MakeDVecHV ( double  h,
double  v 
)
JRMLIBRARY_API VECTOR Makevec ( double  i,
double  j,
double  k 
)
JRMLIBRARY_API int NORMvec ( VECTOR v)
JRMLIBRARY_API int NORMvec_UNC ( VECTOR  v,
VECTOR  vu,
VECTOR nv,
VECTOR nvu 
)
JRMLIBRARY_API VECTOR scale_vec ( VECTOR  V,
double  scale 
)
JRMLIBRARY_API VECTOR Copyvec ( VECTOR  x)
JRMLIBRARY_API double vec_magnitude ( VECTOR  a)
JRMLIBRARY_API VECTOR vec_sum ( VECTOR  a,
VECTOR  b 
)
JRMLIBRARY_API VECTOR vec_dif ( VECTOR  a,
VECTOR  b 
)
JRMLIBRARY_API double dot_product ( VECTOR  a,
VECTOR  b 
)
JRMLIBRARY_API VECTOR cross_product ( VECTOR  a,
VECTOR  b 
)
JRMLIBRARY_API int GetVectorMeanStDev ( VECTOR V,
long  NV,
VECTOR mean,
VECTOR stdev 
)
JRMLIBRARY_API int ExtractAngles ( VECTOR  V,
double *  theta,
double *  phi 
)
JRMLIBRARY_API int ExtractAngles_UNC ( VECTOR  V,
VECTOR  VU,
double *  theta,
double *  thetau,
double *  phi,
double *  phiu 
)
JRMLIBRARY_API rotmatrix UNITMATRIX ( void  )
JRMLIBRARY_API int Rotate ( rotmatrix  M,
VECTOR X 
)
JRMLIBRARY_API rotmatrix Makerot ( VECTOR  row1,
VECTOR  row2,
VECTOR  row3 
)
JRMLIBRARY_API rotmatrix Multrot ( rotmatrix  A,
rotmatrix  B 
)
JRMLIBRARY_API VECTOR VMultRot ( rotmatrix  M,
VECTOR  V 
)
JRMLIBRARY_API rotmatrix Transposerot ( rotmatrix  M)
JRMLIBRARY_API int Invertrot ( rotmatrix M)
JRMLIBRARY_API int InvertRot2 ( rotmatrix M)
JRMLIBRARY_API int Rotaterot ( rotmatrix A,
rotmatrix  M 
)
JRMLIBRARY_API rotmatrix MakeRotationMatrix ( VECTOR  Rotation)
JRMLIBRARY_API void RotateAboutVector ( VECTOR RotateMe,
VECTOR  Rotation 
)
JRMLIBRARY_API VECTOR VectorInSameSystem ( VECTOR  sysBx,
VECTOR  sysBy,
VECTOR  sysBz,
VECTOR  RinA 
)
JRMLIBRARY_API VECTOR VectorInDifferentSystem ( VECTOR  sysBx,
VECTOR  sysBy,
VECTOR  sysBz,
VECTOR  RinB 
)
JRMLIBRARY_API double CreateCoordSysAboutVector ( VECTOR  zhat,
VECTOR yhat,
VECTOR xhat 
)
JRMLIBRARY_API rotmatrix OuterProduct ( VECTOR  A,
VECTOR  B 
)
JRMLIBRARY_API void ScaleRotMatrix ( rotmatrix M,
double  scale 
)
JRMLIBRARY_API double Determinant3x3 ( rotmatrix  M)
JRMLIBRARY_API VECTOR4 Makevec4 ( double  x,
double  y,
double  z,
double  w 
)
JRMLIBRARY_API MATRIX4 Makemat4 ( VECTOR4  row0,
VECTOR4  row1,
VECTOR4  row2,
VECTOR4  row3 
)
JRMLIBRARY_API MATRIX4 Makemat4col ( VECTOR4  col0,
VECTOR4  col1,
VECTOR4  col2,
VECTOR4  col3 
)
JRMLIBRARY_API VECTOR4 Mat4Column ( MATRIX4  M,
int  c 
)
JRMLIBRARY_API double dot_product4 ( VECTOR4  A,
VECTOR4  B 
)
JRMLIBRARY_API VECTOR4 MultMatVec4 ( MATRIX4  M,
VECTOR4  V 
)
JRMLIBRARY_API MATRIX4 MultMatMat4 ( MATRIX4  A,
MATRIX4  B 
)
JRMLIBRARY_API jrmComplex MakeComplex ( double  r,
double  i 
)
JRMLIBRARY_API jrmComplex MakeComplexAbsPhi ( double  z,
double  phi 
)
JRMLIBRARY_API double AbsComplex ( jrmComplex  x)
JRMLIBRARY_API double PhiComplex ( jrmComplex  x)
JRMLIBRARY_API double RealComplex ( jrmComplex  x)
JRMLIBRARY_API double ImagComplex ( jrmComplex  x)
JRMLIBRARY_API jrmComplex PowComplex ( jrmComplex  x,
double  exponent 
)
JRMLIBRARY_API jrmComplex MultComplex ( jrmComplex  x,
jrmComplex  y 
)
JRMLIBRARY_API jrmComplex AddComplex ( jrmComplex  x,
jrmComplex  y 
)
JRMLIBRARY_API jrmComplex SubtractComplex ( jrmComplex  x,
jrmComplex  y 
)
JRMLIBRARY_API jrmComplex ConjComplex ( jrmComplex  x)
JRMLIBRARY_API jrmComplex DivComplex ( jrmComplex  x,
jrmComplex  y 
)
JRMLIBRARY_API CVECTOR MakeCvec ( jrmComplex  i,
jrmComplex  j,
jrmComplex  k 
)
JRMLIBRARY_API Crotmatrix UNITCMATRIX ( void  )
JRMLIBRARY_API CVECTOR Convert2CVECTOR ( VECTOR  V)
JRMLIBRARY_API Crotmatrix Convert2Crotmatrix ( rotmatrix  M)
JRMLIBRARY_API CVECTOR scale_Cvec ( CVECTOR  V,
jrmComplex  C 
)
JRMLIBRARY_API Crotmatrix scale_Crot ( Crotmatrix  M,
jrmComplex  C 
)
JRMLIBRARY_API jrmComplex Cdot_product ( CVECTOR  A,
CVECTOR  B 
)
JRMLIBRARY_API jrmComplex Cvec_product ( CVECTOR  A,
CVECTOR  B 
)
JRMLIBRARY_API CVECTOR Cvec_sum ( CVECTOR  A,
CVECTOR  B 
)
JRMLIBRARY_API void CRotate ( Crotmatrix  M,
CVECTOR v 
)
JRMLIBRARY_API int InvertCrot ( Crotmatrix M)
JRMLIBRARY_API CPHASOR MakeCphasor ( jrmComplex  h,
jrmComplex  v 
)
JRMLIBRARY_API double AbsCphasor ( CPHASOR  P)
JRMLIBRARY_API CPHASOR ScaleCphasor ( CPHASOR  P,
jrmComplex  s 
)
JRMLIBRARY_API Cjonesmatrix MakeCjones ( jrmComplex  hh,
jrmComplex  hv,
jrmComplex  vh,
jrmComplex  vv 
)
JRMLIBRARY_API Cjonesmatrix ScaleCjones ( Cjonesmatrix  S,
jrmComplex  s 
)
JRMLIBRARY_API Cjonesmatrix NULLCJONES ( void  )
JRMLIBRARY_API quaternion MakeQuat ( double  x,
double  y,
double  z,
double  w 
)
JRMLIBRARY_API int Normquat ( quaternion q)
JRMLIBRARY_API int quat2axis ( quaternion  q,
VECTOR R,
double *  mag 
)
JRMLIBRARY_API quaternion axis2quat ( VECTOR  R,
double  mag 
)
JRMLIBRARY_API EULERzyx MakeEuler ( double  yaw,
double  pitch,
double  roll 
)
JRMLIBRARY_API rotmatrix Euler2RotMatrix ( EULERzyx  E)
JRMLIBRARY_API void Euler2Axis ( EULERzyx  E,
VECTOR R,
double *  mag 
)
JRMLIBRARY_API EULERzyx GetEulerParams ( VECTOR  xhat,
VECTOR  yhat,
VECTOR  zhat 
)
JRMLIBRARY_API EULERzyx RotMatrix2Euler ( rotmatrix  M)
JRMLIBRARY_API EULERzyx RotMatrix2Euler2 ( rotmatrix  M)
JRMLIBRARY_API EULERzyx GetEulerParams2 ( VECTOR  xhat,
VECTOR  yhat,
VECTOR  zhat 
)
JRMLIBRARY_API EULERzyx quat2Euler ( quaternion  q)
JRMLIBRARY_API EULERzyx GetRotationToHVFrameAtLOS ( VECTOR  LOS_FRD)
JRMLIBRARY_API VECTOR Fixed2Body ( VECTOR  R,
EULERzyx  E 
)
JRMLIBRARY_API VECTOR Body2Fixed ( VECTOR  R,
EULERzyx  E 
)
JRMLIBRARY_API quaternion Euler2QuatWKP ( EULERzyx  E)
JRMLIBRARY_API EULERzyx Quat2EulerWKP ( quaternion  q)
JRMLIBRARY_API void Fixed2Body_UNC ( VECTOR  R,
VECTOR  RU,
EULERzyx  E,
EULERzyx  EU,
VECTOR r,
VECTOR ru 
)
JRMLIBRARY_API EULERzyx GetRelativeOrientation ( EULERzyx  A,
EULERzyx  B 
)
JRMLIBRARY_API int AllocateDatapointArray ( Datapoint **  D,
int  ND 
)
JRMLIBRARY_API int AddDatapoint ( Datapoint **  D,
int ND,
Datapoint  toadd 
)
JRMLIBRARY_API void FreeDatapointArray ( Datapoint **  D,
int ND,
jrmbool  NULLIFYONLY 
)
JRMLIBRARY_API double InterpolateDatapointArray ( double  numin,
Datapoint D,
int  ND,
jrmbool  CYCLICAL,
double  xlo,
double  xhi 
)
JRMLIBRARY_API int CompareDatapointsOnX ( void AV,
void BV 
)
JRMLIBRARY_API int SortDatapointArrayOnX ( int  n,
Datapoint d 
)
JRMLIBRARY_API int CompareDatapointsOnY ( void AV,
void BV 
)
JRMLIBRARY_API int SortDatapointArrayOnY ( int  n,
Datapoint d 
)
JRMLIBRARY_API int Read2ColumnFileIntoDatapointArray ( char *  filename,
Datapoint **  d,
int nvalues,
char *  header 
)
JRMLIBRARY_API int ArrayConvertDatapoint ( Datapoint d,
int  nd,
double *  lambda,
double *  dest,
int  nlam 
)
JRMLIBRARY_API int ArrayConvertDatapointShift ( Datapoint d,
int  nd,
double *  lambda,
double *  dest,
int  nlam 
)
JRMLIBRARY_API int JRMLIBRARYAllocateIntArray ( int **  a,
long  nvals 
)
JRMLIBRARY_API int JRMLIBRARYFreeIntArray ( int **  a)
JRMLIBRARY_API int AllocateVectorArray ( VECTOR **  a,
long  nvals 
)
JRMLIBRARY_API int FreeVectorArray ( VECTOR **  a)
JRMLIBRARY_API int JRMLIBRARYAllocateDoubleArray ( double **  a,
long  nvals 
)
JRMLIBRARY_API int JRMLIBRARYFreeDoubleArray ( double **  a)
JRMLIBRARY_API int ConvertFloatsToDoubles ( float *  f,
double *  d,
int  n 
)
JRMLIBRARY_API int ConvertDoublesToFloats ( float *  f,
double *  d,
int  n 
)
JRMLIBRARY_API int FindIndexBound ( long  nlambda,
double *  lambda_array,
double  lambda_val 
)
JRMLIBRARY_API long GetIndex ( double  value,
double *  darray,
long  nvals,
jrmbool  xmid 
)
JRMLIBRARY_API long FloatGetIndex ( float  value,
float *  darray,
long  nvals,
jrmbool  xmid 
)
JRMLIBRARY_API double BinWidth ( long  nlambda,
double *  lambda,
long  index,
double *  lamlo,
double *  lamhi 
)
JRMLIBRARY_API double IntArray ( long  begin,
long  end,
double *  x,
double *  y 
)
JRMLIBRARY_API double AveArray ( long  begin,
long  end,
double *  x,
double *  y 
)
JRMLIBRARY_API double SimpleAveArray ( long  begin,
long  end,
double *  y 
)
JRMLIBRARY_API int ScaleArray ( long  n,
double *  y,
double  scalar 
)
JRMLIBRARY_API int CopyArray ( long  n,
double *  yin,
double *  yout,
double  scalar 
)
JRMLIBRARY_API void CopyIntArray ( long  n,
int yin,
int yout 
)
JRMLIBRARY_API int AddArrays ( long  n,
double *  yin1,
double *  yin2,
double *  yout 
)
JRMLIBRARY_API int MultiplyArrays ( long  n,
double *  yin1,
double *  yin2,
double *  yout 
)
JRMLIBRARY_API void ConjugateArray ( jrmComplex c,
long  n 
)
JRMLIBRARY_API int CompareDoubles ( void AV,
void BV 
)
JRMLIBRARY_API int ReverseArray ( long  n,
double *  x 
)
JRMLIBRARY_API int SortArray ( long  n,
double *  x 
)
JRMLIBRARY_API int ArrayConvert ( double  Factor,
double *  Sx,
double *  Sy,
long  Sn,
double *  Mx,
double *  My,
long  Mn 
)
JRMLIBRARY_API int ArrayConvertShift ( double  Factor,
double *  Sx,
double *  Sy,
int  Sn,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API int ArrayConvertZero ( double  Factor,
double *  Sx,
double *  Sy,
long  Sn,
double *  Mx,
double *  My,
long  Mn 
)
JRMLIBRARY_API int InterpolatedArrayConvert ( double  Factor,
double *  Sx,
double *  Sy,
long  Sn,
double *  Mx,
double *  My,
long  Mn 
)
JRMLIBRARY_API int InterpolatedArrayConvertZero ( double  Factor,
double *  Sx,
double *  Sy,
long  Sn,
double *  Mx,
double *  My,
long  Mn 
)
JRMLIBRARY_API int FloatInterpolatedArrayConvert ( float  Factor,
float *  Sx,
float *  Sy,
long  Sn,
float *  Mx,
float *  My,
long  Mn 
)
JRMLIBRARY_API double FluxIntegral ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API double FluxIntegralShift ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API double FluxIntegralZero ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API double InterpolatedFluxIntegral ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API double InterpolatedFluxIntegralZero ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API float FloatInterpolatedFluxIntegral ( float  Factor,
float  Slo,
float  Shi,
float *  Mx,
float *  My,
int  Mn 
)
JRMLIBRARY_API double ExpInterpFluxIntegral ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API double ExpInterpFluxIntegralZero ( double  Factor,
double  Slo,
double  Shi,
double *  Mx,
double *  My,
int  Mn 
)
JRMLIBRARY_API int FloatArrayConvert ( float  Factor,
float *  Sx,
float *  Sy,
int  Sn,
float *  Mx,
float *  My,
int  Mn 
)
JRMLIBRARY_API float FloatFluxIntegral ( float  Factor,
float  Slo,
float  Shi,
float *  Mx,
float *  My,
int  Mn 
)
JRMLIBRARY_API int FloatArrayConvertShift ( float  Factor,
float *  Sx,
float *  Sy,
int  Sn,
float *  Mx,
float *  My,
int  Mn 
)
JRMLIBRARY_API float FloatFluxIntegralShift ( float  Factor,
float  Slo,
float  Shi,
float *  Mx,
float *  My,
int  Mn 
)
JRMLIBRARY_API jrmbool IsUniqueInt ( int element,
int  nelements,
int  thisint 
)
JRMLIBRARY_API jrmbool IsInList ( int element,
int  nelements,
int  thisint 
)
JRMLIBRARY_API jrmbool IsUniqueDouble ( double *  element,
int  nelements,
double  thisdbl,
double  thresh 
)
JRMLIBRARY_API double StraightLine ( double  x,
double  slope,
double  intercept 
)
JRMLIBRARY_API int ZeroCubic ( double  b,
double  c,
double  d,
jrmComplex x 
)
JRMLIBRARY_API int ZeroQuart ( double  a,
double  b,
double  c,
double  d,
jrmComplex x 
)
JRMLIBRARY_API int ZeroQuart2 ( double  a,
double  b,
double  c,
double  d,
jrmComplex x 
)
JRMLIBRARY_API double sign ( double  x)
JRMLIBRARY_API double signpm1 ( double  x)
JRMLIBRARY_API double angle_between_vectors ( VECTOR  A,
VECTOR  B 
)
JRMLIBRARY_API double ACOS ( double  mu)
JRMLIBRARY_API int roundtoint ( double  x)
JRMLIBRARY_API int nearesthigherpowerofN ( int  x,
int  N 
)
JRMLIBRARY_API double ratio2decibel ( double  ratio)
JRMLIBRARY_API double decibel2ratio ( double  dB)
JRMLIBRARY_API jrmComplex Cratio2decibel ( jrmComplex  ratio)
JRMLIBRARY_API jrmComplex Cdecibel2ratio ( jrmComplex  dB)
JRMLIBRARY_API jrmComplex Polynomial ( jrmComplex F,
int  N,
jrmComplex  X 
)
JRMLIBRARY_API double PolynomialD ( double *  F,
int  N,
double  X 
)
JRMLIBRARY_API double LegendrePolynomial ( int  L,
double  theta 
)
JRMLIBRARY_API double LegendreSeries ( int  N,
double *  coef,
double  theta 
)
JRMLIBRARY_API double LegendreSeriesIntegral ( double  theta1rad,
double  theta2rad,
double *  coef,
int  N 
)
JRMLIBRARY_API int FindLegendreCoefficients1D ( Function1D  functiontofit,
double **  A,
int  ncoefs,
double  dx 
)
JRMLIBRARY_API int FindLegendreCoefficients2D ( Function2D  functiontofit,
double **  A,
int  ncoefs,
double  dx,
double  constant 
)
JRMLIBRARY_API long long factorial ( long  n)
JRMLIBRARY_API long long double_factorial ( long  n)
JRMLIBRARY_API double Sigmoid ( double  x,
double  x0,
double  b 
)
JRMLIBRARY_API double ThetaFunction ( double  x)
JRMLIBRARY_API long long GammaFunction ( long  n)
JRMLIBRARY_API double BetaFunction ( long  a,
long  b 
)
JRMLIBRARY_API double HyperGeometricFunction ( double  alpha,
double  beta,
double  gamma,
double  z,
long  Nterms 
)
JRMLIBRARY_API double Bessel_Function ( int  l,
double  x 
)
JRMLIBRARY_API double BesselSeries ( int  N,
double *  coef,
double  theta 
)
JRMLIBRARY_API double Spherical_Bessel_Function ( int  l,
double  x 
)
JRMLIBRARY_API double SphericalBesselSeries ( int  N,
double *  coef,
double  theta 
)
JRMLIBRARY_API double ErrorFunction ( int  N,
double  x 
)
JRMLIBRARY_API double StirlingFirst ( int  n,
int  k 
)
JRMLIBRARY_API double LambertW0Function ( double  x)
JRMLIBRARY_API double LambertWm1Function ( double  x)
JRMLIBRARY_API double ExponentialIntegral1 ( int  N,
double  x 
)
JRMLIBRARY_API double ExponentialIntegralDifference1 ( int  N,
double  x,
double  y,
double  multiplier 
)
JRMLIBRARY_API int NumQNIndices ( int  maxl)
JRMLIBRARY_API int QNIndex ( int  l,
int  m 
)
JRMLIBRARY_API long DQNIndex ( int  linc,
int  minc,
int  lout,
int  mout,
int  maxl 
)
JRMLIBRARY_API void AssociatedLegendrePolynomialArray ( int  maxl,
double *  ALP,
double  costheta 
)
JRMLIBRARY_API int SphericalHarmonicArray ( int  maxl,
jrmComplex SHA,
VECTOR  u 
)
JRMLIBRARY_API jrmComplex EvaluateSphericalHarmonicExpansion ( int  maxl,
jrmComplex SHC,
VECTOR  u 
)
JRMLIBRARY_API double MC_Integral_1D ( long  nMC,
double  a,
double  b,
Function1D  FunctionToIntegrate,
Function1D  Density,
Function1D  DensityIntegral,
Function1D  InverseDensityIntegral 
)
JRMLIBRARY_API int Roots ( jrmComplex(*)(jrmComplex *, int, jrmComplex func,
jrmComplex F,
int  NIN,
double  EPS,
int  nsig,
int  KN,
int  NGUESS,
int  N,
jrmComplex X,
int  ITMAX,
int INFER,
int IER 
)
JRMLIBRARY_API int SortSpectra ( long  n,
double *  x,
double *  y 
)
JRMLIBRARY_API double AngleDifference ( double  angle1_deg,
double  angle2_deg 
)
JRMLIBRARY_API double OrderedAngleDifference ( double  angletest_deg,
double  angleref_deg 
)
JRMLIBRARY_API jrmbool CompareAngles ( double  angle1_deg,
double  angle2_deg,
double  angletol_deg 
)
JRMLIBRARY_API float FloatInterpolate ( float  numin,
float *  index,
float *  values,
int  n 
)
JRMLIBRARY_API double Interpolate ( double  numin,
double *  index,
double *  values,
int  n 
)
JRMLIBRARY_API double SortInterpolate ( double  numin,
double *  index,
double *  values,
int  n 
)
JRMLIBRARY_API double AngleInterpolate ( double  numin,
double *  index,
double *  values,
int  n,
jrmbool  DEGREES 
)
JRMLIBRARY_API void spline ( double *  x,
double *  y,
long  n,
double  yp0,
double  ypnm1,
double *  yp2 
)
JRMLIBRARY_API void splint ( double *  xa,
double *  ya,
double *  yp2a,
long  n,
double  x,
double *  y 
)
JRMLIBRARY_API double determinant ( double *  array,
int  norder 
)
JRMLIBRARY_API int PolyFit ( double *  x,
double *  y,
double *  sigmay,
jrmbool active,
long  npts,
int  nterms,
int  mode,
double *  a,
double *  chisqr 
)
JRMLIBRARY_API int LinearFit ( double *  x,
double *  y,
long  n,
double *  C0,
double *  slope 
)
JRMLIBRARY_API int ExponentialFit ( double *  x,
double *  y,
long  n,
double *  C0,
double *  xref 
)
JRMLIBRARY_API int GaussianFit ( double *  x,
double *  y,
long  n,
double *  C0,
double *  xref 
)
JRMLIBRARY_API int ParabolicFit ( double *  x,
double *  y,
long  n,
double *  C0,
double *  xref 
)
JRMLIBRARY_API int RemoveDoubleFromArray ( double **  d,
long *  nd,
long  index 
)
JRMLIBRARY_API void RemoveDuplicateDomainEntries ( long *  nin,
double **  xin,
double **  yin 
)
JRMLIBRARY_API int ArrayInterpolate ( long  nin,
double *  xin,
double *  yin,
long  nout,
double *  xout,
double *  yout 
)
JRMLIBRARY_API int SmoothArray ( long  N,
double *  x,
double *  y,
double  xspan,
double  varlimit 
)
JRMLIBRARY_API void SmoothArrayKernel ( long  N,
float *  x,
float *  y,
float  fwhm,
jrmbool  TRIANGLE 
)
JRMLIBRARY_API int SmoothArraySpline ( long  N,
double *  x,
double *  y 
)
JRMLIBRARY_API double SpectralPointConvert ( double  x)
JRMLIBRARY_API int SpectralDomainConvert ( double  ax,
double  bx,
long  nbins,
double *  wave 
)
JRMLIBRARY_API int IntegratedSpectralRangeConvert ( double  ax1,
double  bx1,
long  nbins1,
double *  range1,
long  nbins2,
double *  range2 
)
JRMLIBRARY_API int InterpolatedSpectralRangeConvert ( double  ax1,
double  bx1,
long  nbins1,
double *  range1,
long  nbins2,
double *  range2 
)
JRMLIBRARY_API double VarianceAboutLine ( long  npoints,
double *  x,
double *  y,
double  xtosample,
double  samplespan,
double *  slope,
double *  intercept 
)
int CompareDatapoints ( void AV,
void BV 
)
JRMLIBRARY_API double sinc ( double  x)
JRMLIBRARY_API double atan_hyperbolic ( double  x)
JRMLIBRARY_API long double ldpower ( double  x,
long  n 
)
JRMLIBRARY_API double power ( double  x,
long  n 
)
JRMLIBRARY_API double FOV_SR ( double  v,
double  h 
)
JRMLIBRARY_API jrmbool IsOdd ( long  n)
JRMLIBRARY_API void AdvanceBinary ( int binaryint,
int  n 
)
JRMLIBRARY_API int BinaryToDecimal ( int binaryint,
int  n 
)
JRMLIBRARY_API void DecimalToBinary ( int binaryint,
int  n,
int  decimal 
)
JRMLIBRARY_API void AdvanceBaseN ( int basenint,
int  n,
int  Base 
)
JRMLIBRARY_API int BaseNToDecimal ( int basenint,
int  n,
int  Base 
)
JRMLIBRARY_API void AdvanceBaseX ( int basexint,
int  n,
int Base 
)
JRMLIBRARY_API int BaseXToDecimal ( int basexint,
int  n,
int Base 
)
JRMLIBRARY_API double RatioOfDoubleFactorials ( long  n)
JRMLIBRARY_API VECTOR GenerateRandomDirectionInLobe ( VECTOR  normal,
VECTOR  mirror,
int  shiny,
double *  DSEED,
int  coefdef 
)
JRMLIBRARY_API double LobeDensity ( VECTOR  normal,
int  shiny,
VECTOR  mirror,
VECTOR  view,
int  coefdef 
)
JRMLIBRARY_API double LobeIntegral ( VECTOR  normal,
VECTOR  mirror,
int  shiny,
int  coefdef 
)
JRMLIBRARY_API double LobeIntegral2 ( double  thetarad,
double  n 
)
JRMLIBRARY_API int GetLobeRay ( VECTOR  normal,
VECTOR  mirror,
VECTOR view,
double *  DSEED,
double *  weight,
int  shiny,
int  coefdef 
)
JRMLIBRARY_API double LobeFunctionToIntegrate ( VECTOR  normal,
VECTOR  mirror,
VECTOR  view,
int  shiny,
int  coefdef 
)
JRMLIBRARY_API double HorizonIntegral ( double  dropcoef)
JRMLIBRARY_API double InverseHorizonIntegral ( double  dropcoef,
double  integral 
)
JRMLIBRARY_API double HorizonDensity ( VECTOR  view,
double  dropcoef 
)
JRMLIBRARY_API VECTOR GenerateRandomDirectionAboveHorizon ( double  dropcoef,
double *  DSEED 
)
JRMLIBRARY_API void GetHorizonRay ( double  dropcoef,
VECTOR view,
double *  weight,
double *  DSEED 
)
JRMLIBRARY_API double HorizonFunctionToIntegrate ( VECTOR  view,
double  dropcoef 
)
JRMLIBRARY_API int ludcmp ( double *  a,
int  n,
int indx,
int d 
)
JRMLIBRARY_API int lubksb ( double *  a,
int  n,
int indx,
double *  b 
)
JRMLIBRARY_API int SolveLinearMatrixEquation ( double *  a,
double *  b,
int  n 
)
JRMLIBRARY_API int MatrixInverse ( int  n,
double *  a,
double *  y 
)
JRMLIBRARY_API int MatrixInverseRectangular ( int  M,
int  N,
double *  a,
double *  y 
)
JRMLIBRARY_API int GaussSeidel ( double *  a,
double *  b,
int  n,
double  errtol 
)
JRMLIBRARY_API int jacobi ( double *  m,
int  n,
double *  d,
double *  v 
)
JRMLIBRARY_API void eigsrt ( double *  d,
double *  v,
int  n 
)
JRMLIBRARY_API int BubbleOrderMapVector ( double *  vector,
int  nelements,
int ordermap 
)
JRMLIBRARY_API int FindNDBasisAboutVector ( double *  vector,
int  naxes,
double *  basis 
)
JRMLIBRARY_API int NMatrixMult ( double *  matrixL,
double *  matrixR,
int  n,
jrmbool  LEFT 
)
JRMLIBRARY_API int NMatrixRotate ( double *  matrix,
double *  newaxes,
int  n 
)
JRMLIBRARY_API void TestMemoryFunction ( )
JRMLIBRARY_API int debugPrintf ( const char *  control,
  ... 
)
JRMLIBRARY_API char* getDataDir ( )
JRMLIBRARY_API char* getCacheDir ( )
JRMLIBRARY_API jrmbool fileExists ( const char *  fileName)
JRMLIBRARY_API BAND GetWaveband ( SPECTRAL_DOMAIN  spectrum)
JRMLIBRARY_API BAND GetWavebin ( SPECTRAL_DOMAIN  spectrum,
long  l 
)
JRMLIBRARY_API int SmoothSpectrum ( double  MaxVar,
double  VarSpan,
SPECTRAL_DOMAIN  xin,
double *  yin,
double *  yout,
double  ax,
double  bx 
)
JRMLIBRARY_API double BandResponseFactor ( double  ax,
double  bx,
SPECTRUM  response 
)
double LinearArray ( int  nelements,
double  theta,
double  d,
double  lambda 
)
double ApertureIllumination ( double *  coef,
double  theta,
double  lambda 
)
double FTconst ( double  d,
double  x 
)
double FTcosnpizo2 ( double  d,
double  x,
int  n 
)
double FTroot1_z2 ( double  d,
double  x 
)
double FTabs ( double  d,
double  x 
)
double ThreeLobeSpec ( double  mainwidth,
double  sidewidth,
double  sideangle,
double  sidegain,
double  theta 
)
double WeddingCakeRectangular ( double *  coef,
double  theta 
)
double WeddingCakeRadial ( double *  coef,
double  theta 
)
double GaussianRadial ( double  beamwidth,
double  theta 
)
JRMLIBRARY_API double Distribution ( DISTRIBUTION  dist,
double  theta,
double  phi,
double  lambda 
)
JRMLIBRARY_API double SincGain ( double  theta,
double  width 
)
JRMLIBRARY_API Crotmatrix CRootGain ( double  hangle,
double  hwidth,
double  vangle,
double  vwidth 
)


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)