Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross platform and proplib2.0 #6

Open
wants to merge 192 commits into
base: master
Choose a base branch
from

Conversation

cheroy-ntia
Copy link
Collaborator

No description provided.

aromanielloNTIA and others added 30 commits September 27, 2024 16:21
doxygen-awesome-css is checkout out to v2.3.3 tag
Update doxygen-awesome-css to v2.3.4
Update examples to recommend constexpr instead of macros
Merge recent updates
Moved contents to GitHub wiki
use strings, avoid pointers, fix a typo in Version output
remove unused variable
aromanielloNTIA and others added 13 commits November 26, 2024 15:19
MSVC: always use /Gz
G++ equivalents: none required for Gz
# Conflicts:
#	.zenodo.json
#	CITATION.cff
#	CMakeLists.txt
#	GitHubRepoPublicReleaseApproval.md
#	README.md
#	app/CMakeLists.txt
#	app/include/Driver.h
#	app/src/CMakeLists.txt
#	app/tests/CMakeLists.txt
#	src/CMakeLists.txt
#	src/ReturnCodes.cpp
#	tests/CMakeLists.txt
#	tests/TestUtils.cpp
@cheroy-ntia cheroy-ntia marked this pull request as ready for review November 29, 2024 21:12
Copy link
Member

@aromanielloNTIA aromanielloNTIA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see my comments in line and make corresponding changes.

include/ITS.Propagation.LFMF/LFMF.h Outdated Show resolved Hide resolved
#define R2D 180.0/PI ///< Approximate convert ratio from Radians to Degrees
#define ETA 119.9169832*PI ///< Intrinsic impedance of free space (ohms)

#define POLARIZATION__HORIZONTAL 0 ///< Polarization horizontal
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please define an enum LFMF::Polarization to handle the polarization values

#define POLARIZATION__HORIZONTAL 0 ///< Polarization horizontal
#define POLARIZATION__VERTICAL 1 ///< Polarization vertical

#define METHOD__FLAT_EARTH_CURVE 0 ///< Flat earth curve method
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please define an enum LFMF::SolutionMethod to handle the solution method values

#define METHOD__RESIDUE_SERIES 1 ///< Residue series method

#define YES 1 ///< Find the derivative i.e., Ai'() or Bi'()
#define NO 0 ///< Find Ai() or Bi()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove these YES and NO macros, and replace their functionality in Airy.cpp using a simple boolean type for the derivative flag.

#define AIRY 1 ///< Find the Airy Function
#define AIRYD 2 ///< Find the Airy function Derivative
#define BAIRY 3 ///< Find the Bairy Function
#define BAIRYD 4 ///< Find the Bairy function Derivative
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please create an enum LFMF::AiryFunctionKind to replace the macros AIRY, AIRYD, BAIRY, BAIRYD, WTWO, DWTWO, WONE, and DWONE based on the following table

Existing Macro New Enum Member Definition
AIRY Ai Airy function of the first kind, $Ai(x)$
AIRYD AiPrime Derivative of the Airy function of the first kind, $Ai\prime(x)$
BAIRY Bi Airy function of the second kind, $Bi(x)$
BAIRYD BiPrime Derivative of the Airy function of the second kind, $Bi\prime(x)$
WTWO WiTwo One of Hufford's "Airy functions of the third kind," $Wi^{(2)}(x)$, NTIA TR 87-219 Eq. 38
DWTWO WiTwoPrime The derivative of Hufford's function $Wi^{(2)}(x)$, $Wi\prime^{(2)}(x)$
WONE WiOne One of Hufford's "Airy functions of the third kind," $Wi^{(1)}(x)$, NTIA TR 87-219 Eq. 38
DWONE WiOnePrime The derivative of Hufford's function $Wi^{(1)}(x)$, $Wi\prime^{(1)}(x)$

#define WONE 7 ///< find Hufford Wi(1) or Wait W1
#define DWONE 8 ///< find Hufford Wi'(1) or Wait W1'
// scaling
#define HUFFORD 9 ///< Use Hufford scaling
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace macros HUFFORD, WAIT, and NONE with a new enum LFMF::AiryFunctionScaling. Details about what these mean are currently in the docstring for the Airy function in Airy.cpp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants