Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -325,19 +325,19 @@ public void dgeev(String jobvl, String jobvr, int n, double[] a, int offseta, in
requireNonNull(a);
requireNonNull(wr);
requireNonNull(wi);
if (lsame("N", jobvl))
if (lsame("V", jobvl))
requireNonNull(vl);
if (lsame("N", jobvr))
if (lsame("V", jobvr))
requireNonNull(vr);
requireNonNull(work);
requireNonNull(info);
if (lwork != -1) {
checkIndex(offseta + n * lda - 1, a.length);
checkIndex(offsetwr + n - 1, wr.length);
checkIndex(offsetwi + n - 1, wi.length);
if (lsame("N", jobvl))
if (lsame("V", jobvl))
checkIndex(offsetvl + n * ldvl - 1, vl.length);
if (lsame("N", jobvr))
if (lsame("V", jobvr))
checkIndex(offsetvr + n * ldvr - 1, vr.length);
}
checkIndex(offsetwork + Math.max(1, lwork) - 1, work.length);
Expand Down Expand Up @@ -4959,19 +4959,19 @@ public void sgeev(String jobvl, String jobvr, int n, float[] a, int offseta, int
requireNonNull(a);
requireNonNull(wr);
requireNonNull(wi);
if (lsame("N", jobvl))
if (lsame("V", jobvl))
requireNonNull(vl);
if (lsame("N", jobvr))
if (lsame("V", jobvr))
requireNonNull(vr);
requireNonNull(work);
requireNonNull(info);
if (lwork != -1) {
checkIndex(offseta + n * lda - 1, a.length);
checkIndex(offsetwr + n - 1, wr.length);
checkIndex(offsetwi + n - 1, wi.length);
if (lsame("N", jobvl))
if (lsame("V", jobvl))
checkIndex(offsetvl + n * ldvl - 1, vl.length);
if (lsame("N", jobvr))
if (lsame("V", jobvr))
checkIndex(offsetvr + n * ldvr - 1, vr.length);
}
checkIndex(offsetwork + Math.max(1, lwork) - 1, work.length);
Expand Down
12 changes: 11 additions & 1 deletion lapack/src/test/java/dev/ludovic/netlib/lapack/DgeevTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,21 @@
import org.junit.jupiter.params.provider.MethodSource;
import static org.junit.jupiter.api.Assertions.*;

import org.netlib.util.intW;

public class DgeevTest extends LAPACKTest {

@ParameterizedTest
@MethodSource("LAPACKImplementations")
void testSanity(LAPACK lapack) {
org.junit.jupiter.api.Assumptions.assumeTrue(false);
int n = 2;
double[] a = {1.0, 0.75, 0.5, 1.0};
double[] wr = new double[2];
double[] wi = new double[2];
int lwork = 68; // optimal size from previous query
double[] work = new double[lwork];
intW info = new intW(2);

lapack.dgeev("N", "N", n, a, n, wr, wi, new double[1], 1, new double[1], 1, work, lwork, info);
}
}
12 changes: 11 additions & 1 deletion lapack/src/test/java/dev/ludovic/netlib/lapack/SgeevTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,21 @@
import org.junit.jupiter.params.provider.MethodSource;
import static org.junit.jupiter.api.Assertions.*;

import org.netlib.util.intW;

public class SgeevTest extends LAPACKTest {

@ParameterizedTest
@MethodSource("LAPACKImplementations")
void testSanity(LAPACK lapack) {
org.junit.jupiter.api.Assumptions.assumeTrue(false);
int n = 2;
float[] a = {1.0f, 0.75f, 0.5f, 1.0f};
float[] wr = new float[2];
float[] wi = new float[2];
int lwork = 68; // optimal size from previous query
float[] work = new float[lwork];
intW info = new intW(2);

lapack.sgeev("N", "N", n, a, n, wr, wi, new float[1], 1, new float[1], 1, work, lwork, info);
}
}