Kiwamu Okabe
unread,Jul 12, 2015, 8:09:27 AM7/12/15Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ats-lang-users
I try to cast @[int][N] into gfarray_v (int, l, xs).
But it's hard to access first entry of gfarray in this time...
local
#define N 16
var _global_arr: @[int][N]?
in
fun arr_takeout (): [l:addr][xs:ilist] (LENGTH (xs, N), gfarray_v
(int, l, xs) | ptr l) = let
extern castfn cast_takeout {l:addr} (ptr l):
[xs:ilist] (LENGTH (xs, N), gfarray_v (int, l, xs) | ptr l)
in
cast_takeout addr@_global_arr
end
fun arr_addback {l:addr}{xs:ilist} (pfarr: gfarray_v (int, l, xs) |
addr: ptr l): void = let
extern castfn cast_addback {l:addr}{xs:ilist} (pfarr: gfarray_v
(int, l, xs) | addr: ptr l): void
in
cast_addback (pfarr | addr)
end
end
implement main0 () = {
val (pflen, pfarr | arr) = arr_takeout ()
prval nth0 = NTHbas ()
val v = gfarray_get_at (nth0, pfarr | arr, i2sz 0)
// val () = arr_addback (pfarr | arr)
}
--
Kiwamu Okabe