|  | 
| #define | AT_DECLARE_ARRAY(UPPER,  type) | 
|  | Vetor Multidimensional.  More... 
 | 
|  | 
| #define | at_array_index_to_nd(array,  s,  s_nd)   at_index_to_nd(array->h.dim, array->h.step,s,s_nd) | 
|  | Convert 1D to ND. 
 | 
|  | 
| #define | at_array_index_to_1d(array,  s_nd,  s)   at_index_to_1d(array->h.dim, array->h.step,s_nd,s) | 
|  | Convert ND to 1D. 
 | 
|  | 
| #define | at_array_max(array) | 
|  | File max of array.  More... 
 | 
|  | 
| #define | at_array_destroy(array_ptr) | 
|  | Delete array.  More... 
 | 
|  | 
| #define | at_array_save(arrays,  names,  num,  filename)   at_arrayu8_save((AtArrayU8**)arrays,names,num,filename); | 
|  | Save array to file. 
 | 
|  | 
|  | 
| void | at_index_to_nd (uint8_t dim, uint64_t *step, uint64_t s, uint64_t *s_nd) | 
|  | at_index_to_nd  More... 
 | 
|  | 
| void | at_index_to_1d (uint8_t dim, uint64_t *step, int64_t *s_nd, uint64_t *s) | 
|  | at_index_to_1d  More... 
 | 
|  | 
| void | at_array_header_init (AtArrayHeader *header) | 
|  | at_array_header_init  More... 
 | 
|  | 
| void | at_array_header_set (AtArrayHeader *header, uint8_t dim, uint64_t *shape) | 
|  | at_array_header_set  More... 
 | 
|  | 
| void | at_array_header_dispose (AtArrayHeader *header) | 
|  | at_array_header_dispose  More... 
 | 
|  | 
| void | at_arrayu8_save (AtArrayU8 **arrays, char **names, uint8_t num, const char *filename) | 
|  | at_arrayu8_save  More... 
 | 
|  | 
| AtArrayU8 * | at_array_load (char ***namesp, uint8_t *nump, const char *filename) | 
|  | at_array_load  More... 
 | 
|  | 
| void | at_arrayu8_set_nd_many (AtArrayU8 *ar, uint64_t *coords, uint8_t *value) | 
|  | at_arrayu8_set_nd_many  More... 
 | 
|  | 
| void | at_arrayu16_sub_u8 (AtArrayU16 *ar, AtRange *ranges, AtArrayU8 **output) | 
|  | at_arrayu16_sub_u8  More... 
 | 
|  | 
| void | at_arrayheader_squeeze (AtArrayHeader *h) | 
|  | at_arrayheader_squeeze  More... 
 | 
|  | 
This file is part of the atkv project. Copyright 2016 Anderson Tavares noctu.nosp@m.rne..nosp@m.pe@gm.nosp@m.ail..nosp@m.com.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. 
      
        
          | #define AT_DECLARE_ARRAY | ( |  | UPPER, | 
        
          |  |  |  | type | 
        
          |  | ) |  |  | 
      
 
Value:typedef struct AtArray##UPPER{                    \
  AtArrayHeader h;         \
  type         *data;        \
}AtArray##UPPER;
Vetor Multidimensional. 
Para criar um vetor, é necessário saber a dimensão (dim) e o tamanho (shape) de cada uma. Por exemplo, podemos criar uma matriz bidimensional 5x4: dim = 2 e shape={5,4}. Note-se que o tamanho é {Y,X} e não {X,Y}, e dimensões adicionais devem ser colocadas primeiro ({Z,Y,X} por exemplo). dimensão é uint8 e shape é um array de uint64.