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
35 changes: 35 additions & 0 deletions graphblas-java/src/main/c/unsafe.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,41 @@ JNIEXPORT jint JNICALL JNI_OnLoad (JavaVM *jvm, void *reserved) {
return check_grb_error(GrB_init(GrB_NONBLOCKING) );
}

JNIEXPORT jlong JNICALL Java_com_github_fabianmurariu_unsafe_GRBCORE_initBlocking
(JNIEnv * env, jclass cls) {
return check_grb_error(GrB_init(GrB_BLOCKING) );
}

JNIEXPORT jint JNICALL Java_com_github_fabianmurariu_unsafe_GRBCORE_getGlobalInt
(JNIEnv * env, jclass cls, jint field) {
GxB_Option_Field global_field = (GxB_Option_Field) field;
int value;
check_grb_error(GxB_Global_Option_get(global_field, &value));

return (jint) value;
}

JNIEXPORT jdouble JNICALL Java_com_github_fabianmurariu_unsafe_GRBCORE_getGlobalDouble
(JNIEnv * env, jclass cls, jint field) {
GxB_Option_Field global_field = (GxB_Option_Field) field;
double value;
check_grb_error(GxB_Global_Option_get(global_field, &value));

return (jdouble) value;
}

JNIEXPORT jlong JNICALL Java_com_github_fabianmurariu_unsafe_GRBCORE_setGlobalInt
(JNIEnv * env, jclass cls, jint field, jint value) {
GxB_Option_Field global_field = (GxB_Option_Field) field;
return check_grb_error(GxB_Global_Option_set(global_field, value));
}

JNIEXPORT jlong JNICALL Java_com_github_fabianmurariu_unsafe_GRBCORE_setGlobalDouble
(JNIEnv * env, jclass cls, jint field, jdouble value) {
GxB_Option_Field global_field = (GxB_Option_Field) field;
return check_grb_error(GxB_Global_Option_set(global_field, value));
}

JNIEXPORT jlong JNICALL Java_com_github_fabianmurariu_unsafe_GRBCORE_grbWait
(JNIEnv * env, jclass cls) {
return check_grb_error(GrB_wait());
Expand Down
48 changes: 41 additions & 7 deletions graphblas-java/src/main/c/unsafe_gen.c
Original file line number Diff line number Diff line change
Expand Up @@ -1277,7 +1277,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -1318,7 +1317,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -1359,7 +1357,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -1400,7 +1397,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -1441,7 +1437,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -1482,7 +1477,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -1523,7 +1517,6 @@ long check_grb_error(GrB_Info info);
// NON OPTIONAL STUFF
GrB_Vector w = (GrB_Vector) (*env)->GetDirectBufferAddress(env, vec);

// !DIFFERENCE: ni == vector size -> GrB_ALL .. as no way to get pointer to GrB_ALL object in java
GrB_Index* I = NULL;
GrB_Index grb_ni = (GrB_Index) ni;
jlong * java_is = (*env)->GetLongArrayElements(env, is, NULL);
Expand Down Expand Up @@ -2713,3 +2706,44 @@ JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRBMONOID_createM
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_EQ_BOOL_MONOID, 0);
}

JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpTRIL
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_TRIL, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpTRIU
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_TRIU, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpDIAG
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_DIAG, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpOFFDIAG
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_OFFDIAG, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpNONZERO
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_NONZERO, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpEQ_ZERO
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_EQ_ZERO, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpGT_ZERO
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_GT_ZERO, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpGE_ZERO
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_GE_ZERO, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpLT_ZERO
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_LT_ZERO, 0);
}
JNIEXPORT jobject JNICALL Java_com_github_fabianmurariu_unsafe_GRAPHBLAS_selectOpLE_ZERO
(JNIEnv * env, jclass cls){
return (*env)->NewDirectByteBuffer(env, GxB_LE_ZERO, 0);
}
Loading