sdeoras / golang-embed-julia

simple example of calling julia from Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

golang-embed-julia

=====

example taken from: https://docs.julialang.org/en/v1/manual/embedding/#High-Level-Embedding-1 originally forked and modified from: https://github.com/glycerine/golang-embed-julia

system info

code was tested on Ubuntu-18 with following configuration.

$ gcc --version
gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0

$ go version
go version go1.11 linux/amd64

$ julia -v
julia version 1.0.1

$ uname -r
4.15.0-1021-gcp

example use

$ go build -o main .
$ ./main
1.4142135623730951
  0.088042 seconds (183.60 k allocations: 17.906 MiB)
  0.012806 seconds (6 allocations: 8.000 MiB)

protable app bundle contains:

$ tree ./
./
├── bin
├── lib
│   ├── julia
│   │   ├── libamd.so
│   │   ├── libcamd.so
│   │   ├── libccalltest.so
│   │   ├── libccalltest.so.debug
│   │   ├── libccolamd.so
│   │   ├── libcholmod.so
│   │   ├── libcolamd.so
│   │   ├── libcurl.so
│   │   ├── libcurl.so.4
│   │   ├── libcurl.so.4.5.0
│   │   ├── libdSFMT.so
│   │   ├── libgcc_s.so.1
│   │   ├── libgfortran.so.4
│   │   ├── libgit2.so
│   │   ├── libgit2.so.0.27.2
│   │   ├── libgit2.so.27
│   │   ├── libgmp.so
│   │   ├── libgmp.so.10
│   │   ├── libgmp.so.10.3.2
│   │   ├── libLLVM-6.0.0.so
│   │   ├── libLLVM-6.0.so
│   │   ├── libLLVM.so
│   │   ├── libmbedcrypto.so
│   │   ├── libmbedcrypto.so.0
│   │   ├── libmbedcrypto.so.2.6.0
│   │   ├── libmbedtls.so
│   │   ├── libmbedtls.so.10
│   │   ├── libmbedtls.so.2.6.0
│   │   ├── libmbedx509.so
│   │   ├── libmbedx509.so.0
│   │   ├── libmbedx509.so.2.6.0
│   │   ├── libmpfr.so
│   │   ├── libmpfr.so.6
│   │   ├── libmpfr.so.6.0.1
│   │   ├── libopenblas64_.so
│   │   ├── libopenblas64_.so.0
│   │   ├── libopenlibm.so
│   │   ├── libopenlibm.so.2
│   │   ├── libopenlibm.so.2.5
│   │   ├── libpcre2-8.so
│   │   ├── libpcre2-8.so.0
│   │   ├── libpcre2-8.so.0.6.0
│   │   ├── libquadmath.so.0
│   │   ├── libspqr.so
│   │   ├── libssh2.so
│   │   ├── libssh2.so.1
│   │   ├── libssh2.so.1.0.1
│   │   ├── libstdc++.so.6
│   │   ├── libsuitesparseconfig.so
│   │   ├── libsuitesparse_wrapper.so
│   │   ├── libumfpack.so
│   │   └── sys.so
│   ├── libjulia.so
│   ├── libjulia.so.1
│   ├── libjulia.so.1.0
│   ├── libLLVM-6.0.0.so
│   ├── libLLVM-6.0.so
│   └── libLLVM.so
└── main

About

simple example of calling julia from Go

License:MIT License


Languages

Language:Go 73.0%Language:C 17.6%Language:Shell 9.4%