diff --git a/doc/Doxyfile b/doc/Doxyfile index 80afd18..512eeff 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -42,13 +42,13 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = "API Reference" +PROJECT_NAME = "Documentation" # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v1.0 +PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/doc/Doxyfile_test b/doc/Doxyfile_test index 7274096..52eb680 100644 --- a/doc/Doxyfile_test +++ b/doc/Doxyfile_test @@ -42,13 +42,13 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = "API Reference" +PROJECT_NAME = "Documentation" # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v1.0 +PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/doc/qffmath.dox b/doc/qffmath.dox index 9ac5963..f36febf 100644 --- a/doc/qffmath.dox +++ b/doc/qffmath.dox @@ -94,6 +94,7 @@ * - \ref qlibs::ffmath::cyl_bessel_i() Computes the regular modified cylindrical Bessel function * - \ref qlibs::ffmath::cyl_bessel_j() Computes the cylindrical Bessel function of the first kind * - \ref qlibs::ffmath::cyl_bessel_k() Computes the irregular modified cylindrical Bessel function +* - \ref qlibs::ffmath::cyl_neumann() Computes the cylinkdrical Neumann function. * - \ref qlibs::ffmath::sph_legendre() Computes the spherical associated Legendre function * * @subsection qffmath_const Constants diff --git a/doc/stylesheet b/doc/stylesheet index 5b27b3a..9f97817 160000 --- a/doc/stylesheet +++ b/doc/stylesheet @@ -1 +1 @@ -Subproject commit 5b27b3a747ca1e559fa54149762cca0bad6036fb +Subproject commit 9f97817e703aa2c15503067b2a72c97f9d37f46e diff --git a/library.json b/library.json index 1522644..1a6f1be 100644 --- a/library.json +++ b/library.json @@ -16,7 +16,7 @@ "maintainer": true } ], - "version": "1.2.9", + "version": "1.3.0", "license": "MIT", "frameworks": "arduino", "platforms": "*" diff --git a/library.properties b/library.properties index 4600bed..3492012 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=qlibs -version=1.2.9 +version=1.3.0 license=MIT author=J. Camilo Gomez C. maintainer=J. Camilo Gomez C. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1a2eca5..31d84be 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required( VERSION 3.2 ) project( qlibs-cpp - VERSION 1.2.9 + VERSION 1.3.0 DESCRIPTION "A collection of useful C++ libraries for embedded systems" LANGUAGES CXX ) diff --git a/src/ffmath.cpp b/src/ffmath.cpp index df6673c..70bec14 100644 --- a/src/ffmath.cpp +++ b/src/ffmath.cpp @@ -2781,6 +2781,28 @@ float ffmath::cyl_bessel_k( float nu, return y; } /*============================================================================*/ +float ffmath::cyl_neumann( float nu, + float x ) +{ + float y; + + if ( ( nu < 0.0F ) || ( x < 0.0F ) || ffmath::isNan( nu ) || ffmath::isNan( x ) ) { + y = ffmath::getNan(); + } + else if ( x > 1000.0F ) { + float J_nu, N_nu; + cyl_bessel_jn_asymp( nu, x, J_nu, N_nu ); + y = N_nu; + } + else { + float J_nu, N_nu, Jp_nu, Np_nu; + + bessel_jn( nu, x, J_nu, N_nu, Jp_nu, Np_nu ); + y = N_nu; + } + return y; +} +/*============================================================================*/ float ffmath::sph_legendre( size_t l, size_t m, float theta ) @@ -2854,4 +2876,3 @@ float ffmath::sph_legendre( size_t l, } return y; } -/*============================================================================*/ \ No newline at end of file diff --git a/src/include/ffmath.hpp b/src/include/ffmath.hpp index f80dbeb..6600d1d 100644 --- a/src/include/ffmath.hpp +++ b/src/include/ffmath.hpp @@ -1,7 +1,7 @@ /*! * @file ffmath.hpp * @author J. Camilo Gomez C. - * @version 1.06 + * @version 1.07 * @note This file is part of the qLibs++ distribution. * @brief Fast floating-point math library for applications where speed is more * important than accuracy @@ -1005,6 +1005,19 @@ namespace qlibs { float cyl_bessel_k( float nu, float x ); + /** + * @brief Computes the cylindrical Neumann function ( also known as Bessel + * function of the second kind or Weber function) of @a nu and @a x. + * @param[in] nu The order of the function + * @param[in] x The argument to the function, a floating-point or integer value + * @return Upon successful completion, the value of the cylindrical Neumann + * function ( Bessel function of the second kind) of @a nu + * and @a x. If the argument is @c nan, a @c nan is returned. If @a nu is + * greater or equal than @c 128, the behavior is implementation-defined. + */ + float cyl_neumann( float nu, + float x ); + /** * @brief 1-3) Computes the spherical associated Legendre function of * degree @a l, order @a m, and polar angle @a theta diff --git a/src/qlibs.h b/src/qlibs.h index ce956ff..ca1ba42 100644 --- a/src/qlibs.h +++ b/src/qlibs.h @@ -1,7 +1,7 @@ /*! * @file qlibs.h * @author J. Camilo Gomez C. - * @version 1.2.9 + * @version 1.3.0 * @note This file is part of the qlibs++ distribution. * @brief Global inclusion header **/ @@ -41,8 +41,8 @@ This file is part of the QuarkTS++ OS distribution. #ifndef QLIBS_CPP_H #define QLIBS_CPP_H - #define QLIBS_CPP_VERSION "1.2.9" - #define QLIBS_CPP_VERNUM ( 129U ) + #define QLIBS_CPP_VERSION "1.3.0" + #define QLIBS_CPP_VERNUM ( 130U ) #define QLIBS_CPP_CAPTION "qLibs++" QLIBS_CPP_VERSION #include