xref: /petsc/interfaces/lua/src/luasrc.c (revision 9895aa37ac365bac650f6bd8bf977519f7222510)
1 #include <petsc.h>
2 #include <lua.h>
3 
4 int lua_VecCreate(lua_State *L)
5 {
6   PetscErrorCode ierr;
7   Vec            vec;
8 
9   ierr = VecCreate(PETSC_COMM_SELF,&vec);
10   lua_pushlightuserdata (L,vec);
11   return 1;
12 }
13 
14 int lua_VecSetSize(lua_State *L)
15 {
16   PetscErrorCode ierr;
17   Vec            vec;
18   PetscInt       n;
19   int            isnum;
20 
21   vec = (Vec) lua_touserdata(L,1);
22   n   = (PetscInt) lua_tointegerx(L,2,&isnum);
23    printf("%p %d\n",vec,n);
24   ierr = VecSetSizes(vec,n,n);
25   return 0;
26 }
27 
28 int luaopen_libpetsc(lua_State *L)
29 {
30   PetscInitializeNoArguments();
31   lua_register(L,"VecCreate",(lua_CFunction)lua_VecCreate);
32   lua_register(L,"VecSetSize",(lua_CFunction)lua_VecSetSize);
33   return(0);
34 }
35