amino  1.0-beta2
Lightweight Robot Utility Library
io.h
1 /* -*- mode: C; c-basic-offset: 4 -*- */
2 /* ex: set shiftwidth=4 tabstop=4 expandtab: */
3 /*
4  * Copyright (c) 2010-2011, Georgia Tech Research Corporation
5  * All rights reserved.
6  *
7  * Author(s): Neil T. Dantam <ntd@gatech.edu>
8  * Georgia Tech Humanoid Robotics Lab
9  * Under Direction of Prof. Mike Stilman <mstilman@cc.gatech.edu>
10  *
11  *
12  * This file is provided under the following "BSD-style" License:
13  *
14  *
15  * Redistribution and use in source and binary forms, with or
16  * without modification, are permitted provided that the following
17  * conditions are met:
18  *
19  * * Redistributions of source code must retain the above copyright
20  * notice, this list of conditions and the following disclaimer.
21  *
22  * * Redistributions in binary form must reproduce the above
23  * copyright notice, this list of conditions and the following
24  * disclaimer in the documentation and/or other materials provided
25  * with the distribution.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
28  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
29  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
30  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
31  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
32  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
35  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
36  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
38  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39  * POSSIBILITY OF SUCH DAMAGE.
40  *
41  */
42 
43 #ifndef AMINO_IO_H
44 #define AMINO_IO_H
45 
48 AA_API ssize_t aa_read_realloc(int fd, void **buf, size_t off, size_t *max);
49 
50 #define AA_IO_ISCOMMENT(x) ('#' == (x))
51 
53 char *aa_io_getline( FILE *fin, struct aa_mem_region *reg );
54 
56 size_t aa_io_d_parse( const char *str, struct aa_mem_region *reg, double **X, char **lendptr );
57 
59 char *aa_io_skipblank( const char *str );
60 
62 size_t aa_io_parsevector( const char *str, size_t n, double *X, size_t incx, char **endptr );
63 
65 size_t aa_io_getvector( FILE *fin, struct aa_mem_region *reg, size_t n, double *X, size_t incx );
66 
70 size_t aa_io_fread_matrix_fix( FILE *fin, size_t m, size_t n,
71  double *A, size_t lda );
72 
85 ssize_t aa_io_fread_matrix_heap( FILE *fin, size_t n,
86  double **A, size_t *elts );
94 ssize_t aa_io_d_print( FILE *fout, size_t n,
95  const double *x, size_t incx );
96 
106 ssize_t aa_io_d_gemp( FILE *fout, AA_CBLAS_ORDER file_order, size_t m, size_t n,
107  const double *A, size_t lda );
108 
109 #endif //AMINO_IO_H
#define AA_API
calling and name mangling convention for functions
Definition: amino.h:95
Data Structure for Region-Based memory allocation.
Definition: mem.h:199