lob 0.11.0
Exterior ballistics library — API + technical reference
Loading...
Searching...
No Matches
lob Namespace Reference

Classes

class  Builder
 Builder class for constructing Context objects with a friendly interface. More...
 
struct  Context
 Structure of parameters consumed by the solver. More...
 

Typedefs

using Gravity = ::LobGravity
 Gravity vector. See LobGravity for member details.
 
using Wind = ::LobWind
 Wind vector. See LobWind for member details.
 
using Coriolis = ::LobCoriolis
 Coriolis effect parameters. See LobCoriolis for member details.
 
using Output = ::LobOutput
 Structure holding output results. See LobOutput for member details.
 

Enumerations

enum class  DragFunctionT : LobDragFunctionT {
  kG1 = ::kLobDragFunctionG1 , kG2 = ::kLobDragFunctionG2 , kG5 = ::kLobDragFunctionG5 , kG6 = ::kLobDragFunctionG6 ,
  kG7 = ::kLobDragFunctionG7 , kG8 = ::kLobDragFunctionG8
}
 Enumerates the supported drag functions. More...
 
enum class  AtmosphereReferenceT : LobAtmosphereReferenceT { kArmyStandardMetro , kIcao = ::kLobAtmosphereReferenceIcao }
 Enumerates the supported atmosphere reference types. More...
 
enum class  ClockAngleT : LobClockAngleT {
  kI = ::kLobClockAngleI , kII = ::kLobClockAngleII , kIII = ::kLobClockAngleIII , kIV = ::kLobClockAngleIV ,
  kV = ::kLobClockAngleV , kVI = ::kLobClockAngleVI , kVII = ::kLobClockAngleVII , kVIII = ::kLobClockAngleVIII ,
  kIX = ::kLobClockAngleIX , kX = ::kLobClockAngleX , kXI = ::kLobClockAngleXI , kXII = ::kLobClockAngleXII
}
 Enumerates clock angle positions. More...
 
enum class  ErrorT : LobErrorT {
  kNone = ::kLobErrorNone , kAirPressureOOR = ::kLobErrorAirPressureOOR , kAltitudeOfBarometerOOR = ::kLobErrorAltitudeOfBarometerOOR , kAltitudeOfFiringSiteOOR = ::kLobErrorAltitudeOfFiringSiteOOR ,
  kAltitudeOfThermometerOOR = ::kLobErrorAltitudeOfThermometerOOR , kAzimuthOOR = ::kLobErrorAzimuthOOR , kBallisticCoefficientOOR = ::kLobErrorBallisticCoefficientOOR , kBallisticCoefficientRequired = ::kLobErrorBallisticCoefficientRequired ,
  kBaseDiameterOOR = ::kLobErrorBaseDiameterOOR , kBcBandsInvalid = ::kLobErrorBcBandsInvalid , kBcBandsNotMonotonic = ::kLobErrorBcBandsNotMonotonic , kBcBandsTooShort = ::kLobErrorBcBandsTooShort ,
  kDiameterOOR = ::kLobErrorDiameterOOR , kHumidityOOR = ::kLobErrorHumidityOOR , kInitialVelocityRequired = ::kLobErrorInitialVelocityRequired , kInternalError = ::kLobErrorInternalError ,
  kLatitudeOOR = ::kLobErrorLatitudeOOR , kLengthOOR = ::kLobErrorLengthOOR , kMachDragTableInvalid = ::kLobErrorMachDragTableInvalid , kMachDragTableNotMonotonic = ::kLobErrorMachDragTableNotMonotonic ,
  kMachDragTableTooShort = ::kLobErrorMachDragTableTooShort , kMassOOR = ::kLobErrorMassOOR , kMaximumTimeOOR = ::kLobErrorMaximumTimeOOR , kMeplatDiameterOOR = ::kLobErrorMeplatDiameterOOR ,
  kNoseLengthOOR = ::kLobErrorNoseLengthOOR , kNotFormed = ::kLobErrorNotFormed , kOgiveRtROOR = ::kLobErrorOgiveRtROOR , kRangeAngleOOR = ::kLobErrorRangeAngleOOR ,
  kTailLengthOOR = ::kLobErrorTailLengthOOR , kWindHeadingOOR = ::kLobErrorWindHeadingOOR , kZeroAngleOOR = ::kLobErrorZeroAngleOOR , kZeroDataRequired = ::kLobErrorZeroDataRequired ,
  kZeroDistanceOOR = ::kLobErrorZeroDistanceOOR , kZeroUnreachable = ::kLobErrorZeroUnreachable
}
 Error codes returned by the builder. More...
 

Functions

bool operator== (::LobErrorT a, ErrorT b) noexcept
 
bool operator!= (::LobErrorT a, ErrorT b) noexcept
 
bool operator== (ErrorT a, ::LobErrorT b) noexcept
 
bool operator!= (ErrorT a, ::LobErrorT b) noexcept
 
size_t Solve (const Context &ctx, const uint32_t *pranges, Output *pouts, size_t size)
 Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution.
 
template<size_t N>
size_t Solve (const Context &ctx, const std::array< uint32_t, N > &ranges, std::array< Output, N > *pouts)
 Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution.
 
size_t Solve (const Context &ctx, uint32_t range, Output *pout)
 Solves the exterior ballistics problem for a single range. Results contain a forward-solution.
 
size_t FastInverse (const Context &ctx, Output *pouts, size_t size)
 Converts forward-solution output to inverse-solution adjustments.
 
template<size_t N>
size_t FastInverse (const Context &ctx, std::array< Output, N > *pouts)
 Converts forward-solution output to inverse-solution adjustments.
 
size_t FastInverse (const Context &ctx, Output *pout)
 Converts forward-solution output to inverse-solution adjustments for a single output.
 
size_t SolveInverse (const Context &ctx, const uint32_t *pranges, Output *pouts, size_t size)
 Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution.
 
template<size_t N>
size_t SolveInverse (const Context &ctx, const std::array< uint32_t, N > &ranges, std::array< Output, N > *pouts)
 Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution.
 
size_t SolveInverse (const Context &ctx, uint32_t range, Output *pout)
 Solves the exterior ballistics problem for a single range. Results contain an inverse-solution.
 
const char * Version ()
 Gets the library version in major.minor.patch format.
 
double MoaToMil (double value)
 Converts minutes of angle (MOA) to milliradians (MIL).
 
double MoaToDeg (double value)
 Converts minutes of angle (MOA) to degrees.
 
double MoaToIphy (double value)
 Converts minutes of angle (MOA) to inches per hundred yards (IPHY).
 
double MoaToInch (double value, double range_ft)
 Converts minutes of angle (MOA) to projected inches at a given range in feet.
 
double MilToMoa (double value)
 Converts milliradians (MIL) to minutes of angle (MOA).
 
double MilToDeg (double value)
 Converts milliradians (MIL) to degrees.
 
double MilToIphy (double value)
 Converts milliradians (MIL) to inches per hundred yards (IPHY).
 
double MilToInch (double value, double range_ft)
 Converts milliradians (MIL) to projected inches at a given range in feet.
 
double DegToMoa (double value)
 Converts degrees to minutes of angle (MOA).
 
double DegToMil (double value)
 Converts degrees to milliradians (MIL).
 
double InchToMoa (double value, double range_ft)
 Inches of projection at a given range to minutes of angle (MOA).
 
double InchToMil (double value, double range_ft)
 Inches of projection at a given range to milliradians (MIL).
 
double InchToDeg (double value, double range_ft)
 Inches of projection at a given range to degrees.
 
double JToFtLbs (double value)
 Converts joules to foot-pounds.
 
double FtLbsToJ (double value)
 Converts foot-pounds to joules.
 
double MToYd (double value)
 Converts meters to yards.
 
double YdToFt (double value)
 Converts yards to feet.
 
double MToFt (double value)
 Converts meters to feet.
 
double FtToIn (double value)
 Converts feet to inches.
 
double MmToIn (double value)
 Converts millimeters to inches.
 
double CmToIn (double value)
 Converts centimeters to inches.
 
double YdToM (double value)
 Converts yards to meters.
 
double FtToM (double value)
 Converts feet to meters.
 
double FtToYd (double value)
 Converts feet to yards.
 
double InToMm (double value)
 Converts inches to millimeters.
 
double InToCm (double value)
 Converts inches to centimeters.
 
double InToFt (double value)
 Converts inches to feet.
 
double PaToInHg (double value)
 Converts pascals to inches of mercury.
 
double MbarToInHg (double value)
 Converts millibars to inches of mercury.
 
double PsiToInHg (double value)
 Converts pounds per square inch (PSI) to inches of mercury.
 
double LbsToGrain (double value)
 Converts pounds to grains.
 
double GToGrain (double value)
 Converts grams to grains.
 
double KgToGrain (double value)
 Converts kilograms to grains.
 
double KgSqMToPmsi (double value)
 Converts kilograms per square meter to pounds mass per square inch.
 
double FpsToMps (double value)
 Converts feet per second to meters per second.
 
double MpsToFps (double value)
 Converts meters per second to feet per second.
 
double KphToMph (double value)
 Converts kilometers per hour to miles per hour.
 
double KnToMph (double value)
 Converts Knots to miles per hour.
 
double MsToS (double value)
 Converts milliseconds to seconds.
 
double UsToS (double value)
 Converts microseconds to seconds.
 
double SToMs (double value)
 Converts seconds to milliseconds.
 
double SToUs (double value)
 Converts seconds to microseconds.
 
double DegCToDegF (double value)
 Converts degrees celsius to degrees fahrenheit.
 

Variables

constexpr size_t kLobBuilderBufferSize = 272
 The size in bytes of the builder buffer.
 
constexpr size_t kLobCoeffsSize = 15 * static_cast<size_t>(4)
 The size of spline coeffs in Context.
 

Typedef Documentation

◆ Coriolis

Coriolis effect parameters. See LobCoriolis for member details.

◆ Gravity

Gravity vector. See LobGravity for member details.

◆ Output

Structure holding output results. See LobOutput for member details.

◆ Wind

Wind vector. See LobWind for member details.

Enumeration Type Documentation

◆ AtmosphereReferenceT

Enumerates the supported atmosphere reference types.

Enumerator
kArmyStandardMetro 

Army Standard Metro.

kIcao 

International Civil Aviation Organization (ICAO)

◆ ClockAngleT

enum class lob::ClockAngleT : LobClockAngleT
strong

Enumerates clock angle positions.

Note
Values are named with Roman numerals. This is used for reasoning about wind direction.
Enumerator
kI 

one o'clock

kII 

two o'clock

kIII 

three o'clock

kIV 

four o'clock

kV 

five o'clock

kVI 

six o'clock

kVII 

seven o'clock

kVIII 

eight o'clock

kIX 

nine o'clock

kX 

ten o'clock

kXI 

eleven o'clock

kXII 

twelve o'clock

◆ DragFunctionT

enum class lob::DragFunctionT : LobDragFunctionT
strong

Enumerates the supported drag functions.

Enumerator
kG1 

G1 drag function.

kG2 

G2 drag function.

kG5 

G5 drag function.

kG6 

G6 drag function.

kG7 

G7 drag function.

kG8 

G8 drag function.

◆ ErrorT

enum class lob::ErrorT : LobErrorT
strong

Error codes returned by the builder.

Enumerator
kNone 
kAirPressureOOR 
kAltitudeOfBarometerOOR 
kAltitudeOfFiringSiteOOR 
kAltitudeOfThermometerOOR 
kAzimuthOOR 
kBallisticCoefficientOOR 
kBallisticCoefficientRequired 
kBaseDiameterOOR 
kBcBandsInvalid 
kBcBandsNotMonotonic 
kBcBandsTooShort 
kDiameterOOR 
kHumidityOOR 
kInitialVelocityRequired 
kInternalError 
kLatitudeOOR 
kLengthOOR 
kMachDragTableInvalid 
kMachDragTableNotMonotonic 
kMachDragTableTooShort 
kMassOOR 
kMaximumTimeOOR 
kMeplatDiameterOOR 
kNoseLengthOOR 
kNotFormed 
kOgiveRtROOR 
kRangeAngleOOR 
kTailLengthOOR 
kWindHeadingOOR 
kZeroAngleOOR 
kZeroDataRequired 
kZeroDistanceOOR 
kZeroUnreachable 

Function Documentation

◆ CmToIn()

double lob::CmToIn ( double value)
inline

Converts centimeters to inches.

Parameters
valueLength in centimeters.
Returns
Equivalent length in inches.

◆ DegCToDegF()

double lob::DegCToDegF ( double value)
inline

Converts degrees celsius to degrees fahrenheit.

Parameters
valueTemperature in degrees celsius.
Returns
Equivalent temperature in degrees fahrenheit.

◆ DegToMil()

double lob::DegToMil ( double value)
inline

Converts degrees to milliradians (MIL).

Parameters
valueAngle in degrees.
Returns
Equivalent angle in MIL.

◆ DegToMoa()

double lob::DegToMoa ( double value)
inline

Converts degrees to minutes of angle (MOA).

Parameters
valueAngle in degrees.
Returns
Equivalent angle in MOA.

◆ FastInverse() [1/3]

size_t lob::FastInverse ( const Context & ctx,
Output * pout )
inline

Converts forward-solution output to inverse-solution adjustments for a single output.

Parameters
ctxContext parameters for the calculation.
poutPointer to an output to convert in place.
Returns
The number of successful conversions (0 or 1).

◆ FastInverse() [2/3]

size_t lob::FastInverse ( const Context & ctx,
Output * pouts,
size_t size )
inline

Converts forward-solution output to inverse-solution adjustments.

Note
A one-step approximation. Only convert outputs whose forward solution reached the target range; fall-short trajectories yield meaningless results. Entries with non-finite elevation or deflection are skipped and not counted.
Parameters
ctxContext parameters for the calculation.
poutsPointer to an array of forward-solution outputs to convert in place.
sizeThe number of outputs to convert.
Returns
The number of successful conversions, or 0 on invalid arguments. Entries with zero range are skipped and not counted.

◆ FastInverse() [3/3]

template<size_t N>
size_t lob::FastInverse ( const Context & ctx,
std::array< Output, N > * pouts )
inline

Converts forward-solution output to inverse-solution adjustments.

Note
A one-step approximation. Only convert outputs whose forward solution reached the target range; fall-short trajectories yield meaningless results. Entries with non-finite elevation or deflection are skipped and not counted.
Template Parameters
NThe number of outputs to convert.
Parameters
ctxContext parameters for the calculation.
poutsReference to an array of outputs to convert in place.
Returns
The number of successful conversions.

◆ FpsToMps()

double lob::FpsToMps ( double value)
inline

Converts feet per second to meters per second.

Parameters
valueSpeed in feet per second.
Returns
Equivalent speed in meters per second.

◆ FtLbsToJ()

double lob::FtLbsToJ ( double value)
inline

Converts foot-pounds to joules.

Parameters
valueEnergy in foot-pounds.
Returns
Equivalent energy in joules.

◆ FtToIn()

double lob::FtToIn ( double value)
inline

Converts feet to inches.

Parameters
valueLength in feet.
Returns
Equivalent length in inches.

◆ FtToM()

double lob::FtToM ( double value)
inline

Converts feet to meters.

Parameters
valueLength in feet.
Returns
Equivalent length in meters.

◆ FtToYd()

double lob::FtToYd ( double value)
inline

Converts feet to yards.

Parameters
valueLength in feet.
Returns
Equivalent length in yards.

◆ GToGrain()

double lob::GToGrain ( double value)
inline

Converts grams to grains.

Parameters
valueMass in grams.
Returns
Equivalent mass in grains.

◆ InchToDeg()

double lob::InchToDeg ( double value,
double range_ft )
inline

Inches of projection at a given range to degrees.

Parameters
valueProjected inches.
range_ftRange in feet.
Returns
Equivalent angle in degrees.

◆ InchToMil()

double lob::InchToMil ( double value,
double range_ft )
inline

Inches of projection at a given range to milliradians (MIL).

Parameters
valueProjected inches.
range_ftRange in feet.
Returns
Equivalent angle in MIL.

◆ InchToMoa()

double lob::InchToMoa ( double value,
double range_ft )
inline

Inches of projection at a given range to minutes of angle (MOA).

Parameters
valueProjected inches.
range_ftRange in feet.
Returns
Equivalent angle in MOA.

◆ InToCm()

double lob::InToCm ( double value)
inline

Converts inches to centimeters.

Parameters
valueLength in inches.
Returns
Equivalent length in centimeters.

◆ InToFt()

double lob::InToFt ( double value)
inline

Converts inches to feet.

Parameters
valueLength in inches.
Returns
Equivalent length in feet.

◆ InToMm()

double lob::InToMm ( double value)
inline

Converts inches to millimeters.

Parameters
valueLength in inches.
Returns
Equivalent length in millimeters.

◆ JToFtLbs()

double lob::JToFtLbs ( double value)
inline

Converts joules to foot-pounds.

Parameters
valueEnergy in joules.
Returns
Equivalent energy in foot-pounds.

◆ KgSqMToPmsi()

double lob::KgSqMToPmsi ( double value)
inline

Converts kilograms per square meter to pounds mass per square inch.

Parameters
valueSectional density in Kg/m^2.
Returns
Equivalent sectional density in lb/in^2.

◆ KgToGrain()

double lob::KgToGrain ( double value)
inline

Converts kilograms to grains.

Parameters
valueMass in kilograms.
Returns
Equivalent mass in grains.

◆ KnToMph()

double lob::KnToMph ( double value)
inline

Converts Knots to miles per hour.

Parameters
valueSpeed in Knots.
Returns
Equivalent speed in miles per hour.

◆ KphToMph()

double lob::KphToMph ( double value)
inline

Converts kilometers per hour to miles per hour.

Parameters
valueSpeed in kilometers per hour.
Returns
Equivalent speed in miles per hour.

◆ LbsToGrain()

double lob::LbsToGrain ( double value)
inline

Converts pounds to grains.

Parameters
valueMass in pounds.
Returns
Equivalent mass in grains.

◆ MbarToInHg()

double lob::MbarToInHg ( double value)
inline

Converts millibars to inches of mercury.

Parameters
valuePressure in millibars.
Returns
Equivalent pressure in inches of mercury.

◆ MilToDeg()

double lob::MilToDeg ( double value)
inline

Converts milliradians (MIL) to degrees.

Parameters
valueAngle in MIL.
Returns
Equivalent angle in degrees.

◆ MilToInch()

double lob::MilToInch ( double value,
double range_ft )
inline

Converts milliradians (MIL) to projected inches at a given range in feet.

Parameters
valueAngle in MIL.
range_ftRange in feet.
Returns
Equivalent projected inches.

◆ MilToIphy()

double lob::MilToIphy ( double value)
inline

Converts milliradians (MIL) to inches per hundred yards (IPHY).

Parameters
valueAngle in MIL.
Returns
Equivalent angle in IPHY.

◆ MilToMoa()

double lob::MilToMoa ( double value)
inline

Converts milliradians (MIL) to minutes of angle (MOA).

Parameters
valueAngle in MIL.
Returns
Equivalent angle in MOA.

◆ MmToIn()

double lob::MmToIn ( double value)
inline

Converts millimeters to inches.

Parameters
valueLength in millimeters.
Returns
Equivalent length in inches.

◆ MoaToDeg()

double lob::MoaToDeg ( double value)
inline

Converts minutes of angle (MOA) to degrees.

Parameters
valueAngle in MOA.
Returns
Equivalent angle in degrees.

◆ MoaToInch()

double lob::MoaToInch ( double value,
double range_ft )
inline

Converts minutes of angle (MOA) to projected inches at a given range in feet.

Parameters
valueAngle in MOA.
range_ftRange in feet.
Returns
Equivalent projected inches.

◆ MoaToIphy()

double lob::MoaToIphy ( double value)
inline

Converts minutes of angle (MOA) to inches per hundred yards (IPHY).

Parameters
valueAngle in MOA.
Returns
Equivalent angle in IPHY.

◆ MoaToMil()

double lob::MoaToMil ( double value)
inline

Converts minutes of angle (MOA) to milliradians (MIL).

Parameters
valueAngle in MOA.
Returns
Equivalent angle in MIL.

◆ MpsToFps()

double lob::MpsToFps ( double value)
inline

Converts meters per second to feet per second.

Parameters
valueSpeed in meters per second.
Returns
Equivalent speed in feet per second.

◆ MsToS()

double lob::MsToS ( double value)
inline

Converts milliseconds to seconds.

Parameters
valueTime in milliseconds.
Returns
Equivalent time in seconds.

◆ MToFt()

double lob::MToFt ( double value)
inline

Converts meters to feet.

Parameters
valueLength in meters.
Returns
Equivalent length in feet.

◆ MToYd()

double lob::MToYd ( double value)
inline

Converts meters to yards.

Parameters
valueLength in meters.
Returns
Equivalent length in yards.

◆ operator!=() [1/2]

bool lob::operator!= ( ::LobErrorT a,
ErrorT b )
inlinenoexcept

◆ operator!=() [2/2]

bool lob::operator!= ( ErrorT a,
::LobErrorT b )
inlinenoexcept

◆ operator==() [1/2]

bool lob::operator== ( ::LobErrorT a,
ErrorT b )
inlinenoexcept

◆ operator==() [2/2]

bool lob::operator== ( ErrorT a,
::LobErrorT b )
inlinenoexcept

◆ PaToInHg()

double lob::PaToInHg ( double value)
inline

Converts pascals to inches of mercury.

Parameters
valuePressure in pascals.
Returns
Equivalent pressure in inches of mercury.

◆ PsiToInHg()

double lob::PsiToInHg ( double value)
inline

Converts pounds per square inch (PSI) to inches of mercury.

Parameters
valuePressure in PSI.
Returns
Equivalent pressure in inches of mercury.

◆ Solve() [1/3]

template<size_t N>
size_t lob::Solve ( const Context & ctx,
const std::array< uint32_t, N > & ranges,
std::array< Output, N > * pouts )
inline

Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution.

Template Parameters
NThe number of ranges to solve for.
Parameters
ctxContext parameters for the calculation.
rangesReference to an array of ranges (in feet) to solve for.
poutsPointer to an array where the output results will be stored.
Returns
The number of successful solutions.

◆ Solve() [2/3]

size_t lob::Solve ( const Context & ctx,
const uint32_t * pranges,
Output * pouts,
size_t size )
inline

Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution.

Note
A forward-solution solves for the expected change in elevation and deflection (in inches) at a given range.
Parameters
ctxContext parameters for the calculation.
prangesPointer to an array of ranges (in feet) to solve for.
poutsPointer to an array where the output results will be stored.
sizeThe number of ranges to solve for.
Returns
The number of successful solutions.

◆ Solve() [3/3]

size_t lob::Solve ( const Context & ctx,
uint32_t range,
Output * pout )
inline

Solves the exterior ballistics problem for a single range. Results contain a forward-solution.

Parameters
ctxContext parameters for the calculation.
rangeRanges (in feet) to solve for.
poutPointer to an output where results will be stored.
Returns
The number of successful solutions.

◆ SolveInverse() [1/3]

template<size_t N>
size_t lob::SolveInverse ( const Context & ctx,
const std::array< uint32_t, N > & ranges,
std::array< Output, N > * pouts )
inline

Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution.

Template Parameters
NThe number of ranges to solve for.
Parameters
ctxContext parameters for the calculation.
rangesReference to an array of ranges (in feet) to solve for.
poutsPointer to an array where the output results will be stored.
Returns
The number of successful solutions.

◆ SolveInverse() [2/3]

size_t lob::SolveInverse ( const Context & ctx,
const uint32_t * pranges,
Output * pouts,
size_t size )
inline

Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution.

Note
An inverse-solution solves for the adjustments (in MOA) required to hit at a given range. Entries with zero range are counted but their adjustments are zeroed. Adjustments for ranges the projectile cannot reach (fall-short solutions) are not produced; solving stops at the first such entry. Unlike FastInverse, a fall-short entry is not silently given a meaningless adjustment.
Parameters
ctxContext parameters for the calculation.
prangesPointer to an array of ranges (in feet) to solve for.
poutsPointer to an array where the output results will be stored.
sizeThe number of ranges to solve for.
Returns
The number of successful solutions.

◆ SolveInverse() [3/3]

size_t lob::SolveInverse ( const Context & ctx,
uint32_t range,
Output * pout )
inline

Solves the exterior ballistics problem for a single range. Results contain an inverse-solution.

Parameters
ctxContext parameters for the calculation.
rangeRange (in feet) to solve for.
poutPointer to an output where results will be stored.
Returns
The number of successful solutions (0 or 1).

◆ SToMs()

double lob::SToMs ( double value)
inline

Converts seconds to milliseconds.

Parameters
valueTime in seconds.
Returns
Equivalent time in milliseconds.

◆ SToUs()

double lob::SToUs ( double value)
inline

Converts seconds to microseconds.

Parameters
valueTime in seconds.
Returns
Equivalent time in microseconds.

◆ UsToS()

double lob::UsToS ( double value)
inline

Converts microseconds to seconds.

Parameters
valueTime in microseconds.
Returns
Equivalent time in seconds.

◆ Version()

const char * lob::Version ( )
inline

Gets the library version in major.minor.patch format.

Returns
Version string.

◆ YdToFt()

double lob::YdToFt ( double value)
inline

Converts yards to feet.

Parameters
valueLength in yards.
Returns
Equivalent length in feet.

◆ YdToM()

double lob::YdToM ( double value)
inline

Converts yards to meters.

Parameters
valueLength in yards.
Returns
Equivalent length in meters.

Variable Documentation

◆ kLobBuilderBufferSize

size_t lob::kLobBuilderBufferSize = 272
constexpr

The size in bytes of the builder buffer.

◆ kLobCoeffsSize

size_t lob::kLobCoeffsSize = 15 * static_cast<size_t>(4)
constexpr

The size of spline coeffs in Context.