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

feat: add lapack/base/dlaqge #2759

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

Pranavchiku
Copy link
Member

Towards #2464.

Description

What is the purpose of this pull request?

This pull request adds JS implementation for lapack/base/dlaqge.

Related Issues

Does this pull request have any related issues?

NA

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.

Checklist

Please ensure the following tasks are completed before submitting this pull request.


@stdlib-js/reviewers

@Pranavchiku Pranavchiku added Feature Issue or pull request for adding a new feature. Base Issue or pull requests related to "low-level" functionality oriented toward library consumers. JavaScript Issue involves or relates to JavaScript. LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK). labels Aug 7, 2024
@Pranavchiku Pranavchiku marked this pull request as ready for review August 8, 2024 10:15
}

thresh = 0.1;
small = 1.0020841800044864E-292;
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
small = 1.0020841800044864E-292;
// TODO: use `dlamch( 'S' ) / dlamch( 'P' )` once it is merged.
small = 1.0020841800044864E-292;

- **sc**: stride length for `C`.
- **oc**: starting index of `C`.
- **rc**: ratio of the smallest to the largest row scale factor.
- **cc**: ratio of the smallest to the largest column scale factor.
Copy link
Member

Choose a reason for hiding this comment

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

Missing ax in this list.

return 'N';
}

if ( isRowMajor( [ strideA1, strideA2 ] ) ) {
Copy link
Member

Choose a reason for hiding this comment

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

Given that A is MxN, you also need to swap the loop limits when performing loop interchange. It isn't enough to simply swap the strides.

Copy link
Member Author

Choose a reason for hiding this comment

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

I do not remember what I did. IIRC the code is already optimized, sa0 was used internally for both row-major and column-major and thus I removed code duplication.

@kgryte kgryte added the Needs Changes Pull request which needs changes before being merged. label Aug 12, 2024
@kgryte
Copy link
Member

kgryte commented Sep 17, 2024

Now that dlamch has been merged, this PR can be updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Base Issue or pull requests related to "low-level" functionality oriented toward library consumers. Feature Issue or pull request for adding a new feature. JavaScript Issue involves or relates to JavaScript. LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK). Needs Changes Pull request which needs changes before being merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants