Vars
C_DBL {.importc: "C_DBL", header: "ga.h".}: cint
C_FLOAT {.importc: "C_FLOAT", header: "ga.h".}: cint
C_INT {.importc: "C_INT", header: "ga.h".}: cint
C_LONGLONG {.importc: "C_LONGLONG", header: "ga.h".}: cint
Procs
proc alloc(handle: cint) {....raises: [ValueError], tags: [], forbids: [].}
proc GA_Allocate(g_a: cint): cint {.importc: "GA_Allocate", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Brdcst(buf: pointer; n: cint; root: cint) {.importc: "GA_Brdcst", header: "ga.h", discardable, ...raises: [], tags: [], forbids: [].}
proc GA_Copy(g_a: cint; g_b: cint) {.importc: "GA_Copy", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Create_handle(): cint {.importc: "GA_Create_handle", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Destroy(g_a: cint) {.importc: "GA_Destroy", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Dgop(x: ptr float64; n: cint; op: cstring) {.importc: "GA_Dgop", header: "ga.h", discardable, ...raises: [], tags: [], forbids: [].}
proc GA_Fence() {.importc: "GA_Fence", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Fgop(x: ptr float32; n: cint; op: cstring) {.importc: "GA_Fgop", header: "ga.h", discardable, ...raises: [], tags: [], forbids: [].}
proc GA_Igop(x: ptr int32; n: cint; op: cstring) {.importc: "GA_Igop", header: "ga.h", discardable, ...raises: [], tags: [], forbids: [].}
proc GA_Init_fence() {.importc: "GA_Init_fence", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Lgop(x: ptr int64; n: cint; op: cstring) {.importc: "GA_Lgop", header: "ga.h", discardable, ...raises: [], tags: [], forbids: [].}
proc GA_Nnodes(): cint {.importc: "GA_Nnodes", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Nodeid(): cint {.importc: "GA_Nodeid", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Set_chunk(g_a: cint; chunk_dims: ptr cint) {.importc: "GA_Set_chunk", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Set_data(g_a: cint; array_ndim: cint; array_dims: ptr cint; data_type: cint) {.importc: "GA_Set_data", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Set_ghosts(g_a: cint; widths: ptr cint) {.importc: "GA_Set_ghosts", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Set_name(g_a: cint; name: ptr cchar) {.importc: "GA_Set_array_name", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Sync() {.importc: "GA_Sync", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Update_ghost_dir(g_a: cint; dir: cint; side: cint; update_corners: cint) {. importc: "NGA_Update_ghost_dir", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc GA_Update_ghosts(g_a: cint) {.importc: "GA_Update_ghosts", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc localIndices[D: static[int]](handle: cint; lo, hi: var array[D, cint])
proc newHandle(): cint {....raises: [], tags: [], forbids: [].}
proc NGA_Access(g_a: cint; lo: ptr cint; hi: ptr cint; p: ptr pointer; ld: ptr cint) {.importc: "NGA_Access", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Access_ghosts(g_a: cint; dims: ptr cint; p: ptr pointer; ld: ptr cint) {. importc: "NGA_Access_ghosts", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Distribution(g_a: cint; pid: cint; lo: ptr cint; hi: ptr cint) {. importc: "NGA_Distribution", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Get(g_a: cint; lo: ptr cint; hi: ptr cint; buf: pointer; ld: ptr cint) {. importc: "NGA_Get", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Periodic_get(g_a: cint; lo: ptr cint; hi: ptr cint; buf: pointer; ld: ptr cint) {.importc: "NGA_Periodic_get", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Periodic_put(g_a: cint; lo: ptr cint; hi: ptr cint; buf: pointer; ld: ptr cint) {.importc: "NGA_Periodic_put", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Put(g_a: cint; lo: ptr cint; hi: ptr cint; buf: pointer; ld: ptr cint) {. importc: "NGA_Put", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc NGA_Release(g_a: cint; lo: ptr cint; hi: ptr cint) {. importc: "NGA_Release", header: "ga.h", ...raises: [], tags: [], forbids: [].}
proc setChunk[D: static[int]](handle: cint; chunks: array[D, cint])
proc setData[D: static[int]](handle: cint; dims: array[D, cint]; T: typedesc)
proc setGhosts[D: static[int]](handle: cint; widths: array[D, cint])
proc setName(handle: cint; name: cstring) {....raises: [], tags: [], forbids: [].}