| cpl_array.h | | cpl_array.h | |
|
| /* $Id: cpl_array.h,v 1.14 2009/11/18 13:10:42 cizzo Exp $ | | /* $Id: cpl_array.h,v 1.15 2010/04/12 14:49:08 cizzo Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2006 European Southern Observatory | | * Copyright (C) 2001-2006 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A | | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: cizzo $ | | * $Author: cizzo $ | |
|
| * $Date: 2009/11/18 13:10:42 $ | | * $Date: 2010/04/12 14:49:08 $ | |
| * $Revision: 1.14 $ | | * $Revision: 1.15 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_ARRAY_H | | #ifndef CPL_ARRAY_H | |
| #define CPL_ARRAY_H | | #define CPL_ARRAY_H | |
| | | | |
| #include <stdio.h> | | #include <stdio.h> | |
| #include <cpl_macros.h> | | #include <cpl_macros.h> | |
| #include <cpl_type.h> | | #include <cpl_type.h> | |
| #include <cpl_error.h> | | #include <cpl_error.h> | |
| | | | |
| | | | |
| skipping to change at line 114 | | skipping to change at line 114 | |
| double cpl_array_get_mean(const cpl_array *); | | double cpl_array_get_mean(const cpl_array *); | |
| double cpl_array_get_median(const cpl_array *); | | double cpl_array_get_median(const cpl_array *); | |
| double cpl_array_get_stdev(const cpl_array *); | | double cpl_array_get_stdev(const cpl_array *); | |
| | | | |
| double cpl_array_get_max(const cpl_array *); | | double cpl_array_get_max(const cpl_array *); | |
| double cpl_array_get_min(const cpl_array *); | | double cpl_array_get_min(const cpl_array *); | |
| cpl_error_code cpl_array_get_maxpos(const cpl_array *, int *); | | cpl_error_code cpl_array_get_maxpos(const cpl_array *, int *); | |
| cpl_error_code cpl_array_get_minpos(const cpl_array *, int *); | | cpl_error_code cpl_array_get_minpos(const cpl_array *, int *); | |
| void cpl_array_dump_structure(const cpl_array *, FILE *); | | void cpl_array_dump_structure(const cpl_array *, FILE *); | |
| void cpl_array_dump(const cpl_array *, int start, int count, FILE *); | | void cpl_array_dump(const cpl_array *, int start, int count, FILE *); | |
|
| | | cpl_array *cpl_array_cast(cpl_array *, cpl_type); | |
| | | | |
| CPL_END_DECLS | | CPL_END_DECLS | |
| | | | |
| #endif | | #endif | |
| /* end of cpl_array.h */ | | /* end of cpl_array.h */ | |
| | | | |
End of changes. 3 change blocks. |
| 4 lines changed or deleted | | 5 lines changed or added | |
|
| cpl_filter.h | | cpl_filter.h | |
|
| /* $Id: cpl_filter.h,v 1.12 2009/04/27 13:05:36 lbilbao Exp $ | | /* $Id: cpl_filter.h,v 1.16 2010/05/03 11:15:25 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
|
| * $Author: lbilbao $ | | * $Author: llundin $ | |
| * $Date: 2009/04/27 13:05:36 $ | | * $Date: 2010/05/03 11:15:25 $ | |
| * $Revision: 1.12 $ | | * $Revision: 1.16 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_FILTER_H | | #ifndef CPL_FILTER_H | |
| #define CPL_FILTER_H | | #define CPL_FILTER_H | |
| | | | |
| #include <cpl_macros.h> | | #include <cpl_macros.h> | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| | | | |
| skipping to change at line 76 | | skipping to change at line 76 | |
| * <td class="ecr"> | | * <td class="ecr"> | |
| * Do not modify the border of the filtered image. | | * Do not modify the border of the filtered image. | |
| * </td> | | * </td> | |
| * </tr> | | * </tr> | |
| * <tr> | | * <tr> | |
| * <td class="ecl">CPL_BORDER_COPY</td> | | * <td class="ecl">CPL_BORDER_COPY</td> | |
| * <td class="ecr"> | | * <td class="ecr"> | |
| * Copy the border of the raw image | | * Copy the border of the raw image | |
| * </td> | | * </td> | |
| * </tr> | | * </tr> | |
|
| | | * <tr> | |
| | | * <td class="ecl">CPL_BORDER_ZERO</td> | |
| | | * <td class="ecr"> | |
| | | * Set the border of the filtered mask to zero | |
| | | * </td> | |
| | | * </tr> | |
| * </table> | | * </table> | |
| * | | * | |
| * | | * | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| | | | |
| enum _cpl_border_mode_ | | enum _cpl_border_mode_ | |
| { | | { | |
| CPL_BORDER_FILTER, | | CPL_BORDER_FILTER, | |
| /* | | /* | |
| Filter the border. | | Filter the border. | |
| */ | | */ | |
| | | | |
|
| | | CPL_BORDER_ZERO, | |
| | | /* | |
| | | Set the border to zero. | |
| | | */ | |
| | | | |
| CPL_BORDER_CROP, | | CPL_BORDER_CROP, | |
| /* | | /* | |
|
| Crop filtered image | | Crop filtered image. | |
| */ | | */ | |
| | | | |
| CPL_BORDER_NOP, | | CPL_BORDER_NOP, | |
| /* | | /* | |
| Do not modify the border of the filtered image. | | Do not modify the border of the filtered image. | |
| */ | | */ | |
| | | | |
| CPL_BORDER_COPY | | CPL_BORDER_COPY | |
| /* | | /* | |
|
| Copy the border of the raw image | | Copy the border of the raw image. | |
| */ | | */ | |
| | | | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * @ingroup cpl_image_filter | | * @ingroup cpl_image_filter | |
| * | | * | |
| * @brief | | * @brief | |
| * The border mode type. | | * The border mode type. | |
| */ | | */ | |
| | | | |
| skipping to change at line 227 | | skipping to change at line 238 | |
| 7 8 9 ... 3.0 1.0 2.0 ... | | 7 8 9 ... 3.0 1.0 2.0 ... | |
| ... 7.0 8.0 9.0 ... | | ... 7.0 8.0 9.0 ... | |
| ... | | ... | |
| @endverbatim | | @endverbatim | |
| * | | * | |
| * The filtered value corresponding to the pixel whose value is 5.0 is: | | * The filtered value corresponding to the pixel whose value is 5.0 is: | |
| * \f$\frac{(1*1.0+2*2.0+3*3.0+4*4.0+5*5.0+6*6.0+7*7.0+8*8.0+9*9.0)}{1+2+3
+4+5+6+7+8+9}\f$ | | * \f$\frac{(1*1.0+2*2.0+3*3.0+4*4.0+5*5.0+6*6.0+7*7.0+8*8.0+9*9.0)}{1+2+3
+4+5+6+7+8+9}\f$ | |
| * | | * | |
| * </td> | | * </td> | |
| * </tr> | | * </tr> | |
|
| | | * <tr> | |
| | | * <td class="ecl">CPL_FILTER_EROSION</td> | |
| | | * <td class="ecr"> | |
| | | * The binary erosion filter. This filter is used in mask filtering. | |
| | | * </td> | |
| | | * </tr> | |
| | | * <tr> | |
| | | * <td class="ecl">CPL_FILTER_DILATION</td> | |
| | | * <td class="ecr"> | |
| | | * The binary dilation filter. This filter is used in mask filtering | |
| | | . | |
| | | * </td> | |
| | | * </tr> | |
| | | * <tr> | |
| | | * <td class="ecl">CPL_FILTER_OPENING</td> | |
| | | * <td class="ecr"> | |
| | | * The binary opening filter. This filter is used in mask filtering. | |
| | | * </td> | |
| | | * </tr> | |
| | | * <tr> | |
| | | * <td class="ecl">CPL_FILTER_CLOSING</td> | |
| | | * <td class="ecr"> | |
| | | * The binary closing filter. This filter is used in mask filtering. | |
| | | * </td> | |
| | | * </tr> | |
| * </table> | | * </table> | |
| * | | * | |
| * | | * | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| | | | |
| enum _cpl_filter_mode_ | | enum _cpl_filter_mode_ | |
| { | | { | |
| | | | |
|
| | | CPL_FILTER_EROSION, | |
| | | | |
| | | /* | |
| | | The erosion filter for binary images (cpl_mask) | |
| | | */ | |
| | | | |
| | | CPL_FILTER_DILATION, | |
| | | | |
| | | /* | |
| | | The dilation filter for binary images (cpl_mask) | |
| | | */ | |
| | | | |
| | | CPL_FILTER_OPENING, | |
| | | | |
| | | /* | |
| | | The opening filter for binary images (cpl_mask) | |
| | | */ | |
| | | | |
| | | CPL_FILTER_CLOSING, | |
| | | | |
| | | /* | |
| | | The closing filter for binary images (cpl_mask) | |
| | | */ | |
| | | | |
| CPL_FILTER_LINEAR, | | CPL_FILTER_LINEAR, | |
| /* | | /* | |
| A linear filter. | | A linear filter. | |
| */ | | */ | |
| | | | |
| CPL_FILTER_AVERAGE, | | CPL_FILTER_AVERAGE, | |
| /* | | /* | |
| An average filter. | | An average filter. | |
| */ | | */ | |
| | | | |
| | | | |
End of changes. 8 change blocks. |
| 7 lines changed or deleted | | 67 lines changed or added | |
|
| cpl_image_bpm.h | | cpl_image_bpm.h | |
|
| /* $Id: cpl_image_bpm.h,v 1.16 2008/07/21 08:48:39 llundin Exp $ | | /* $Id: cpl_image_bpm.h,v 1.17 2010/04/08 11:59:09 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2008/07/21 08:48:39 $ | | * $Date: 2010/04/08 11:59:09 $ | |
| * $Revision: 1.16 $ | | * $Revision: 1.17 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_IMAGE_BPM_H | | #ifndef CPL_IMAGE_BPM_H | |
| #define CPL_IMAGE_BPM_H | | #define CPL_IMAGE_BPM_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include "cpl_image.h" | | #include "cpl_image.h" | |
| #include "cpl_bivector.h" | | #include "cpl_bivector.h" | |
| #include "cpl_mask.h" | | #include "cpl_mask.h" | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| /* Info on the bad pixels */ | | /* Info on the bad pixels */ | |
|
| int cpl_image_count_rejected(const cpl_image *) ; | | int cpl_image_count_rejected(const cpl_image *); | |
| int cpl_image_is_rejected(const cpl_image *, int, int) ; | | int cpl_image_is_rejected(const cpl_image *, int, int); | |
| | | | |
| /* To modify an image's bad pixel map */ | | /* To modify an image's bad pixel map */ | |
|
| cpl_error_code cpl_image_reject(cpl_image *, int, int) ; | | cpl_error_code cpl_image_reject(cpl_image *, int, int); | |
| cpl_error_code cpl_image_accept(cpl_image *, int, int) ; | | cpl_error_code cpl_image_accept(cpl_image *, int, int); | |
| cpl_error_code cpl_image_accept_all(cpl_image *) ; | | cpl_error_code cpl_image_accept_all(cpl_image *); | |
| cpl_error_code cpl_image_reject_from_mask(cpl_image *, const cpl_mask *) ; | | cpl_error_code cpl_image_reject_from_mask(cpl_image *, const cpl_mask *); | |
| | | | |
| CPL_END_DECLS | | CPL_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 4 change blocks. |
| 10 lines changed or deleted | | 10 lines changed or added | |
|
| cpl_image_io.h | | cpl_image_io.h | |
|
| /* $Id: cpl_image_io.h,v 1.67 2009/09/15 13:05:53 llundin Exp $ | | /* $Id: cpl_image_io.h,v 1.68 2010/04/08 12:00:28 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/09/15 13:05:53 $ | | * $Date: 2010/04/08 12:00:28 $ | |
| * $Revision: 1.67 $ | | * $Revision: 1.68 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_IMAGE_IO_H | | #ifndef CPL_IMAGE_IO_H | |
| #define CPL_IMAGE_IO_H | | #define CPL_IMAGE_IO_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| New types | | New types | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| typedef struct _cpl_image_ cpl_image; | | typedef struct _cpl_image_ cpl_image; | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| | | | |
| /* Image constructors */ | | /* Image constructors */ | |
| cpl_image * cpl_image_new(int, int, cpl_type); | | cpl_image * cpl_image_new(int, int, cpl_type); | |
| cpl_image * cpl_image_wrap_double(int, int, double *); | | cpl_image * cpl_image_wrap_double(int, int, double *); | |
| cpl_image * cpl_image_wrap_float(int, int, float *); | | cpl_image * cpl_image_wrap_float(int, int, float *); | |
| cpl_image * cpl_image_wrap_int(int, int, int *); | | cpl_image * cpl_image_wrap_int(int, int, int *); | |
| #ifdef _Complex_I | | #ifdef _Complex_I | |
| cpl_image * cpl_image_wrap_double_complex(int, int, double complex *); | | cpl_image * cpl_image_wrap_double_complex(int, int, double complex *); | |
| cpl_image * cpl_image_wrap_float_complex(int, int, float complex *); | | cpl_image * cpl_image_wrap_float_complex(int, int, float complex *); | |
| #endif | | #endif | |
|
| cpl_image * cpl_image_load(const char *, cpl_type, int, int) ; | | cpl_image * cpl_image_load(const char *, cpl_type, int, int); | |
| cpl_image * cpl_image_load_window(const char *, cpl_type, int, int, int, in
t, | | cpl_image * cpl_image_load_window(const char *, cpl_type, int, int, int, in
t, | |
|
| int, int) ; | | int, int); | |
| cpl_image * cpl_image_new_from_mask(const cpl_mask *) ; | | cpl_image * cpl_image_new_from_mask(const cpl_mask *); | |
| cpl_image * cpl_image_labelise_mask_create(const cpl_mask *, int *) ; | | cpl_image * cpl_image_labelise_mask_create(const cpl_mask *, int *); | |
| | | | |
| /* Get functions */ | | /* Get functions */ | |
|
| cpl_type cpl_image_get_type(const cpl_image *) ; | | cpl_type cpl_image_get_type(const cpl_image *); | |
| int cpl_image_get_size_x(const cpl_image *) ; | | int cpl_image_get_size_x(const cpl_image *); | |
| int cpl_image_get_size_y(const cpl_image *) ; | | int cpl_image_get_size_y(const cpl_image *); | |
| double cpl_image_get(const cpl_image *, int, int, int *) ; | | double cpl_image_get(const cpl_image *, int, int, int *); | |
| | | | |
| #ifdef _Complex_I | | #ifdef _Complex_I | |
|
| double complex cpl_image_get_complex(const cpl_image *, int, int, int *) ; | | double complex cpl_image_get_complex(const cpl_image *, int, int, int *); | |
| cpl_error_code cpl_image_set_complex(cpl_image *, int, int, double complex)
; | | cpl_error_code cpl_image_set_complex(cpl_image *, int, int, double complex)
; | |
| #endif | | #endif | |
| | | | |
|
| cpl_mask * cpl_image_get_bpm(cpl_image *) ; | | cpl_mask * cpl_image_unset_bpm(cpl_image *); | |
| const cpl_mask * cpl_image_get_bpm_const(const cpl_image *) ; | | cpl_mask * cpl_image_get_bpm(cpl_image *); | |
| void * cpl_image_get_data(cpl_image *) ; | | const cpl_mask * cpl_image_get_bpm_const(const cpl_image *); | |
| const void * cpl_image_get_data_const(const cpl_image *) ; | | void * cpl_image_get_data(cpl_image *); | |
| double * cpl_image_get_data_double(cpl_image *) ; | | const void * cpl_image_get_data_const(const cpl_image *); | |
| const double * cpl_image_get_data_double_const(const cpl_image *) ; | | double * cpl_image_get_data_double(cpl_image *); | |
| float * cpl_image_get_data_float(cpl_image *) ; | | const double * cpl_image_get_data_double_const(const cpl_image *); | |
| const float * cpl_image_get_data_float_const(const cpl_image *) ; | | float * cpl_image_get_data_float(cpl_image *); | |
| int * cpl_image_get_data_int(cpl_image *) ; | | const float * cpl_image_get_data_float_const(const cpl_image *); | |
| const int * cpl_image_get_data_int_const(const cpl_image *) ; | | int * cpl_image_get_data_int(cpl_image *); | |
| | | const int * cpl_image_get_data_int_const(const cpl_image *); | |
| #ifdef _Complex_I | | #ifdef _Complex_I | |
|
| double complex * cpl_image_get_data_double_complex(cpl_image *) ; | | double complex * cpl_image_get_data_double_complex(cpl_image *); | |
| const double complex * cpl_image_get_data_double_complex_const(const cpl_im | | const double complex * cpl_image_get_data_double_complex_const(const cpl_im | |
| age *) ; | | age *); | |
| float complex * cpl_image_get_data_float_complex(cpl_image *) ; | | float complex * cpl_image_get_data_float_complex(cpl_image *); | |
| const float complex * cpl_image_get_data_float_complex_const(const cpl_imag | | const float complex * cpl_image_get_data_float_complex_const(const cpl_imag | |
| e *) ; | | e *); | |
| #endif | | #endif | |
| | | | |
| /* Set functions */ | | /* Set functions */ | |
|
| cpl_error_code cpl_image_set(cpl_image *, int, int, double) ; | | cpl_error_code cpl_image_set(cpl_image *, int, int, double); | |
| cpl_error_code cpl_image_fill_rejected(cpl_image *, double) ; | | cpl_error_code cpl_image_fill_rejected(cpl_image *, double); | |
| | | | |
| /* Image destructor */ | | /* Image destructor */ | |
|
| void cpl_image_delete(cpl_image *) ; | | void cpl_image_delete(cpl_image *); | |
| void * cpl_image_unwrap(cpl_image *) ; | | void * cpl_image_unwrap(cpl_image *); | |
| | | | |
| /* Debugging functions */ | | /* Debugging functions */ | |
| cpl_error_code cpl_image_dump_structure(const cpl_image *, FILE *); | | cpl_error_code cpl_image_dump_structure(const cpl_image *, FILE *); | |
| cpl_error_code cpl_image_dump_window(const cpl_image *, int, int, int, int, | | cpl_error_code cpl_image_dump_window(const cpl_image *, int, int, int, int, | |
| FILE *); | | FILE *); | |
| | | | |
| /* Others */ | | /* Others */ | |
|
| cpl_image * cpl_image_duplicate(const cpl_image *) ; | | cpl_image * cpl_image_duplicate(const cpl_image *); | |
| cpl_image * cpl_image_cast(const cpl_image *, cpl_type) ; | | cpl_image * cpl_image_cast(const cpl_image *, cpl_type); | |
| | | | |
| /* Saving function */ | | /* Saving function */ | |
| cpl_error_code cpl_image_save(const cpl_image *, const char *, cpl_type_bpp
, | | cpl_error_code cpl_image_save(const cpl_image *, const char *, cpl_type_bpp
, | |
| const cpl_propertylist *, unsigned); | | const cpl_propertylist *, unsigned); | |
| | | | |
| CPL_END_DECLS | | CPL_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 11 change blocks. |
| 35 lines changed or deleted | | 36 lines changed or added | |
|
| cpl_io.h | | cpl_io.h | |
|
| /* $Id: cpl_io.h,v 1.13 2009/12/04 14:54:26 llundin Exp $ | | /* $Id: cpl_io.h,v 1.14 2010/02/23 12:43:03 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/12/04 14:54:26 $ | | * $Date: 2010/02/23 12:43:03 $ | |
| * $Revision: 1.13 $ | | * $Revision: 1.14 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_IO_H | | #ifndef CPL_IO_H | |
| #define CPL_IO_H | | #define CPL_IO_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include <cpl_macros.h> | | #include <cpl_macros.h> | |
| | | | |
| skipping to change at line 54 | | skipping to change at line 54 | |
| * The modes can be combined with bitwise or. | | * The modes can be combined with bitwise or. | |
| * No mode has the value 1, which makes the (mis)use of logical or detectab
le. | | * No mode has the value 1, which makes the (mis)use of logical or detectab
le. | |
| */ | | */ | |
| | | | |
| /* CPL_IO_CREATE: files opened for writing will be overwritten */ | | /* CPL_IO_CREATE: files opened for writing will be overwritten */ | |
| #define CPL_IO_CREATE ((unsigned)1 << 1) | | #define CPL_IO_CREATE ((unsigned)1 << 1) | |
| | | | |
| /* CPL_IO_EXTEND: Data is saved in an new extension appended to the file */ | | /* CPL_IO_EXTEND: Data is saved in an new extension appended to the file */ | |
| #define CPL_IO_EXTEND ((unsigned)1 << 2) | | #define CPL_IO_EXTEND ((unsigned)1 << 2) | |
| | | | |
|
| /* CPL_IO_APPEEND: Data is appended to the last data unit */ | | /* CPL_IO_APPEND: Data is appended to the last data unit */ | |
| #define CPL_IO_APPEND ((unsigned)1 << 3) | | #define CPL_IO_APPEND ((unsigned)1 << 3) | |
| | | | |
| /* The maximum value for the IO mode bitmask */ | | /* The maximum value for the IO mode bitmask */ | |
| #define CPL_IO_MAX (CPL_IO_APPEND) | | #define CPL_IO_MAX (CPL_IO_APPEND) | |
| | | | |
| /* For backwards compatibility */ | | /* For backwards compatibility */ | |
| #define CPL_IO_DEFAULT ((unsigned)CPL_IO_CREATE) | | #define CPL_IO_DEFAULT ((unsigned)CPL_IO_CREATE) | |
| | | | |
| typedef enum { | | typedef enum { | |
| /* FITS pixel depths */ | | /* FITS pixel depths */ | |
| | | | |
End of changes. 3 change blocks. |
| 5 lines changed or deleted | | 5 lines changed or added | |
|
| cpl_mask.h | | cpl_mask.h | |
|
| /* $Id: cpl_mask.h,v 1.23 2009/03/26 14:52:39 llundin Exp $ | | /* $Id: cpl_mask.h,v 1.26 2010/04/28 13:47:56 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/03/26 14:52:39 $ | | * $Date: 2010/04/28 13:47:56 $ | |
| * $Revision: 1.23 $ | | * $Revision: 1.26 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_MASK_H | | #ifndef CPL_MASK_H | |
| #define CPL_MASK_H | | #define CPL_MASK_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| New types | | New types | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
|
| typedef struct _cpl_mask_ cpl_mask ; | | typedef struct _cpl_mask_ cpl_mask; | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include "cpl_image_io.h" | | #include "cpl_image_io.h" | |
| #include "cpl_matrix.h" | | #include "cpl_matrix.h" | |
|
| | | #include "cpl_filter.h" | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| cpl_binary type definition | | cpl_binary type definition | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
|
| typedef unsigned char cpl_binary ; | | typedef unsigned char cpl_binary; | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Define | | Define | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #define CPL_BINARY_1 (cpl_binary)1 | | #define CPL_BINARY_1 (cpl_binary)1 | |
| #define CPL_BINARY_0 (cpl_binary)0 | | #define CPL_BINARY_0 (cpl_binary)0 | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| /* IO operations */ | | /* IO operations */ | |
|
| cpl_mask * cpl_mask_new(int, int) ; | | cpl_mask * cpl_mask_new(int, int); | |
| cpl_mask * cpl_mask_wrap(int, int, cpl_binary *) ; | | cpl_mask * cpl_mask_wrap(int, int, cpl_binary *); | |
| cpl_mask * cpl_mask_duplicate(const cpl_mask *) ; | | cpl_mask * cpl_mask_duplicate(const cpl_mask *); | |
| void cpl_mask_delete(cpl_mask *) ; | | void cpl_mask_delete(cpl_mask *); | |
| void * cpl_mask_unwrap(cpl_mask *) ; | | void * cpl_mask_unwrap(cpl_mask *); | |
| cpl_error_code cpl_mask_dump_window(const cpl_mask *, int, int, | | cpl_error_code cpl_mask_dump_window(const cpl_mask *, int, int, | |
| int, int, FILE *); | | int, int, FILE *); | |
| | | | |
| /* Accessor functions */ | | /* Accessor functions */ | |
|
| cpl_binary * cpl_mask_get_data(cpl_mask *) ; | | cpl_binary * cpl_mask_get_data(cpl_mask *); | |
| const cpl_binary * cpl_mask_get_data_const(const cpl_mask *) ; | | const cpl_binary * cpl_mask_get_data_const(const cpl_mask *); | |
| cpl_binary cpl_mask_get(const cpl_mask *, int, int) ; | | cpl_binary cpl_mask_get(const cpl_mask *, int, int); | |
| cpl_error_code cpl_mask_set(cpl_mask *, int, int, cpl_binary) ; | | cpl_error_code cpl_mask_set(cpl_mask *, int, int, cpl_binary); | |
| int cpl_mask_get_size_x(const cpl_mask *) ; | | int cpl_mask_get_size_x(const cpl_mask *); | |
| int cpl_mask_get_size_y(const cpl_mask *) ; | | int cpl_mask_get_size_y(const cpl_mask *); | |
| | | | |
| /* Basic operations */ | | /* Basic operations */ | |
| cpl_boolean cpl_mask_is_empty(const cpl_mask *); | | cpl_boolean cpl_mask_is_empty(const cpl_mask *); | |
| cpl_boolean cpl_mask_is_empty_window(const cpl_mask *, int, int, int, int); | | cpl_boolean cpl_mask_is_empty_window(const cpl_mask *, int, int, int, int); | |
|
| int cpl_mask_count(const cpl_mask *) ; | | int cpl_mask_count(const cpl_mask *); | |
| int cpl_mask_count_window(const cpl_mask *, int, int, int, int) ; | | int cpl_mask_count_window(const cpl_mask *, int, int, int, int); | |
| cpl_error_code cpl_mask_and(cpl_mask *, const cpl_mask *) ; | | cpl_error_code cpl_mask_and(cpl_mask *, const cpl_mask *); | |
| cpl_error_code cpl_mask_or(cpl_mask *, const cpl_mask *) ; | | cpl_error_code cpl_mask_or(cpl_mask *, const cpl_mask *); | |
| cpl_error_code cpl_mask_xor(cpl_mask *, const cpl_mask *) ; | | cpl_error_code cpl_mask_xor(cpl_mask *, const cpl_mask *); | |
| cpl_error_code cpl_mask_not(cpl_mask *) ; | | cpl_error_code cpl_mask_not(cpl_mask *); | |
| cpl_mask * cpl_mask_collapse_create(const cpl_mask *, int) ; | | cpl_mask * cpl_mask_collapse_create(const cpl_mask *, int); | |
| cpl_mask * cpl_mask_extract(const cpl_mask *, int, int, int, int) ; | | cpl_mask * cpl_mask_extract(const cpl_mask *, int, int, int, int); | |
| cpl_error_code cpl_mask_turn(cpl_mask *, int) ; | | cpl_error_code cpl_mask_turn(cpl_mask *, int); | |
| cpl_error_code cpl_mask_shift(cpl_mask *, int, int) ; | | cpl_error_code cpl_mask_shift(cpl_mask *, int, int); | |
| cpl_error_code cpl_mask_copy(cpl_mask *, const cpl_mask *, int, int) ; | | cpl_error_code cpl_mask_copy(cpl_mask *, const cpl_mask *, int, int); | |
| cpl_error_code cpl_mask_flip(cpl_mask *, int) ; | | cpl_error_code cpl_mask_flip(cpl_mask *, int); | |
| cpl_error_code cpl_mask_move(cpl_mask *, int, const int *) ; | | cpl_error_code cpl_mask_move(cpl_mask *, int, const int *); | |
| cpl_mask * cpl_mask_extract_subsample(const cpl_mask *, int, int) ; | | cpl_mask * cpl_mask_extract_subsample(const cpl_mask *, int, int); | |
| | | | |
| /* Morphological operations */ | | /* Morphological operations */ | |
|
| cpl_error_code cpl_mask_closing(cpl_mask *, const cpl_matrix *) ; | | cpl_error_code cpl_mask_filter(cpl_mask *, const cpl_mask *, const cpl_mask | |
| cpl_error_code cpl_mask_opening(cpl_mask *, const cpl_matrix *) ; | | *, | |
| cpl_error_code cpl_mask_erosion(cpl_mask *, const cpl_matrix *) ; | | cpl_filter_mode, cpl_border_mode); | |
| cpl_error_code cpl_mask_dilation(cpl_mask *, const cpl_matrix *) ; | | cpl_error_code cpl_mask_closing(cpl_mask *, const cpl_matrix *) | |
| | | #ifdef __GNUC__ | |
| | | __attribute__((deprecated)) | |
| | | #endif | |
| | | ; | |
| | | cpl_error_code cpl_mask_opening(cpl_mask *, const cpl_matrix *) | |
| | | #ifdef __GNUC__ | |
| | | __attribute__((deprecated)) | |
| | | #endif | |
| | | ; | |
| | | cpl_error_code cpl_mask_erosion(cpl_mask *, const cpl_matrix *) | |
| | | #ifdef __GNUC__ | |
| | | __attribute__((deprecated)) | |
| | | #endif | |
| | | ; | |
| | | cpl_error_code cpl_mask_dilation(cpl_mask *, const cpl_matrix *) | |
| | | #ifdef __GNUC__ | |
| | | __attribute__((deprecated)) | |
| | | #endif | |
| | | ; | |
| | | | |
| /* Zones selection */ | | /* Zones selection */ | |
|
| cpl_mask * cpl_mask_threshold_image_create(const cpl_image *, double, doubl
e) ; | | cpl_mask * cpl_mask_threshold_image_create(const cpl_image *, double, doubl
e); | |
| | | | |
| CPL_END_DECLS | | CPL_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 10 change blocks. |
| 36 lines changed or deleted | | 56 lines changed or added | |
|
| cpl_memory.h | | cpl_memory.h | |
|
| /* $Id: cpl_memory.h,v 1.17 2009/12/08 09:33:22 llundin Exp $ | | /* $Id: cpl_memory.h,v 1.19 2010/03/11 16:54:17 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2005 European Southern Observatory | | * Copyright (C) 2001-2005 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/12/08 09:33:22 $ | | * $Date: 2010/03/11 16:54:17 $ | |
| * $Revision: 1.17 $ | | * $Revision: 1.19 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_MEMORY_H | | #ifndef CPL_MEMORY_H | |
| #define CPL_MEMORY_H | | #define CPL_MEMORY_H | |
| | | | |
| #include <sys/types.h> | | #include <sys/types.h> | |
| #include <stdarg.h> | | #include <stdarg.h> | |
| | | | |
| #include <cpl_macros.h> | | #include <cpl_macros.h> | |
| | | | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| #endif | | #endif | |
| | | | |
| /*-------------------------------------------------------------------------
--- | | /*-------------------------------------------------------------------------
--- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
--*/ | | --------------------------------------------------------------------------
--*/ | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
| void *cpl_malloc(size_t) | | void *cpl_malloc(size_t) | |
| #ifdef CPL_HAVE_GNUC_ALLOC_SIZE | | #ifdef CPL_HAVE_GNUC_ALLOC_SIZE | |
|
| __attribute__((warn_unused_result, alloc_size(1))) | | __attribute__((warn_unused_result, malloc, alloc_size(1))) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| #endif | | #endif | |
| ; | | ; | |
| void *cpl_calloc(size_t, size_t) | | void *cpl_calloc(size_t, size_t) | |
| #ifdef CPL_HAVE_GNUC_ALLOC_SIZE | | #ifdef CPL_HAVE_GNUC_ALLOC_SIZE | |
|
| __attribute__((warn_unused_result, alloc_size(1,2))) | | __attribute__((warn_unused_result, malloc, alloc_size(1,2))) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| #endif | | #endif | |
| ; | | ; | |
| void *cpl_realloc(void *, size_t) | | void *cpl_realloc(void *, size_t) | |
| #ifdef CPL_HAVE_GNUC_ALLOC_SIZE | | #ifdef CPL_HAVE_GNUC_ALLOC_SIZE | |
| __attribute__((warn_unused_result, alloc_size(2))) | | __attribute__((warn_unused_result, alloc_size(2))) | |
| #endif | | #endif | |
| ; | | ; | |
| | | | |
| void cpl_free(void *); | | void cpl_free(void *); | |
| | | | |
| char *cpl_strdup(const char *) | | char *cpl_strdup(const char *) | |
| #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| __attribute__((warn_unused_result, malloc)) | | __attribute__((warn_unused_result, malloc)) | |
|
| | | #else | |
| | | __attribute__((malloc)) | |
| #endif | | #endif | |
| ; | | ; | |
| char *cpl_vsprintf(const char *, va_list) | | char *cpl_vsprintf(const char *, va_list) | |
| #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| __attribute__((warn_unused_result, malloc, format (printf, 1, 0))) | | __attribute__((warn_unused_result, malloc, format (printf, 1, 0))) | |
| #elif defined __GNUC__ | | #elif defined __GNUC__ | |
| __attribute__((malloc, format (printf, 1, 0))) | | __attribute__((malloc, format (printf, 1, 0))) | |
| #endif | | #endif | |
| ; | | ; | |
| | | | |
| | | | |
End of changes. 5 change blocks. |
| 6 lines changed or deleted | | 12 lines changed or added | |
|
| cpl_plot.h | | cpl_plot.h | |
|
| /* $Id: cpl_plot.h,v 1.7 2008/07/21 08:48:40 llundin Exp $ | | /* $Id: cpl_plot.h,v 1.8 2010/04/22 13:13:57 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2008/07/21 08:48:40 $ | | * $Date: 2010/04/22 13:13:57 $ | |
| * $Revision: 1.7 $ | | * $Revision: 1.8 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_PLOT_H | | #ifndef CPL_PLOT_H | |
| #define CPL_PLOT_H | | #define CPL_PLOT_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include "cpl_error.h" | | #include "cpl_error.h" | |
| #include "cpl_vector.h" | | #include "cpl_vector.h" | |
| #include "cpl_bivector.h" | | #include "cpl_bivector.h" | |
| #include "cpl_table.h" | | #include "cpl_table.h" | |
| #include "cpl_image.h" | | #include "cpl_image.h" | |
|
| | | #include "cpl_mask.h" | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| cpl_error_code cpl_plot_vector(const char *, const char *, const char *, | | cpl_error_code cpl_plot_vector(const char *, const char *, const char *, | |
|
| const cpl_vector *); | | const cpl_vector *); | |
| | | | |
| cpl_error_code cpl_plot_vectors(const char *, const char *, const char *, | | cpl_error_code cpl_plot_vectors(const char *, const char *, const char *, | |
|
| const cpl_vector **, int); | | const cpl_vector **, int); | |
| | | | |
| cpl_error_code cpl_plot_bivector(const char *, const char *, const char *, | | cpl_error_code cpl_plot_bivector(const char *, const char *, const char *, | |
|
| const cpl_bivector *); | | const cpl_bivector *); | |
| | | | |
| cpl_error_code cpl_plot_bivectors(const char *, const char **, const char *
, | | cpl_error_code cpl_plot_bivectors(const char *, const char **, const char *
, | |
|
| const cpl_bivector **, int); | | const cpl_bivector **, int); | |
| | | | |
| | | cpl_error_code cpl_plot_mask(const char *, const char *, const char *, | |
| | | const cpl_mask *); | |
| | | | |
| cpl_error_code cpl_plot_image(const char *, const char *, const char *, | | cpl_error_code cpl_plot_image(const char *, const char *, const char *, | |
|
| const cpl_image *); | | const cpl_image *); | |
| | | | |
| cpl_error_code cpl_plot_image_row(const char *, const char *, const char *, | | cpl_error_code cpl_plot_image_row(const char *, const char *, const char *, | |
|
| const cpl_image *, int, int, int); | | const cpl_image *, int, int, int); | |
| | | | |
| cpl_error_code cpl_plot_image_col(const char *, const char *, const char *, | | cpl_error_code cpl_plot_image_col(const char *, const char *, const char *, | |
|
| const cpl_image *, int, int, int); | | const cpl_image *, int, int, int); | |
| | | | |
| cpl_error_code cpl_plot_column(const char *, const char *, const char *, | | cpl_error_code cpl_plot_column(const char *, const char *, const char *, | |
|
| const cpl_table *, const char *, const char *); | | const cpl_table *, const char *, const char
*); | |
| | | | |
| cpl_error_code cpl_plot_columns(const char *, const char *, const char *, | | cpl_error_code cpl_plot_columns(const char *, const char *, const char *, | |
|
| const cpl_table *, const char **, int); | | const cpl_table *, const char **, int); | |
| | | | |
| CPL_END_DECLS | | CPL_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 12 change blocks. |
| 13 lines changed or deleted | | 17 lines changed or added | |
|
| cpl_polynomial.h | | cpl_polynomial.h | |
|
| /* $Id: cpl_polynomial.h,v 1.34 2009/01/21 14:07:37 llundin Exp $ | | /* $Id: cpl_polynomial.h,v 1.35 2010/03/11 17:17:18 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/01/21 14:07:37 $ | | * $Date: 2010/03/11 17:17:18 $ | |
| * $Revision: 1.34 $ | | * $Revision: 1.35 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_POLYNOMIAL_H | | #ifndef CPL_POLYNOMIAL_H | |
| #define CPL_POLYNOMIAL_H | | #define CPL_POLYNOMIAL_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include <stdio.h> | | #include <stdio.h> | |
| #include <cpl_macros.h> | | #include <cpl_macros.h> | |
| #include "cpl_vector.h" | | #include "cpl_vector.h" | |
| #include "cpl_bivector.h" | | #include "cpl_bivector.h" | |
| #include "cpl_error.h" | | #include "cpl_error.h" | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
|
| | | /*------------------------------------------------------------------------- | |
| | | --- | |
| | | Defines | |
| | | -------------------------------------------------------------------------- | |
| | | --*/ | |
| | | | |
| | | #undef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | | |
| | | #if defined __GNUC__ && __GNUC__ > 3 | |
| | | #define CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | #endif | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| New types | | New types | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| typedef struct _cpl_polynomial_ cpl_polynomial; | | typedef struct _cpl_polynomial_ cpl_polynomial; | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| /* cpl_polynomial handling */ | | /* cpl_polynomial handling */ | |
|
| cpl_polynomial * cpl_polynomial_new(int); | | cpl_polynomial * cpl_polynomial_new(int) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| void cpl_polynomial_delete(cpl_polynomial *); | | void cpl_polynomial_delete(cpl_polynomial *); | |
| cpl_error_code cpl_polynomial_dump(const cpl_polynomial *, FILE *); | | cpl_error_code cpl_polynomial_dump(const cpl_polynomial *, FILE *); | |
|
| cpl_polynomial * cpl_polynomial_duplicate(const cpl_polynomial *); | | cpl_polynomial * cpl_polynomial_duplicate(const cpl_polynomial *) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| cpl_error_code cpl_polynomial_copy(cpl_polynomial *, const cpl_polynomial *
); | | cpl_error_code cpl_polynomial_copy(cpl_polynomial *, const cpl_polynomial *
); | |
| | | | |
| /* Accessor functions */ | | /* Accessor functions */ | |
| double cpl_polynomial_get_coeff(const cpl_polynomial *, const int *); | | double cpl_polynomial_get_coeff(const cpl_polynomial *, const int *); | |
| cpl_error_code cpl_polynomial_set_coeff(cpl_polynomial *, const int *, doub
le); | | cpl_error_code cpl_polynomial_set_coeff(cpl_polynomial *, const int *, doub
le); | |
| | | | |
| /* Basic operations */ | | /* Basic operations */ | |
| int cpl_polynomial_compare(const cpl_polynomial *, const cpl_polynomial *, | | int cpl_polynomial_compare(const cpl_polynomial *, const cpl_polynomial *, | |
| double tol); | | double tol); | |
| int cpl_polynomial_get_dimension(const cpl_polynomial *); | | int cpl_polynomial_get_dimension(const cpl_polynomial *); | |
| int cpl_polynomial_get_degree(const cpl_polynomial *); | | int cpl_polynomial_get_degree(const cpl_polynomial *); | |
| double cpl_polynomial_eval(const cpl_polynomial *, const cpl_vector *); | | double cpl_polynomial_eval(const cpl_polynomial *, const cpl_vector *); | |
| | | | |
| cpl_polynomial * cpl_polynomial_extract(const cpl_polynomial *, int, | | cpl_polynomial * cpl_polynomial_extract(const cpl_polynomial *, int, | |
|
| const cpl_polynomial *); | | const cpl_polynomial *) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| | | | |
| cpl_error_code cpl_polynomial_derivative(cpl_polynomial *, int); | | cpl_error_code cpl_polynomial_derivative(cpl_polynomial *, int); | |
| | | | |
| cpl_error_code cpl_polynomial_fit(cpl_polynomial *, | | cpl_error_code cpl_polynomial_fit(cpl_polynomial *, | |
| const cpl_matrix *, | | const cpl_matrix *, | |
| const cpl_boolean *, | | const cpl_boolean *, | |
| const cpl_vector *, | | const cpl_vector *, | |
| const cpl_vector *, | | const cpl_vector *, | |
| cpl_boolean , | | cpl_boolean , | |
| const int *, | | const int *, | |
| | | | |
End of changes. 6 change blocks. |
| 7 lines changed or deleted | | 37 lines changed or added | |
|
| cpl_recipedefine.h | | cpl_recipedefine.h | |
|
| /* $Id: cpl_recipedefine.h,v 1.6 2008/11/10 14:01:36 llundin Exp $ | | /* $Id: cpl_recipedefine.h,v 1.8 2010/03/11 15:03:30 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2006 European Southern Observatory | | * Copyright (C) 2001-2006 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 U
SA | | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 U
SA | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2008/11/10 14:01:36 $ | | * $Date: 2010/03/11 15:03:30 $ | |
| * $Revision: 1.6 $ | | * $Revision: 1.8 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_RECIPEDEFINE_H | | #ifndef CPL_RECIPEDEFINE_H | |
| #define CPL_RECIPEDEFINE_H | | #define CPL_RECIPEDEFINE_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include <cpl_recipe.h> | | #include <cpl_recipe.h> | |
| #include <cpl_plugininfo.h> | | #include <cpl_plugininfo.h> | |
| #include <cpl_version.h> | | #include <cpl_version.h> | |
| #include <cpl_errorstate.h> | | #include <cpl_errorstate.h> | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Define | | Define | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
|
| | | #undef CPL_HAVE_GNUC_NONNULL | |
| | | | |
| | | #if defined __GNUC__ | |
| | | #if __GNUC__ > 3 || __GNUC__ == 3 && defined __GNUC_MINOR__ && __GNUC_MINOR | |
| | | __ > 2 | |
| | | #define CPL_HAVE_GNUC_NONNULL | |
| | | #endif | |
| | | #endif | |
| | | | |
| #ifndef CPL_CONCAT | | #ifndef CPL_CONCAT | |
| /* Needed to concatenate two macro arguments */ | | /* Needed to concatenate two macro arguments */ | |
| #define CPL_CONCAT(a,b) a ## _ ## b | | #define CPL_CONCAT(a,b) a ## _ ## b | |
| #define CPL_CONCAT2X(a,b) CPL_CONCAT(a,b) | | #define CPL_CONCAT2X(a,b) CPL_CONCAT(a,b) | |
| #endif | | #endif | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_recipedefine | | @ingroup cpl_recipedefine | |
|
| @brief generate the recipe copyright and license text | | @brief Generate the recipe copyright and license text | |
| @param PACKAGE_NAME The name as a string literal, e.g. from config.h | | @param PACKAGE_NAME The name as a string literal, e.g. from config.h | |
| @param YEAR The year(s) as a string literal | | @param YEAR The year(s) as a string literal | |
| @return The recipe copyright and license text as a string literal | | @return The recipe copyright and license text as a string literal | |
| | | | |
| Example: | | Example: | |
| @code | | @code | |
| const char * my_license = cpl_get_license(PACKAGE_NAME, "2005, 2008"); | | const char * my_license = cpl_get_license(PACKAGE_NAME, "2005, 2008"); | |
| @endcode | | @endcode | |
| | | | |
| */ | | */ | |
| | | | |
| skipping to change at line 166 | | skipping to change at line 174 | |
| RECIPE_VERSION,
\ | | RECIPE_VERSION,
\ | |
| #RECIPE_NAME,
\ | | #RECIPE_NAME,
\ | |
| RECIPE_SYNOPSIS,
\ | | RECIPE_SYNOPSIS,
\ | |
| RECIPE_DESCRIPTION,
\ | | RECIPE_DESCRIPTION,
\ | |
| RECIPE_AUTHOR,
\ | | RECIPE_AUTHOR,
\ | |
| RECIPE_AUTHOR_EMAIL,
\ | | RECIPE_AUTHOR_EMAIL,
\ | |
| cpl_get_license(PACKAGE_NAME, RECIPE_YEAR),
\ | | cpl_get_license(PACKAGE_NAME, RECIPE_YEAR),
\ | |
| CPL_CONCAT2X(RECIPE_NAME,create),
\ | | CPL_CONCAT2X(RECIPE_NAME,create),
\ | |
| CPL_CONCAT2X(RECIPE_NAME,exec),
\ | | CPL_CONCAT2X(RECIPE_NAME,exec),
\ | |
| CPL_CONCAT2X(RECIPE_NAME,destroy))
\ | | CPL_CONCAT2X(RECIPE_NAME,destroy))
\ | |
|
| ? ((void)cpl_error_set(cpl_func, cpl_error_get_code()), 1) : 0;
\ | | ? ((void)cpl_error_set_where(cpl_func), 1) : 0;
\ | |
| }
\ | | }
\ | |
|
\ | |
\ | |
| /* The definition of the recipe create function */
\ | | /* The definition of the recipe create function */
\ | |
| static int CPL_CONCAT2X(RECIPE_NAME,create)(cpl_plugin * plugin)
\ | | static int CPL_CONCAT2X(RECIPE_NAME,create)(cpl_plugin * plugin)
\ | |
| {
\ | | {
\ | |
| cpl_recipe * recipe = (cpl_recipe *)plugin; /* Needed for the fill
*/ \ | | cpl_recipe * recipe = (cpl_recipe *)plugin; /* Needed for the fill
*/ \ | |
| cpl_errorstate prestate = cpl_errorstate_get(); /* To check the fill */
\ | | cpl_errorstate prestate = cpl_errorstate_get(); /* To check the fill */
\ | |
|
\ | |
\ | |
| /* Propagate error, if any */
\ | | /* Propagate error, if any */
\ | |
| /* - Need two function calls to ensure plugin validity before the fill
*/ \ | | /* - Need two function calls to ensure plugin validity before the fill
*/ \ | |
| return cpl_recipedefine_create(plugin)
\ | | return cpl_recipedefine_create(plugin)
\ | |
| || cpl_recipedefine_create_is_ok(prestate, (RECIPE_FILL_PARAMS))
\ | | || cpl_recipedefine_create_is_ok(prestate, (RECIPE_FILL_PARAMS))
\ | |
|
| ? (int)cpl_error_set(cpl_func, cpl_error_get_code()) : 0;
\ | | ? (int)cpl_error_set_where(cpl_func) : 0;
\ | |
| }
\ | | }
\ | |
|
\ | |
\ | |
| /* The definition of the recipe exec function */
\ | | /* The definition of the recipe exec function */
\ | |
| static int CPL_CONCAT2X(RECIPE_NAME,exec)(cpl_plugin * plugin)
\ | | static int CPL_CONCAT2X(RECIPE_NAME,exec)(cpl_plugin * plugin)
\ | |
| {
\ | | {
\ | |
| /* Propagate error, if any */
\ | | /* Propagate error, if any */
\ | |
| return cpl_recipedefine_exec(plugin, RECIPE_NAME)
\ | | return cpl_recipedefine_exec(plugin, RECIPE_NAME)
\ | |
|
| ? (int)cpl_error_set(cpl_func, cpl_error_get_code()) : 0;
\ | | ? (int)cpl_error_set_where(cpl_func) : 0;
\ | |
| }
\ | | }
\ | |
|
\ | |
\ | |
| /* The definition of the recipe destroy function */
\ | | /* The definition of the recipe destroy function */
\ | |
| static int CPL_CONCAT2X(RECIPE_NAME,destroy)(cpl_plugin * plugin)
\ | | static int CPL_CONCAT2X(RECIPE_NAME,destroy)(cpl_plugin * plugin)
\ | |
| {
\ | | {
\ | |
| /* Propagate error, if any */
\ | | /* Propagate error, if any */
\ | |
| return cpl_recipedefine_destroy(plugin)
\ | | return cpl_recipedefine_destroy(plugin)
\ | |
|
| ? (int)cpl_error_set(cpl_func, cpl_error_get_code()) : 0;
\ | | ? (int)cpl_error_set_where(cpl_func) : 0;
\ | |
| }
\ | | }
\ | |
|
\ | |
\ | |
| /* This dummy declaration requires the macro to be invoked as if it was
\ | | /* This dummy declaration requires the macro to be invoked as if it was
\ | |
| a kind of function declaration, with a terminating ; */
\ | | a kind of function declaration, with a terminating ; */
\ | |
| extern int cpl_plugin_end | | extern int cpl_plugin_end | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| cpl_error_code cpl_recipedefine_init(cpl_pluginlist *, unsigned long, | | cpl_error_code cpl_recipedefine_init(cpl_pluginlist *, unsigned long, | |
| unsigned long, const char *, const cha
r *, | | unsigned long, const char *, const cha
r *, | |
| const char *, const char *, const char
*, | | const char *, const char *, const char
*, | |
| const char *, cpl_plugin_func, | | const char *, cpl_plugin_func, | |
|
| cpl_plugin_func, cpl_plugin_func); | | cpl_plugin_func, cpl_plugin_func) | |
| | | #ifdef CPL_HAVE_GNUC_NONNULL | |
| | | __attribute__((nonnull(9, 10, 11, 12))) | |
| | | #endif | |
| | | ; | |
| | | | |
| cpl_error_code cpl_recipedefine_create(cpl_plugin *); | | cpl_error_code cpl_recipedefine_create(cpl_plugin *); | |
| | | | |
| cpl_error_code cpl_recipedefine_create_is_ok(cpl_errorstate, int); | | cpl_error_code cpl_recipedefine_create_is_ok(cpl_errorstate, int); | |
| | | | |
| cpl_error_code cpl_recipedefine_exec(cpl_plugin *, | | cpl_error_code cpl_recipedefine_exec(cpl_plugin *, | |
| int (*)(cpl_frameset *, | | int (*)(cpl_frameset *, | |
| const cpl_parameterlist *)); | | const cpl_parameterlist *)); | |
| | | | |
| cpl_error_code cpl_recipedefine_destroy(cpl_plugin *); | | cpl_error_code cpl_recipedefine_destroy(cpl_plugin *); | |
| | | | |
End of changes. 9 change blocks. |
| 10 lines changed or deleted | | 23 lines changed or added | |
|
| cpl_test.h | | cpl_test.h | |
|
| /* $Id: cpl_test.h,v 1.40 2009/12/01 10:59:55 llundin Exp $ | | /* $Id: cpl_test.h,v 1.43 2010/02/26 14:05:00 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/12/01 10:59:55 $ | | * $Date: 2010/02/26 14:05:00 $ | |
| * $Revision: 1.40 $ | | * $Revision: 1.43 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_TEST_H | | #ifndef CPL_TEST_H | |
| #define CPL_TEST_H | | #define CPL_TEST_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #ifdef HAVE_CONFIG_H | | #ifdef HAVE_CONFIG_H | |
| | | | |
| skipping to change at line 290 | | skipping to change at line 290 | |
| For comparison of floating point values, see cpl_test_abs() and | | For comparison of floating point values, see cpl_test_abs() and | |
| cpl_test_rel(). | | cpl_test_rel(). | |
| | | | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| #define cpl_test_eq(first, second) do { \ | | #define cpl_test_eq(first, second) do { \ | |
| const int cpl_test_errno = errno; \ | | const int cpl_test_errno = errno; \ | |
| cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |
| errno = 0; \ | | errno = 0; \ | |
| cpl_test_eq_macro(cpl_test_errno, cpl_test_state, first, #first, \ | | cpl_test_eq_macro(cpl_test_errno, cpl_test_state, first, #first, \ | |
|
| second, #second, cpl_func, __FILE__, __LINE__);
\ | | second, #second, cpl_func, __FILE__, __LINE__); \ | |
| } while (0) | | } while (0) | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_test | | @ingroup cpl_test | |
| @brief Test if two integer expressions are not equal | | @brief Test if two integer expressions are not equal | |
| @param first The first value in the comparison, side-effects are al
lowed | | @param first The first value in the comparison, side-effects are al
lowed | |
| @param second The second value in the comparison, side-effects are a
llowed | | @param second The second value in the comparison, side-effects are a
llowed | |
| | | | |
| @see cpl_test_eq() | | @see cpl_test_eq() | |
| | | | |
| skipping to change at line 316 | | skipping to change at line 316 | |
| cpl_test_noneq(computed, wrong); | | cpl_test_noneq(computed, wrong); | |
| | | | |
| @endcode | | @endcode | |
| | | | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| #define cpl_test_noneq(first, second) do { \ | | #define cpl_test_noneq(first, second) do { \ | |
| const int cpl_test_errno = errno; \ | | const int cpl_test_errno = errno; \ | |
| cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |
| errno = 0; \ | | errno = 0; \ | |
|
| cpl_test_noneq_macro(cpl_test_errno, cpl_test_state, first, #first, | | cpl_test_noneq_macro(cpl_test_errno, cpl_test_state, first, \ | |
| \ | | #first, second, #second, cpl_func, \ | |
| second, #second, cpl_func, __FILE__, __LINE__) | | __FILE__, __LINE__); \ | |
| ; \ | | | |
| } while (0) | | } while (0) | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_test | | @ingroup cpl_test | |
| @brief Test if two pointer expressions are equal | | @brief Test if two pointer expressions are equal | |
| @param first The first value in the comparison, side-effects are allo
wed | | @param first The first value in the comparison, side-effects are allo
wed | |
| @param second The second value in the comparison, side-effects are all
owed | | @param second The second value in the comparison, side-effects are all
owed | |
| @see cpl_test_eq() | | @see cpl_test_eq() | |
| @return void | | @return void | |
| | | | |
| skipping to change at line 452 | | skipping to change at line 453 | |
| cpl_test_eq_mask(computed, expected); | | cpl_test_eq_mask(computed, expected); | |
| | | | |
| @endcode | | @endcode | |
| | | | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| #define cpl_test_eq_mask(first, second) do { \ | | #define cpl_test_eq_mask(first, second) do { \ | |
| const int cpl_test_errno = errno; \ | | const int cpl_test_errno = errno; \ | |
| cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |
| errno = 0; \ | | errno = 0; \ | |
|
| cpl_test_eq_mask_macro(cpl_test_errno, cpl_test_state, first, #firs | | cpl_test_eq_mask_macro(cpl_test_errno, cpl_test_state, first, \ | |
| t, \ | | #first, second, #second, cpl_func, \ | |
| second, #second, cpl_func, __FILE__, __LINE_ | | __FILE__, __LINE__); \ | |
| _); \ | | | |
| } while (0) | | } while (0) | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_test | | @ingroup cpl_test | |
| @brief Evaluate A <= B and increment an internal counter if it is not t
rue | | @brief Evaluate A <= B and increment an internal counter if it is not t
rue | |
| @param value The number to test | | @param value The number to test | |
| @param tolerance The upper limit to compare against | | @param tolerance The upper limit to compare against | |
| @return void | | @return void | |
| @see cpl_test_init() | | @see cpl_test_init() | |
| | | | |
| skipping to change at line 480 | | skipping to change at line 482 | |
| cpl_test_nonnull(p); | | cpl_test_nonnull(p); | |
| | | | |
| @endcode | | @endcode | |
| | | | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| #define cpl_test_leq(value, tolerance) do { \ | | #define cpl_test_leq(value, tolerance) do { \ | |
| const int cpl_test_errno = errno; \ | | const int cpl_test_errno = errno; \ | |
| cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |
| errno = 0; \ | | errno = 0; \ | |
|
| cpl_test_leq_macro(cpl_test_errno, cpl_test_state, value, #value, \ | | cpl_test_leq_macro(cpl_test_errno, cpl_test_state, value, \ | |
| tolerance, #tolerance, cpl_func, __FILE__, __LIN | | #value, tolerance, #tolerance, cpl_func, \ | |
| E__); \ | | __FILE__, __LINE__); \ | |
| } while (0) | | } while (0) | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_test | | @ingroup cpl_test | |
| @brief Evaluate A < B and increment an internal counter if it is not tr
ue | | @brief Evaluate A < B and increment an internal counter if it is not tr
ue | |
| @param value The number to test | | @param value The number to test | |
| @param tolerance The upper limit to compare against | | @param tolerance The upper limit to compare against | |
| @return void | | @return void | |
| @see cpl_test_init() | | @see cpl_test_init() | |
| | | | |
| skipping to change at line 507 | | skipping to change at line 510 | |
| cpl_test_lt(0.0, myfunc()); | | cpl_test_lt(0.0, myfunc()); | |
| | | | |
| @endcode | | @endcode | |
| | | | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| #define cpl_test_lt(value, tolerance) do { \ | | #define cpl_test_lt(value, tolerance) do { \ | |
| const int cpl_test_errno = errno; \ | | const int cpl_test_errno = errno; \ | |
| cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |
| errno = 0; \ | | errno = 0; \ | |
|
| cpl_test_lt_macro(cpl_test_errno, cpl_test_state, value, #value, \ | | cpl_test_lt_macro(cpl_test_errno, cpl_test_state, value, \ | |
| tolerance, #tolerance, cpl_func, __FILE__, __LINE | | #value, tolerance, #tolerance, cpl_func, \ | |
| __); \ | | __FILE__, __LINE__); \ | |
| } while (0) | | } while (0) | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_test | | @ingroup cpl_test | |
| @brief Test if two numerical expressions are within a given absolute tol
erance | | @brief Test if two numerical expressions are within a given absolute tol
erance | |
| @param first The first value in the comparison, side-effects are al
lowed | | @param first The first value in the comparison, side-effects are al
lowed | |
| @param second The second value in the comparison, side-effects are a
llowed | | @param second The second value in the comparison, side-effects are a
llowed | |
| @param tolerance A non-negative tolerance | | @param tolerance A non-negative tolerance | |
| @note If the tolerance is negative, the test will always fail | | @note If the tolerance is negative, the test will always fail | |
| | | | |
| skipping to change at line 650 | | skipping to change at line 654 | |
| @return void | | @return void | |
| @see cpl_test_abs() | | @see cpl_test_abs() | |
| @note The test will fail if one or both the polynomials are NULL | | @note The test will fail if one or both the polynomials are NULL | |
| | | | |
| */ | | */ | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| #define cpl_test_polynomial_abs(first, second, tolerance) do { \ | | #define cpl_test_polynomial_abs(first, second, tolerance) do { \ | |
| const int cpl_test_errno = errno; \ | | const int cpl_test_errno = errno; \ | |
| cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |
| errno = 0; \ | | errno = 0; \ | |
|
| cpl_test_polynomial_abs_macro(cpl_test_errno, cpl_test_state, first | | cpl_test_polynomial_abs_macro(cpl_test_errno, cpl_test_state, \ | |
| , \ | | first, #first, second, #second, \ | |
| #first, second, #second, tolerance, \ | | tolerance, #tolerance, cpl_func, \ | |
| #tolerance, cpl_func, __FILE__, __LIN | | __FILE__, __LINE__); \ | |
| E__); \ | | | |
| } while (0) | | } while (0) | |
| | | | |
| /*-------------------------------------------------------------------------
---*/ | | /*-------------------------------------------------------------------------
---*/ | |
| /** | | /** | |
| @ingroup cpl_test | | @ingroup cpl_test | |
| @brief Test if two numerical expressions are within a given relative tol
erance | | @brief Test if two numerical expressions are within a given relative tol
erance | |
| @param first The first value in the comparison, side-effects are al
lowed | | @param first The first value in the comparison, side-effects are al
lowed | |
| @param second The second value in the comparison, side-effects are a
llowed | | @param second The second value in the comparison, side-effects are a
llowed | |
| @param tolerance A non-negative tolerance | | @param tolerance A non-negative tolerance | |
| @note If the tolerance is negative or if one but not both of the two va
lues | | @note If the tolerance is negative or if one but not both of the two va
lues | |
| is zero, the test will always fail. if both values are zero, the
test | | is zero, the test will always fail. if both values are zero, the
test | |
|
| will succeed for any non-negative tolerance. The test is commutat | | will succeed for any non-negative tolerance. The test is commutat | |
| ive in | | ive | |
| the two values. | | in the two values. | |
| @see cpl_test() | | @see cpl_test() | |
| @return void | | @return void | |
| | | | |
| The test is carried out by comparing the absolute value of the difference | | The test is carried out by comparing the absolute value of the difference | |
| abs (@em first - @em second) | | abs (@em first - @em second) | |
| to the product of the tolerance and the minimum of the absolute value of | | to the product of the tolerance and the minimum of the absolute value of | |
| the two values, | | the two values, | |
| tolerance * min(abs(@em first), abs(@em second)) | | tolerance * min(abs(@em first), abs(@em second)) | |
| (The test is implemented like this to avoid division with a number that m
ay | | (The test is implemented like this to avoid division with a number that m
ay | |
| be zero. | | be zero. | |
| | | | |
| skipping to change at line 937 | | skipping to change at line 942 | |
| #endif | | #endif | |
| ; | | ; | |
| | | | |
| void cpl_test_memory_is_empty_macro(int, cpl_errorstate, const char *, | | void cpl_test_memory_is_empty_macro(int, cpl_errorstate, const char *, | |
| const char *, unsigned) | | const char *, unsigned) | |
| #ifdef CPL_HAVE_GNUC_NONNULL | | #ifdef CPL_HAVE_GNUC_NONNULL | |
| __attribute__((nonnull)) | | __attribute__((nonnull)) | |
| #endif | | #endif | |
| ; | | ; | |
| | | | |
|
| double cpl_test_get_cputime(void) | | double cpl_test_get_cputime(void); | |
| | | double cpl_test_get_walltime(void); | |
| | | | |
| | | size_t cpl_test_get_bytes_vector(const cpl_vector *) | |
| #ifdef __GNUC__ | | #ifdef __GNUC__ | |
|
| __attribute__((pure)) | | __attribute__((pure)) | |
| #endif | | #endif | |
|
| ; | | ; | |
| | | size_t cpl_test_get_bytes_matrix(const cpl_matrix *) | |
| double cpl_test_get_walltime(void) | | | |
| #ifdef __GNUC__ | | #ifdef __GNUC__ | |
|
| __attribute__((pure)) | | __attribute__((pure)) | |
| #endif | | #endif | |
|
| ; | | ; | |
| | | size_t cpl_test_get_bytes_image(const cpl_image *) | |
| | | #ifdef __GNUC__ | |
| | | __attribute__((pure)) | |
| | | #endif | |
| | | ; | |
| | | size_t cpl_test_get_bytes_imagelist(const cpl_imagelist *) | |
| | | #ifdef __GNUC__ | |
| | | __attribute__((pure)) | |
| | | #endif | |
| | | ; | |
| | | | |
| CPL_END_DECLS | | CPL_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 14 change blocks. |
| 34 lines changed or deleted | | 43 lines changed or added | |
|
| cpl_vector.h | | cpl_vector.h | |
|
| /* $Id: cpl_vector.h,v 1.58 2009/12/14 15:35:53 llundin Exp $ | | /* $Id: cpl_vector.h,v 1.59 2010/03/11 17:17:18 llundin Exp $ | |
| * | | * | |
| * This file is part of the ESO Common Pipeline Library | | * This file is part of the ESO Common Pipeline Library | |
| * Copyright (C) 2001-2008 European Southern Observatory | | * Copyright (C) 2001-2008 European Southern Observatory | |
| * | | * | |
| * This program is free software; you can redistribute it and/or modify | | * 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 | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | | * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * $Author: llundin $ | | * $Author: llundin $ | |
|
| * $Date: 2009/12/14 15:35:53 $ | | * $Date: 2010/03/11 17:17:18 $ | |
| * $Revision: 1.58 $ | | * $Revision: 1.59 $ | |
| * $Name: cpl-5_1_0 $ | | * $Name: cpl-5_2_0 $ | |
| */ | | */ | |
| | | | |
| #ifndef CPL_VECTOR_H | | #ifndef CPL_VECTOR_H | |
| #define CPL_VECTOR_H | | #define CPL_VECTOR_H | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Includes | | Includes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| #include <stdio.h> | | #include <stdio.h> | |
| | | | |
| skipping to change at line 48 | | skipping to change at line 48 | |
| #include "cpl_propertylist.h" | | #include "cpl_propertylist.h" | |
| #include "cpl_matrix.h" | | #include "cpl_matrix.h" | |
| #include "cpl_io.h" | | #include "cpl_io.h" | |
| | | | |
| CPL_BEGIN_DECLS | | CPL_BEGIN_DECLS | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Defines | | Defines | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
|
| | | /*------------------------------------------------------------------------- | |
| | | --- | |
| | | Defines | |
| | | -------------------------------------------------------------------------- | |
| | | --*/ | |
| | | | |
| | | #undef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | | |
| | | #if defined __GNUC__ && __GNUC__ > 3 | |
| | | #define CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | #endif | |
| | | | |
| #ifndef CPL_KERNEL_DEFAULT | | #ifndef CPL_KERNEL_DEFAULT | |
| #define CPL_KERNEL_DEFAULT CPL_KERNEL_TANH | | #define CPL_KERNEL_DEFAULT CPL_KERNEL_TANH | |
| #endif | | #endif | |
| | | | |
| /* Suggested resolution of interpolation profile */ | | /* Suggested resolution of interpolation profile */ | |
| #ifndef CPL_KERNEL_TABSPERPIX | | #ifndef CPL_KERNEL_TABSPERPIX | |
| #define CPL_KERNEL_TABSPERPIX 1000 | | #define CPL_KERNEL_TABSPERPIX 1000 | |
| #endif | | #endif | |
| | | | |
| /* Suggested radius of pixel interpolation */ | | /* Suggested radius of pixel interpolation */ | |
| | | | |
| skipping to change at line 107 | | skipping to change at line 117 | |
| (1 << 4) | | (1 << 4) | |
| } cpl_fit_mode; | | } cpl_fit_mode; | |
| | | | |
| typedef struct _cpl_vector_ cpl_vector; | | typedef struct _cpl_vector_ cpl_vector; | |
| | | | |
| /*-------------------------------------------------------------------------
---- | | /*-------------------------------------------------------------------------
---- | |
| Function prototypes | | Function prototypes | |
| --------------------------------------------------------------------------
---*/ | | --------------------------------------------------------------------------
---*/ | |
| | | | |
| /* Constructors and destructors */ | | /* Constructors and destructors */ | |
|
| cpl_vector * cpl_vector_new(int); | | cpl_vector * cpl_vector_new(int) | |
| cpl_vector * cpl_vector_wrap(int, double *); | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| | | cpl_vector * cpl_vector_wrap(int, double *) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| void cpl_vector_delete(cpl_vector *); | | void cpl_vector_delete(cpl_vector *); | |
| void * cpl_vector_unwrap(cpl_vector *); | | void * cpl_vector_unwrap(cpl_vector *); | |
|
| cpl_vector * cpl_vector_read(const char *); | | cpl_vector * cpl_vector_read(const char *) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| void cpl_vector_dump(const cpl_vector *, FILE *); | | void cpl_vector_dump(const cpl_vector *, FILE *); | |
|
| cpl_vector * cpl_vector_load(const char *, int); | | cpl_vector * cpl_vector_load(const char *, int) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| cpl_error_code cpl_vector_save(const cpl_vector *, const char *, cpl_type_b
pp, | | cpl_error_code cpl_vector_save(const cpl_vector *, const char *, cpl_type_b
pp, | |
| const cpl_propertylist *, unsigned); | | const cpl_propertylist *, unsigned); | |
|
| cpl_vector * cpl_vector_duplicate(const cpl_vector *); | | cpl_vector * cpl_vector_duplicate(const cpl_vector *) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| cpl_error_code cpl_vector_copy(cpl_vector *, const cpl_vector *); | | cpl_error_code cpl_vector_copy(cpl_vector *, const cpl_vector *); | |
| | | | |
| /* Accessor functions */ | | /* Accessor functions */ | |
| int cpl_vector_get_size(const cpl_vector *); | | int cpl_vector_get_size(const cpl_vector *); | |
| double * cpl_vector_get_data(cpl_vector *); | | double * cpl_vector_get_data(cpl_vector *); | |
| const double * cpl_vector_get_data_const(const cpl_vector *); | | const double * cpl_vector_get_data_const(const cpl_vector *); | |
| double cpl_vector_get(const cpl_vector *, int); | | double cpl_vector_get(const cpl_vector *, int); | |
| cpl_error_code cpl_vector_set_size(cpl_vector *, int); | | cpl_error_code cpl_vector_set_size(cpl_vector *, int); | |
| cpl_error_code cpl_vector_set(cpl_vector *, int, double); | | cpl_error_code cpl_vector_set(cpl_vector *, int, double); | |
| | | | |
| | | | |
| skipping to change at line 158 | | skipping to change at line 198 | |
| double cpl_vector_get_min(const cpl_vector *); | | double cpl_vector_get_min(const cpl_vector *); | |
| double cpl_vector_get_max(const cpl_vector *); | | double cpl_vector_get_max(const cpl_vector *); | |
| double cpl_vector_get_mean(const cpl_vector *); | | double cpl_vector_get_mean(const cpl_vector *); | |
| double cpl_vector_get_median(cpl_vector *); | | double cpl_vector_get_median(cpl_vector *); | |
| double cpl_vector_get_median_const(const cpl_vector *); | | double cpl_vector_get_median_const(const cpl_vector *); | |
| double cpl_vector_get_stdev(const cpl_vector *); | | double cpl_vector_get_stdev(const cpl_vector *); | |
| int cpl_vector_correlate(cpl_vector *, const cpl_vector *, const cpl_vector
*); | | int cpl_vector_correlate(cpl_vector *, const cpl_vector *, const cpl_vector
*); | |
| | | | |
| /* Filtering */ | | /* Filtering */ | |
| cpl_vector * cpl_vector_filter_lowpass_create(const cpl_vector *, cpl_lowpa
ss, | | cpl_vector * cpl_vector_filter_lowpass_create(const cpl_vector *, cpl_lowpa
ss, | |
|
| int); | | int) | |
| cpl_vector * cpl_vector_filter_median_create(const cpl_vector *, int); | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| | | cpl_vector * cpl_vector_filter_median_create(const cpl_vector *, int) | |
| | | #ifdef CPL_HAVE_GNUC_UNUSED_RESULT | |
| | | __attribute__((warn_unused_result, malloc)) | |
| | | #else | |
| | | __attribute__((malloc)) | |
| | | #endif | |
| | | ; | |
| | | | |
| cpl_error_code cpl_vector_fill_kernel_profile(cpl_vector *, cpl_kernel, dou
ble); | | cpl_error_code cpl_vector_fill_kernel_profile(cpl_vector *, cpl_kernel, dou
ble); | |
| | | | |
| /* Fitting */ | | /* Fitting */ | |
| cpl_error_code cpl_vector_fit_gaussian(const cpl_vector *, const cpl_vector
*, | | cpl_error_code cpl_vector_fit_gaussian(const cpl_vector *, const cpl_vector
*, | |
| const cpl_vector *, const cpl_vector *, | | const cpl_vector *, const cpl_vector *, | |
| cpl_fit_mode, | | cpl_fit_mode, | |
| double *, double *, | | double *, double *, | |
| double *, double *, | | double *, double *, | |
| double *, double *, | | double *, double *, | |
| | | | |
End of changes. 8 change blocks. |
| 11 lines changed or deleted | | 65 lines changed or added | |
|