From 5dc7009819265054f097b045d841b441bd9e8d33 Mon Sep 17 00:00:00 2001 From: DhruvArvindSingh Date: Sun, 4 Jan 2026 19:24:57 +0530 Subject: [PATCH 1/6] feat: adds fortrand and c implementation of blas/base/srotg --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: passed - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: missing_dependencies - task: lint_c_examples status: missing_dependencies - task: lint_c_benchmarks status: missing_dependencies - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/blas/base/srotg/README.md | 131 +++++ .../blas/base/srotg/benchmark/benchmark.js | 108 ++-- .../base/srotg/benchmark/benchmark.native.js | 109 ++++ .../base/srotg/benchmark/benchmark.ndarray.js | 108 ++++ .../benchmark/benchmark.ndarray.native.js | 113 ++++ .../blas/base/srotg/benchmark/c/Makefile | 146 ++++++ .../base/srotg/benchmark/c/benchmark.length.c | 193 +++++++ .../base/srotg/benchmark/fortran/Makefile | 141 +++++ .../benchmark/fortran/benchmark.length.f | 213 ++++++++ .../@stdlib/blas/base/srotg/binding.gyp | 265 ++++++++++ .../@stdlib/blas/base/srotg/docs/repl.txt | 12 +- .../blas/base/srotg/examples/c/Makefile | 146 ++++++ .../blas/base/srotg/examples/c/example.c | 49 ++ .../@stdlib/blas/base/srotg/include.gypi | 70 +++ .../srotg/include/stdlib/blas/base/srotg.h | 48 ++ .../include/stdlib/blas/base/srotg_cblas.h | 43 ++ .../include/stdlib/blas/base/srotg_fortran.h | 41 ++ .../blas/base/srotg/lib/assign.native.js | 52 ++ .../@stdlib/blas/base/srotg/lib/index.js | 15 +- .../@stdlib/blas/base/srotg/lib/main.js | 23 +- .../@stdlib/blas/base/srotg/lib/native.js | 35 ++ .../@stdlib/blas/base/srotg/lib/srotg.js | 48 ++ .../blas/base/srotg/lib/srotg.native.js | 51 ++ .../@stdlib/blas/base/srotg/manifest.json | 486 ++++++++++++++++++ .../@stdlib/blas/base/srotg/package.json | 4 + .../@stdlib/blas/base/srotg/src/Makefile | 70 +++ .../@stdlib/blas/base/srotg/src/addon.c | 63 +++ .../@stdlib/blas/base/srotg/src/srotg.c | 34 ++ .../@stdlib/blas/base/srotg/src/srotg.f | 105 ++++ .../blas/base/srotg/src/srotg_assign.c | 75 +++ .../@stdlib/blas/base/srotg/src/srotg_cblas.c | 48 ++ .../@stdlib/blas/base/srotg/src/srotg_f.c | 72 +++ .../base/srotg/test/test.assign.native.js | 163 ++++++ .../@stdlib/blas/base/srotg/test/test.js | 56 +- .../@stdlib/blas/base/srotg/test/test.main.js | 97 ---- .../blas/base/srotg/test/test.srotg.js | 97 ++++ .../blas/base/srotg/test/test.srotg.native.js | 106 ++++ 37 files changed, 3459 insertions(+), 177 deletions(-) create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/benchmark.ndarray.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/benchmark.ndarray.native.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/c/benchmark.length.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/fortran/Makefile create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/benchmark/fortran/benchmark.length.f create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/binding.gyp create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/include.gypi create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/include/stdlib/blas/base/srotg.h create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/include/stdlib/blas/base/srotg_cblas.h create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/include/stdlib/blas/base/srotg_fortran.h create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/lib/assign.native.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/lib/native.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/lib/srotg.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/lib/srotg.native.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/manifest.json create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/Makefile create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/addon.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/srotg.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/srotg.f create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/srotg_assign.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/srotg_cblas.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/src/srotg_f.c create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/test/test.assign.native.js delete mode 100644 lib/node_modules/@stdlib/blas/base/srotg/test/test.main.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/test/test.srotg.js create mode 100644 lib/node_modules/@stdlib/blas/base/srotg/test/test.srotg.native.js diff --git a/lib/node_modules/@stdlib/blas/base/srotg/README.md b/lib/node_modules/@stdlib/blas/base/srotg/README.md index 7fa9b5bc1174..604b75f0eece 100644 --- a/lib/node_modules/@stdlib/blas/base/srotg/README.md +++ b/lib/node_modules/@stdlib/blas/base/srotg/README.md @@ -92,6 +92,137 @@ for ( i = 0; i < 100; i++ ) { + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/blas/base/srotg.h" +``` + +#### c_srotg( a, b, \*Out, strideOut ) + +Constructs a Givens plane rotation provided two single-precision floating-point values `a` and `b`. + +```c +float Out[4]; +c_srotg( 0.0, 2.0, Out, 1 ); +// Out => [ 2.0, 1.0, 0.0, 1.0 ] +``` + +The function accepts the following arguments: + +- **a**: `[in] float` rotational elimination parameter. +- **b**: `[in] float` rotational elimination parameter. +- **Out**: `[inout] float*` output array. +- **strideOut**: `[in] CBLAS_INT` stride length for `Out`. + +```c +void c_srotg_assign( float a, float b, float* Out, const CBLAS_INT strideOut, const CBLAS_INT offsetOut ); +``` + +#### c_srotg_assign(a, b, \*Out, strideOut, offsetOut ) + +Constructs a Givens plane rotation provided two single-precision floating-point values `a` and `b` and assigns results to an output array. + +```c +float Out[4]; +c_srotg_assign( 0.0, 2.0, Out, 1, 0 ); +// Out => [ 2.0, 1.0, 0.0, 1.0 ] +``` + +The function accepts the following arguments: + +- **a**: `[in] float` rotational elimination parameter. +- **b**: `[in] float` rotational elimination parameter. +- **Out**: `[inout] float*` output array. +- **strideOut**: `[in] CBLAS_INT` stride length for `Out`. +- **offsetOut**: `[in] CBLAS_INT` starting index for `Out`. + +Givens transformation. + +```c +void c_srotg_assign( float a, float b, float* Out, const CBLAS_INT strideOut, const CBLAS_INT offsetOut ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/blas/base/srotg.h" +#include + +int main( void ) { + // Specify rotational elimination parameter: + const float a = 0.0; + const float b = 2.0; + int i; + + // Create strided arrays: + float Out[4]; + + // Specify stride lengths: + const int strideOut = 1; + + // Apply plane rotation: + c_srotg( a, b, Out, strideOut ); + + // Print the result: + for ( i = 0; i < 4; i++ ) { + printf( "Out[%d] = %f\n", i, Out[i] ); + } + + // Apply plane rotation + c_srotg_assign( a, b, Out, strideOut, 0 ); + + // Print the result: + for ( i = 0; i < 4; i++ ) { + printf( "Out[%d] = %f\n", i, Out[i] ); + } +} +``` + +
+ + + +
+ + +