func Init() fvar(old, s, c, a) var(static) a = Numbers c = _arr.count(a) static = c > 0 if(static) // static array fvar(n, i) for(i = 0; i < c; i++) n &= a[i][0] end s = code(_arr.join(n, ',')) old = block.select(BLK_LOC) println('float ' + arr + '[' + c + '] = {' + s + '};') block.select(old) else // dynamic array lng.decl_priv_var(arr, 'float*') lng.decl_priv_var(arr_count, 'int') old = block.select(BLK_INIT) println(arr + ' = NULL;') println(arr_count + ' = 0;') block.select(old) end end func Array(_data) // read write count add if(_data[0] = "@perm@") if(static) return(1 & 1 & 0 & 0) else return(1 & 1 & 1 & 1) end elseif(_data[0] = "@read@") return((arr + '[' + _data[1] + ']')@real) elseif(_data[0] = "@write@") return(arr + '[' + _data[1] + '] = ' + e_real(_data[2])) elseif(_data[0] = "@count@") if(!static) return(arr_count@int) end elseif(_data[0] = "@add@") if(!static) return(arr_count + '++; ' + arr + ' = (float*)realloc((void*)' + arr + ', sizeof(float)*' + arr_count + '); ' + arr + '[' + arr_count + '-1] = ' + e_real(_data[1])) end else return('') end end