< prev index next >
doc/panama_foreign.md
Print this page
*** 46,62 ****
import java.foreign.Libraries;
import java.foreign.Scope;
import java.foreign.memory.Pointer;
// import jextracted python 'header' classes
! import static org.python.Python_h.*;
! import static org.python.pythonrun_h.*;
public class PythonMain {
public static void main(String[] args) {
Py_Initialize();
! try (Scope s = org.python.Python_h.scope().fork()) {
PyRun_SimpleStringFlags(s.allocateCString(
"print(sum([33, 55, 66])); print('Hello from Python!')\n"),
Pointer.ofNull());
}
Py_Finalize();
--- 46,62 ----
import java.foreign.Libraries;
import java.foreign.Scope;
import java.foreign.memory.Pointer;
// import jextracted python 'header' classes
! import static org.python.Python_lib.*;
! import static org.python.pythonrun_lib.*;
public class PythonMain {
public static void main(String[] args) {
Py_Initialize();
! try (Scope s = org.python.Python_lib.scope().fork()) {
PyRun_SimpleStringFlags(s.allocateCString(
"print(sum([33, 55, 66])); print('Hello from Python!')\n"),
Pointer.ofNull());
}
Py_Finalize();
*** 166,177 ****
```java
import java.lang.invoke.*;
import java.foreign.*;
import java.foreign.memory.*;
! import org.sqlite.sqlite3.*;
! import static org.sqlite.sqlite3_h.*;
public class SqliteMain {
public static void main(String[] args) throws Exception {
try (Scope scope = scope().fork()) {
// char* errMsg;
--- 166,177 ----
```java
import java.lang.invoke.*;
import java.foreign.*;
import java.foreign.memory.*;
! import org.sqlite.sqlite3_h.*;
! import static org.sqlite.sqlite3_lib.*;
public class SqliteMain {
public static void main(String[] args) throws Exception {
try (Scope scope = scope().fork()) {
// char* errMsg;
*** 351,372 ****
```java
import blas.cblas;
! import static blas.cblas_h.*;
! import static blas.cblas_h.CBLAS_ORDER.*;
! import static blas.cblas_h.CBLAS_TRANSPOSE.*;
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
public class TestBlas {
public static void main(String[] args) {
! @cblas.CBLAS_ORDER int Layout;
! @cblas.CBLAS_TRANSPOSE int transa;
double alpha, beta;
int m, n, lda, incx, incy, i;
Layout = CblasColMajor;
--- 351,372 ----
```java
import blas.cblas;
! import static blas.cblas_lib.*;
! import static blas.cblas_lib.CBLAS_ORDER.*;
! import static blas.cblas_lib.CBLAS_TRANSPOSE.*;
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
public class TestBlas {
public static void main(String[] args) {
! @blas.cblas_h.CBLAS_ORDER int Layout;
! @blas.cblas_h.CBLAS_TRANSPOSE int transa;
double alpha, beta;
int m, n, lda, incx, incy, i;
Layout = CblasColMajor;
*** 455,472 ****
```java
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
! import static lapack.clapack_h.*;
! import static lapack.cblas_h.*;
public class TestLapack {
public static void main(String[] args) {
/* Locals */
! try (Scope sc = lapack.clapack_h.scope().fork()) {
Array<Double> A = sc.allocateArray(NativeTypes.DOUBLE, new double[]{
1, 2, 3, 4, 5, 1, 3, 5, 2, 4, 1, 4, 2, 5, 3
});
Array<Double> b = sc.allocateArray(NativeTypes.DOUBLE, new double[]{
-10, 12, 14, 16, 18, -3, 14, 12, 16, 16
--- 455,472 ----
```java
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
! import static lapack.clapack_lib.*;
! import static lapack.cblas_lib.*;
public class TestLapack {
public static void main(String[] args) {
/* Locals */
! try (Scope sc = lapack.clapack_lib.scope().fork()) {
Array<Double> A = sc.allocateArray(NativeTypes.DOUBLE, new double[]{
1, 2, 3, 4, 5, 1, 3, 5, 2, 4, 1, 4, 2, 5, 3
});
Array<Double> b = sc.allocateArray(NativeTypes.DOUBLE, new double[]{
-10, 12, 14, 16, 18, -3, 14, 12, 16, 16
*** 538,548 ****
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
! import static lapack.lapacke_h.*;
public class TestLapack {
public static void main(String[] args) {
/* Locals */
--- 538,548 ----
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
! import static lapack.lapacke_lib.*;
public class TestLapack {
public static void main(String[] args) {
/* Locals */
*** 613,623 ****
```java
import java.foreign.*;
import java.foreign.memory.*;
! import static org.unix.libproc_h.*;
public class LibprocMain {
private static final int NAME_BUF_MAX = 256;
public static void main(String[] args) {
--- 613,623 ----
```java
import java.foreign.*;
import java.foreign.memory.*;
! import static org.unix.libproc_lib.*;
public class LibprocMain {
private static final int NAME_BUF_MAX = 256;
public static void main(String[] args) {
*** 674,684 ****
```java
import java.foreign.*;
import java.foreign.memory.*;
! import static org.unix.readline_h.*;
public class Readline {
public static void main(String[] args) {
// Scope for native allocations
try (Scope s = scope().fork()) {
--- 674,684 ----
```java
import java.foreign.*;
import java.foreign.memory.*;
! import static org.unix.readline_lib.*;
public class Readline {
public static void main(String[] args) {
// Scope for native allocations
try (Scope s = scope().fork()) {
*** 723,740 ****
```java
import java.lang.invoke.*;
import java.foreign.*;
import java.foreign.memory.*;
! import org.unix.curl.*;
! import org.unix.curl_h;
! import static org.unix.curl_h.*;
! import static org.unix.easy_h.*;
public class CurlMain {
public static void main(String[] args) {
! try (Scope s = curl_h.scope().fork()) {
curl_global_init(CURL_GLOBAL_DEFAULT);
Pointer<Void> curl = curl_easy_init();
if(!curl.isNull()) {
Pointer<Byte> url = s.allocateCString(args[0]);
curl_easy_setopt(curl, CURLOPT_URL, url);
--- 723,739 ----
```java
import java.lang.invoke.*;
import java.foreign.*;
import java.foreign.memory.*;
! import org.unix.curl_lib;
! import static org.unix.curl_lib.*;
! import static org.unix.easy_lib.*;
public class CurlMain {
public static void main(String[] args) {
! try (Scope s = curl_lib.scope().fork()) {
curl_global_init(CURL_GLOBAL_DEFAULT);
Pointer<Void> curl = curl_easy_init();
if(!curl.isNull()) {
Pointer<Byte> url = s.allocateCString(args[0]);
curl_easy_setopt(curl, CURLOPT_URL, url);
*** 773,789 ****
```java
import java.foreign.*;
import java.lang.invoke.*;
! import org.unix.unistd;
public class Getpid {
public static void main(String[] args) {
// bind unistd interface
! var u = Libraries.bind(MethodHandles.lookup(), unistd.class);
// call getpid from the unistd.h
System.out.println(u.getpid());
// check process id from Java API!
System.out.println(ProcessHandle.current().pid());
}
--- 772,788 ----
```java
import java.foreign.*;
import java.lang.invoke.*;
! import org.unix.unistd_h;
public class Getpid {
public static void main(String[] args) {
// bind unistd interface
! var u = Libraries.bind(MethodHandles.lookup(), unistd_h.class);
// call getpid from the unistd.h
System.out.println(u.getpid());
// check process id from Java API!
System.out.println(ProcessHandle.current().pid());
}
*** 838,849 ****
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
import java.foreign.memory.Pointer;
! import static opengl.gl_h.*;
! import static opengl.freeglut_std_h.*;
public class Teapot {
float rot = 0;
--- 837,848 ----
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
import java.foreign.memory.Pointer;
! import static opengl.gl_lib.*;
! import static opengl.freeglut_std_lib.*;
public class Teapot {
float rot = 0;
*** 882,892 ****
rot += 0.1;
glutPostRedisplay();
}
public static void main(String[] args) {
! try (Scope sc = opengl.gl_h.scope().fork()) {
Pointer<Integer> argc = sc.allocate(NativeTypes.INT32);
argc.set(0);
glutInit(argc, Pointer.ofNull());
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
glutInitWindowSize(900, 900);
--- 881,891 ----
rot += 0.1;
glutPostRedisplay();
}
public static void main(String[] args) {
! try (Scope sc = opengl.gl_lib.scope().fork()) {
Pointer<Integer> argc = sc.allocate(NativeTypes.INT32);
argc.set(0);
glutInit(argc, Pointer.ofNull());
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
glutInitWindowSize(900, 900);
*** 998,1019 ****
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
import java.foreign.memory.LayoutType;
import java.foreign.memory.Pointer;
! import org.tensorflow.panama.c_api.TF_DataType;
! import org.tensorflow.panama.c_api.TF_Graph;
! import org.tensorflow.panama.c_api.TF_Operation;
! import org.tensorflow.panama.c_api.TF_OperationDescription;
! import org.tensorflow.panama.c_api.TF_Output;
! import org.tensorflow.panama.c_api.TF_Session;
! import org.tensorflow.panama.c_api.TF_SessionOptions;
! import org.tensorflow.panama.c_api.TF_Status;
! import org.tensorflow.panama.c_api.TF_Tensor;
! import static org.tensorflow.panama.c_api_h.*;
! import static org.tensorflow.panama.c_api_h.TF_DataType.*;
public class TensorFlowExample {
static Pointer<TF_Operation> PlaceHolder(Pointer<TF_Graph> graph, Pointer<TF_Status> status,
@TF_DataType int dtype, String name) {
try (var s = scope().fork()) {
--- 997,1018 ----
import java.foreign.NativeTypes;
import java.foreign.Scope;
import java.foreign.memory.Array;
import java.foreign.memory.LayoutType;
import java.foreign.memory.Pointer;
! import org.tensorflow.panama.c_api_h.TF_DataType;
! import org.tensorflow.panama.c_api_h.TF_Graph;
! import org.tensorflow.panama.c_api_h.TF_Operation;
! import org.tensorflow.panama.c_api_h.TF_OperationDescription;
! import org.tensorflow.panama.c_api_h.TF_Output;
! import org.tensorflow.panama.c_api_h.TF_Session;
! import org.tensorflow.panama.c_api_h.TF_SessionOptions;
! import org.tensorflow.panama.c_api_h.TF_Status;
! import org.tensorflow.panama.c_api_h.TF_Tensor;
! import static org.tensorflow.panama.c_api_lib.*;
! import static org.tensorflow.panama.c_api_lib.TF_DataType.*;
public class TensorFlowExample {
static Pointer<TF_Operation> PlaceHolder(Pointer<TF_Graph> graph, Pointer<TF_Status> status,
@TF_DataType int dtype, String name) {
try (var s = scope().fork()) {
< prev index next >