(bind-func fluid_cube_create
(lambda (size_x size_y diffusion viscosity dt:double)
(let ((cube:fluidcube* (halloc))
(size2:i64 (* size_x size_y 10))
(s:double* (halloc size2))
(density:double* (heap-alloc size2))
(Vx:double* (heap-alloc size2))
(Vy:double* (heap-alloc size2))
(Vx0:double* (heap-alloc size2))
(Vy0:double* (heap-alloc size2)))
(tfill! cube size_x dt diffusion viscosity s density Vx Vy Vx0 Vy0 size_y)
cube)))