cpl.h | cpl.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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: lbilbao $ | |||
* $Date: 2009/12/02 10:29:45 $ | * $Date: 2009/12/02 10:29:45 $ | |||
* $Revision: 1.31 $ | * $Revision: 1.31 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
/* CPLCORE */ | /* CPLCORE */ | |||
#include "cpl_bivector.h" | #include "cpl_bivector.h" | |||
#include "cpl_error.h" | #include "cpl_error.h" | |||
#include "cpl_errorstate.h" | #include "cpl_errorstate.h" | |||
#include "cpl_fits.h" | #include "cpl_fits.h" | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
#include "cpl_image_basic.h" | #include "cpl_image_basic.h" | |||
#include "cpl_image_iqe.h" | #include "cpl_image_iqe.h" | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cpl_apertures.h | cpl_apertures.h | |||
---|---|---|---|---|
/* $Id: cpl_apertures.h,v 1.3 2008/12/10 14:14:24 llundin Exp $ | /* $Id: cpl_apertures.h,v 1.5 2010/11/11 10:32:10 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/12/10 14:14:24 $ | * $Date: 2010/11/11 10:32:10 $ | |||
* $Revision: 1.3 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_APERTURES_H | #ifndef CPL_APERTURES_H | |||
#define CPL_APERTURES_H | #define CPL_APERTURES_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | #include <stdio.h> | |||
skipping to change at line 56 | skipping to change at line 56 | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* IO functions */ | /* IO functions */ | |||
void cpl_apertures_delete(cpl_apertures *); | void cpl_apertures_delete(cpl_apertures *); | |||
void cpl_apertures_dump(const cpl_apertures *, FILE *); | void cpl_apertures_dump(const cpl_apertures *, FILE *); | |||
/* Statistics computation */ | /* Statistics computation */ | |||
cpl_apertures * cpl_apertures_new_from_image(const cpl_image *, const cpl_i | cpl_apertures * cpl_apertures_new_from_image(const cpl_image *, | |||
mage *); | const cpl_image *) CPL_ATTR_AL | |||
LOC; | ||||
/* Accessor functions */ | /* Accessor functions */ | |||
int cpl_apertures_get_size(const cpl_apertures *); | int cpl_apertures_get_size(const cpl_apertures *); | |||
double cpl_apertures_get_max_x(const cpl_apertures *, int); | double cpl_apertures_get_max_x(const cpl_apertures *, int); | |||
double cpl_apertures_get_max_y(const cpl_apertures *, int); | double cpl_apertures_get_max_y(const cpl_apertures *, int); | |||
double cpl_apertures_get_centroid_x(const cpl_apertures *, int); | double cpl_apertures_get_centroid_x(const cpl_apertures *, int); | |||
double cpl_apertures_get_centroid_y(const cpl_apertures *, int); | double cpl_apertures_get_centroid_y(const cpl_apertures *, int); | |||
int cpl_apertures_get_npix(const cpl_apertures *, int); | int cpl_apertures_get_npix(const cpl_apertures *, int); | |||
int cpl_apertures_get_left(const cpl_apertures *, int); | int cpl_apertures_get_left(const cpl_apertures *, int); | |||
int cpl_apertures_get_left_y(const cpl_apertures *, int); | int cpl_apertures_get_left_y(const cpl_apertures *, int); | |||
skipping to change at line 87 | skipping to change at line 88 | |||
double cpl_apertures_get_stdev(const cpl_apertures *, int); | double cpl_apertures_get_stdev(const cpl_apertures *, int); | |||
double cpl_apertures_get_flux(const cpl_apertures *, int); | double cpl_apertures_get_flux(const cpl_apertures *, int); | |||
/* Sorting functions */ | /* Sorting functions */ | |||
cpl_error_code cpl_apertures_sort_by_npix(cpl_apertures *); | cpl_error_code cpl_apertures_sort_by_npix(cpl_apertures *); | |||
cpl_error_code cpl_apertures_sort_by_max(cpl_apertures *); | cpl_error_code cpl_apertures_sort_by_max(cpl_apertures *); | |||
cpl_error_code cpl_apertures_sort_by_flux(cpl_apertures *); | cpl_error_code cpl_apertures_sort_by_flux(cpl_apertures *); | |||
/* Detection functions */ | /* Detection functions */ | |||
cpl_apertures * cpl_apertures_extract(const cpl_image *, const cpl_vector * , | cpl_apertures * cpl_apertures_extract(const cpl_image *, const cpl_vector * , | |||
int *); | int *) CPL_ATTR_ALLOC; | |||
cpl_apertures * cpl_apertures_extract_window(const cpl_image *, | cpl_apertures * cpl_apertures_extract_window(const cpl_image *, | |||
const cpl_vector *, int, int, | const cpl_vector *, int, int, | |||
int, int, int *); | int, int, int *) CPL_ATTR_ALLO C; | |||
cpl_apertures * cpl_apertures_extract_sigma(const cpl_image *, double); | cpl_apertures * cpl_apertures_extract_sigma(const cpl_image *, | |||
double) CPL_ATTR_ALLOC; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
10 lines changed or deleted | 12 lines changed or added | |||
cpl_apertures_img.h | cpl_apertures_img.h | |||
---|---|---|---|---|
/* $Id: cpl_apertures_img.h,v 1.2 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_apertures_img.h,v 1.3 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.2 $ | * $Revision: 1.3 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_APERTURES_IMG_H | #ifndef CPL_APERTURES_IMG_H | |||
#define CPL_APERTURES_IMG_H | #define CPL_APERTURES_IMG_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | #include <stdio.h> | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_array.h | cpl_array.h | |||
---|---|---|---|---|
/* $Id: cpl_array.h,v 1.15 2010/04/12 14:49:08 cizzo Exp $ | /* $Id: cpl_array.h,v 1.20 2011/01/12 09:28:46 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: 2010/04/12 14:49:08 $ | * $Date: 2011/01/12 09:28:46 $ | |||
* $Revision: 1.15 $ | * $Revision: 1.20 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_ARRAY_H | #ifndef CPL_ARRAY_H | |||
#define CPL_ARRAY_H | #define CPL_ARRAY_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <complex.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> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
typedef struct _cpl_array_ cpl_array; | typedef struct _cpl_array_ cpl_array; | |||
cpl_array *cpl_array_new(int, cpl_type); | cpl_array *cpl_array_new(int, cpl_type); | |||
cpl_array *cpl_array_wrap_int(int *, int); | cpl_array *cpl_array_wrap_int(int *, int); | |||
cpl_array *cpl_array_wrap_float(float *, int); | cpl_array *cpl_array_wrap_float(float *, int); | |||
cpl_array *cpl_array_wrap_double(double *, int); | cpl_array *cpl_array_wrap_double(double *, int); | |||
#ifdef _Complex_I | ||||
cpl_array *cpl_array_wrap_float_complex(float complex *, int); | ||||
cpl_array *cpl_array_wrap_double_complex(double complex *, int); | ||||
#endif | ||||
cpl_array *cpl_array_wrap_string(char **, int); | cpl_array *cpl_array_wrap_string(char **, int); | |||
cpl_error_code cpl_array_copy_data(cpl_array *, const double *); | cpl_error_code cpl_array_copy_data(cpl_array *, const double *); | |||
cpl_error_code cpl_array_copy_data_int(cpl_array *, const int *); | cpl_error_code cpl_array_copy_data_int(cpl_array *, const int *); | |||
cpl_error_code cpl_array_copy_data_float(cpl_array *, const float *); | cpl_error_code cpl_array_copy_data_float(cpl_array *, const float *); | |||
cpl_error_code cpl_array_copy_data_double(cpl_array *, const double *); | cpl_error_code cpl_array_copy_data_double(cpl_array *, const double *); | |||
cpl_error_code cpl_array_copy_data_string(cpl_array *, const char **); | cpl_error_code cpl_array_copy_data_string(cpl_array *, const char **); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_array_copy_data_complex(cpl_array *, const double comple | ||||
x *); | ||||
cpl_error_code cpl_array_copy_data_float_complex(cpl_array *, | ||||
const float complex *); | ||||
cpl_error_code cpl_array_copy_data_double_complex(cpl_array *, | ||||
const double complex *); | ||||
#endif | ||||
void cpl_array_delete(cpl_array *); | void cpl_array_delete(cpl_array *); | |||
void *cpl_array_unwrap(cpl_array *); | void *cpl_array_unwrap(cpl_array *); | |||
int cpl_array_get_size(const cpl_array *); | int cpl_array_get_size(const cpl_array *); | |||
cpl_error_code cpl_array_set_size(cpl_array *, int); | cpl_error_code cpl_array_set_size(cpl_array *, int); | |||
cpl_type cpl_array_get_type(const cpl_array *); | cpl_type cpl_array_get_type(const cpl_array *); | |||
int cpl_array_has_invalid(const cpl_array *); | int cpl_array_has_invalid(const cpl_array *); | |||
int cpl_array_has_valid(const cpl_array *); | int cpl_array_has_valid(const cpl_array *); | |||
int cpl_array_is_valid(const cpl_array *, int); | int cpl_array_is_valid(const cpl_array *, int); | |||
int cpl_array_count_invalid(const cpl_array *); | int cpl_array_count_invalid(const cpl_array *); | |||
int *cpl_array_get_data_int(cpl_array *); | int *cpl_array_get_data_int(cpl_array *); | |||
const int *cpl_array_get_data_int_const(const cpl_array *); | const int *cpl_array_get_data_int_const(const cpl_array *); | |||
float *cpl_array_get_data_float(cpl_array *); | float *cpl_array_get_data_float(cpl_array *); | |||
const float *cpl_array_get_data_float_const(const cpl_array *); | const float *cpl_array_get_data_float_const(const cpl_array *); | |||
double *cpl_array_get_data_double(cpl_array *); | double *cpl_array_get_data_double(cpl_array *); | |||
const double *cpl_array_get_data_double_const(const cpl_array *); | const double *cpl_array_get_data_double_const(const cpl_array *); | |||
#ifdef _Complex_I | ||||
float complex *cpl_array_get_data_float_complex(cpl_array *); | ||||
const float complex *cpl_array_get_data_float_complex_const(const cpl_array | ||||
*); | ||||
const double complex *cpl_array_get_data_double_complex_const | ||||
(const cpl_array *); | ||||
double complex *cpl_array_get_data_double_complex(cpl_array *); | ||||
#endif | ||||
char **cpl_array_get_data_string(cpl_array *); | char **cpl_array_get_data_string(cpl_array *); | |||
const char **cpl_array_get_data_string_const(const cpl_array *); | const char **cpl_array_get_data_string_const(const cpl_array *); | |||
double cpl_array_get(const cpl_array *, int, int *); | double cpl_array_get(const cpl_array *, int, int *); | |||
int cpl_array_get_int(const cpl_array *, int, int *); | int cpl_array_get_int(const cpl_array *, int, int *); | |||
float cpl_array_get_float(const cpl_array *, int, int *); | float cpl_array_get_float(const cpl_array *, int, int *); | |||
double cpl_array_get_double(const cpl_array *, int, int *); | double cpl_array_get_double(const cpl_array *, int, int *); | |||
const char *cpl_array_get_string(const cpl_array *, int); | const char *cpl_array_get_string(const cpl_array *, int); | |||
#ifdef _Complex_I | ||||
double complex cpl_array_get_complex(const cpl_array *, int, int *); | ||||
float complex cpl_array_get_float_complex(const cpl_array *, int, int *); | ||||
double complex cpl_array_get_double_complex(const cpl_array *, int, int *); | ||||
#endif | ||||
cpl_error_code cpl_array_set(cpl_array *array, int, double); | cpl_error_code cpl_array_set(cpl_array *array, int, double); | |||
cpl_error_code cpl_array_set_int(cpl_array *, int, int); | cpl_error_code cpl_array_set_int(cpl_array *, int, int); | |||
cpl_error_code cpl_array_set_float(cpl_array *, int, float); | cpl_error_code cpl_array_set_float(cpl_array *, int, float); | |||
cpl_error_code cpl_array_set_double(cpl_array *, int, double); | cpl_error_code cpl_array_set_double(cpl_array *, int, double); | |||
cpl_error_code cpl_array_set_string(cpl_array *, int, const char *); | cpl_error_code cpl_array_set_string(cpl_array *, int, const char *); | |||
cpl_error_code cpl_array_set_invalid(cpl_array *, int); | cpl_error_code cpl_array_set_invalid(cpl_array *, int); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_array_set_complex(cpl_array *, int, double complex); | ||||
cpl_error_code cpl_array_set_float_complex(cpl_array *, int, float complex) | ||||
; | ||||
cpl_error_code cpl_array_set_double_complex(cpl_array *, int, double comple | ||||
x); | ||||
#endif | ||||
cpl_error_code cpl_array_fill_window(cpl_array *, int, int, double); | cpl_error_code cpl_array_fill_window(cpl_array *, int, int, double); | |||
cpl_error_code cpl_array_fill_window_int(cpl_array *, int, int, int); | cpl_error_code cpl_array_fill_window_int(cpl_array *, int, int, int); | |||
cpl_error_code cpl_array_fill_window_float(cpl_array *, int, int, float); | cpl_error_code cpl_array_fill_window_float(cpl_array *, int, int, float); | |||
cpl_error_code cpl_array_fill_window_double(cpl_array *, int, int, double); | cpl_error_code cpl_array_fill_window_double(cpl_array *, int, int, double); | |||
cpl_error_code cpl_array_fill_window_string(cpl_array *, int, int, | cpl_error_code cpl_array_fill_window_string(cpl_array *, int, int, | |||
const char *); | const char *); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_array_fill_window_complex(cpl_array *, | ||||
int, int, double complex); | ||||
cpl_error_code cpl_array_fill_window_float_complex(cpl_array *, int, int, | ||||
float complex); | ||||
cpl_error_code cpl_array_fill_window_double_complex(cpl_array *, int, int, | ||||
double complex); | ||||
#endif | ||||
cpl_error_code cpl_array_fill_window_invalid(cpl_array *, int, int); | cpl_error_code cpl_array_fill_window_invalid(cpl_array *, int, int); | |||
cpl_array *cpl_array_duplicate(const cpl_array *); | cpl_array *cpl_array_duplicate(const cpl_array *); | |||
cpl_array *cpl_array_extract(const cpl_array *, int start, int count); | cpl_array *cpl_array_extract(const cpl_array *, int start, int count); | |||
cpl_array *cpl_array_extract_real(cpl_array *); | ||||
cpl_array *cpl_array_extract_imag(cpl_array *); | ||||
cpl_error_code cpl_array_insert_window(cpl_array *, int start, int count); | cpl_error_code cpl_array_insert_window(cpl_array *, int start, int count); | |||
cpl_error_code cpl_array_erase_window(cpl_array *, int start, int count); | cpl_error_code cpl_array_erase_window(cpl_array *, int start, int count); | |||
cpl_error_code cpl_array_insert(cpl_array *, const cpl_array *, int); | cpl_error_code cpl_array_insert(cpl_array *, const cpl_array *, int); | |||
cpl_error_code cpl_array_add(cpl_array *, const cpl_array *); | cpl_error_code cpl_array_add(cpl_array *, const cpl_array *); | |||
cpl_error_code cpl_array_subtract(cpl_array *, const cpl_array *); | cpl_error_code cpl_array_subtract(cpl_array *, const cpl_array *); | |||
cpl_error_code cpl_array_multiply(cpl_array *, const cpl_array *); | cpl_error_code cpl_array_multiply(cpl_array *, const cpl_array *); | |||
cpl_error_code cpl_array_divide(cpl_array *, const cpl_array *); | cpl_error_code cpl_array_divide(cpl_array *, const cpl_array *); | |||
cpl_error_code cpl_array_add_scalar(cpl_array *, double); | cpl_error_code cpl_array_add_scalar(cpl_array *, double); | |||
cpl_error_code cpl_array_subtract_scalar(cpl_array *, double); | cpl_error_code cpl_array_subtract_scalar(cpl_array *, double); | |||
cpl_error_code cpl_array_multiply_scalar(cpl_array *, double); | cpl_error_code cpl_array_multiply_scalar(cpl_array *, double); | |||
cpl_error_code cpl_array_divide_scalar(cpl_array *, double); | cpl_error_code cpl_array_divide_scalar(cpl_array *, double); | |||
cpl_error_code cpl_array_abs(cpl_array *); | cpl_error_code cpl_array_abs(cpl_array *); | |||
cpl_error_code cpl_array_arg(cpl_array *); | ||||
cpl_error_code cpl_array_logarithm(cpl_array *, double); | cpl_error_code cpl_array_logarithm(cpl_array *, double); | |||
cpl_error_code cpl_array_power(cpl_array *, double); | cpl_error_code cpl_array_power(cpl_array *, double); | |||
cpl_error_code cpl_array_exponential(cpl_array *, double); | cpl_error_code cpl_array_exponential(cpl_array *, double); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_array_add_scalar_complex(cpl_array *, double complex); | ||||
cpl_error_code cpl_array_subtract_scalar_complex(cpl_array *, double comple | ||||
x); | ||||
cpl_error_code cpl_array_multiply_scalar_complex(cpl_array *, double comple | ||||
x); | ||||
cpl_error_code cpl_array_divide_scalar_complex(cpl_array *, double complex) | ||||
; | ||||
#endif | ||||
#ifdef _Complex_I | ||||
double complex cpl_array_get_mean_complex(const cpl_array *); | ||||
#endif | ||||
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 *); | |||
End of changes. 14 change blocks. | ||||
4 lines changed or deleted | 62 lines changed or added | |||
cpl_bivector.h | cpl_bivector.h | |||
---|---|---|---|---|
/* $Id: cpl_bivector.h,v 1.10 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_bivector.h,v 1.14 2010/12/14 17:25:08 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/12/14 17:25:08 $ | |||
* $Revision: 1.10 $ | * $Revision: 1.14 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_BIVECTOR_H | #ifndef CPL_BIVECTOR_H | |||
#define CPL_BIVECTOR_H | #define CPL_BIVECTOR_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | ||||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include "cpl_vector.h" | #include "cpl_vector.h" | |||
#include <stdio.h> | ||||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
New types | New types | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
typedef struct _cpl_bivector_ cpl_bivector; | typedef struct _cpl_bivector_ cpl_bivector; | |||
typedef enum { | ||||
CPL_SORT_BY_X, | ||||
CPL_SORT_BY_Y | ||||
} cpl_sort_mode; | ||||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* Constructors and destructors */ | /* Constructors and destructors */ | |||
cpl_bivector * cpl_bivector_new(int); | cpl_bivector * cpl_bivector_new(int) CPL_ATTR_ALLOC; | |||
cpl_bivector * cpl_bivector_wrap_vectors(cpl_vector *, cpl_vector *); | cpl_bivector * cpl_bivector_wrap_vectors(cpl_vector *, | |||
cpl_bivector * cpl_bivector_duplicate(const cpl_bivector *); | cpl_vector *) CPL_ATTR_ALLOC; | |||
cpl_bivector * cpl_bivector_duplicate(const cpl_bivector *) CPL_ATTR_ALLOC; | ||||
void cpl_bivector_delete(cpl_bivector *); | void cpl_bivector_delete(cpl_bivector *); | |||
void cpl_bivector_unwrap_vectors(cpl_bivector *); | void cpl_bivector_unwrap_vectors(cpl_bivector *); | |||
void cpl_bivector_dump(const cpl_bivector *, FILE *); | void cpl_bivector_dump(const cpl_bivector *, FILE *); | |||
cpl_bivector * cpl_bivector_read(const char *); | cpl_bivector * cpl_bivector_read(const char *) CPL_ATTR_ALLOC; | |||
cpl_error_code cpl_bivector_copy(cpl_bivector *, const cpl_bivector *); | ||||
/* Accessors functions */ | /* Accessors functions */ | |||
int cpl_bivector_get_size(const cpl_bivector *); | int cpl_bivector_get_size(const cpl_bivector *); | |||
cpl_vector * cpl_bivector_get_x(cpl_bivector *); | cpl_vector * cpl_bivector_get_x(cpl_bivector *); | |||
cpl_vector * cpl_bivector_get_y(cpl_bivector *); | cpl_vector * cpl_bivector_get_y(cpl_bivector *); | |||
const cpl_vector * cpl_bivector_get_x_const(const cpl_bivector *); | const cpl_vector * cpl_bivector_get_x_const(const cpl_bivector *); | |||
const cpl_vector * cpl_bivector_get_y_const(const cpl_bivector *); | const cpl_vector * cpl_bivector_get_y_const(const cpl_bivector *); | |||
double * cpl_bivector_get_x_data(cpl_bivector *); | double * cpl_bivector_get_x_data(cpl_bivector *); | |||
double * cpl_bivector_get_y_data(cpl_bivector *); | double * cpl_bivector_get_y_data(cpl_bivector *); | |||
const double * cpl_bivector_get_x_data_const(const cpl_bivector *); | const double * cpl_bivector_get_x_data_const(const cpl_bivector *); | |||
const double * cpl_bivector_get_y_data_const(const cpl_bivector *); | const double * cpl_bivector_get_y_data_const(const cpl_bivector *); | |||
/* Basic functionalities */ | /* Basic functionalities */ | |||
cpl_error_code cpl_bivector_interpolate_linear(cpl_bivector *, | cpl_error_code cpl_bivector_interpolate_linear(cpl_bivector *, | |||
const cpl_bivector *); | const cpl_bivector *); | |||
cpl_error_code cpl_bivector_sort(cpl_bivector *, const cpl_bivector *, | ||||
cpl_sort_direction, cpl_sort_mode); | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 9 change blocks. | ||||
10 lines changed or deleted | 22 lines changed or added | |||
cpl_detector.h | cpl_detector.h | |||
---|---|---|---|---|
/* $Id: cpl_detector.h,v 1.4 2009/08/07 09:21:09 lbilbao Exp $ | /* $Id: cpl_detector.h,v 1.5 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: lbilbao $ | * $Author: llundin $ | |||
* $Date: 2009/08/07 09:21:09 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_DETECTOR_H | #ifndef CPL_DETECTOR_H | |||
#define CPL_DETECTOR_H | #define CPL_DETECTOR_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
End of changes. 3 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
cpl_dfs.h | cpl_dfs.h | |||
---|---|---|---|---|
/* $Id: cpl_dfs.h,v 1.15 2009/07/02 11:00:09 llundin Exp $ | /* $Id: cpl_dfs.h,v 1.16 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/07/02 11:00:09 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.15 $ | * $Revision: 1.16 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_DFS_H | #ifndef CPL_DFS_H | |||
#define CPL_DFS_H | #define CPL_DFS_H | |||
#include <cpl_imagelist.h> | #include <cpl_imagelist.h> | |||
#include <cpl_table.h> | #include <cpl_table.h> | |||
#include <cpl_frameset.h> | #include <cpl_frameset.h> | |||
#include <cpl_propertylist.h> | #include <cpl_propertylist.h> | |||
#include <cpl_parameterlist.h> | #include <cpl_parameterlist.h> | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_error.h | cpl_error.h | |||
---|---|---|---|---|
/* $Id: cpl_error.h,v 1.70 2009/08/12 09:15:40 llundin Exp $ | /* $Id: cpl_error.h,v 1.79 2010/11/12 14:28:01 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/08/12 09:15:40 $ | * $Date: 2010/11/12 14:28:01 $ | |||
* $Revision: 1.70 $ | * $Revision: 1.79 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_ERROR_H | #ifndef CPL_ERROR_H | |||
#define CPL_ERROR_H | #define CPL_ERROR_H | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_func.h> | #include <cpl_func.h> | |||
#include <cxutils.h> | #include <cxutils.h> | |||
skipping to change at line 65 | skipping to change at line 65 | |||
#ifndef CPL_ERROR_MAX_MESSAGE_LENGTH | #ifndef CPL_ERROR_MAX_MESSAGE_LENGTH | |||
#define CPL_ERROR_MAX_MESSAGE_LENGTH 256 | #define CPL_ERROR_MAX_MESSAGE_LENGTH 256 | |||
#endif | #endif | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@ingroup cpl_error | @ingroup cpl_error | |||
@brief Flag to indicate support for variadic macros | @brief Flag to indicate support for variadic macros | |||
@see cpl_error_set_message() | @see cpl_error_set_message() | |||
@note Unless already defined, tries to detect whether variadic macros are | @note Unless already defined, tries to detect whether variadic macros are | |||
supported, not only when CPL is compiled, but also when the CPL-bas | supported, typically at compile-time of a CPL-based application. | |||
ed | This check, which is hardly robust, should support | |||
application is compiled. This check, which is hardly robust, should | ||||
support | ||||
- disabling of variadic macros when compiling with @em gcc @em -ans i | - disabling of variadic macros when compiling with @em gcc @em -ans i | |||
- enabling them when compiling with @em gcc @em -std=c99 | - enabling them when compiling with a C99 compliant compiler, such | |||
as | ||||
@em gcc @em -std=c99 | ||||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#ifndef CPL_HAVE_VA_ARGS | #ifndef CPL_HAVE_VA_ARGS | |||
# if defined __STRICT_ANSI__ | # if !defined __STDC_VERSION__ && defined __STRICT_ANSI__ | |||
/* gcc -ansi and gcc -std=... enters here */ | /* (llvm-)gcc -ansi and (llvm-)gcc -std=c89 do not define __STDC_VERS | |||
# if !defined __STDC_VERSION__ || __STDC_VERSION__ <= 199409L | ION__ | |||
/* gcc -ansi enters here, but gcc -std=... does not | but they do define __STRICT_ANSI__ */ | |||
(The value 199409L signifies the 1989 C standard as amended in 1994) | # define CPL_HAVE_VA_ARGS 0 | |||
*/ | # else | |||
# define CPL_HAVE_VA_ARGS 0 | /* (llvm-)gcc with other language standards (incl. gnu89 (equivalent to | |||
# endif | no language specification), iso9899:199409, c99) reaches this point | |||
# endif | */ | |||
/* Sunstudio 12.1 c99 reaches this point since it defines __STDC_VERSIO | ||||
# ifndef CPL_HAVE_VA_ARGS | N__ | |||
# define CPL_HAVE_VA_ARGS 1 | to 199901L as expected (it also defines __STRICT_ANSI__) */ | |||
# define CPL_HAVE_VA_ARGS 1 | ||||
# endif | # endif | |||
#endif | #endif | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
* @ingroup cpl_error | * @ingroup cpl_error | |||
@brief Generic error handling macro | @brief Generic error handling macro | |||
@param CONDITION The condition to check | @param CONDITION The condition to check | |||
@param CODE The CPL error code to set if @em CONDTION is non-z ero | @param CODE The CPL error code to set if @em CONDTION is non-z ero | |||
@param ACTION A statement that is executed iff the @em CONDITION | @param ACTION A statement that is executed iff the @em CONDITION | |||
evaluates to non-zero. | evaluates to non-zero. | |||
@param ... A printf-style message for cpl_error_set_message() . | @param ... A printf-style message for cpl_error_set_message() . | |||
@see cpl_error_set_message() | @see cpl_error_set_message() | |||
@note This macro should not be used directly. It is defined only to supp ort | @note This macro should not be used directly. It is defined only to supp ort | |||
user-defined error handling macros. If CODE equals CPL_ERROR_NONE, a CPL | user-defined error handling macros. If CODE equals CPL_ERROR_NONE, a CPL | |||
error with code CPL_ERROR_UNSPECIFIED is created. The message may be a | error with code CPL_ERROR_UNSPECIFIED is created. The message may be a | |||
printf-like format string supplied with arguments unless variadic macros | printf-like format string supplied with arguments unless variadic macros | |||
are not supported in which case only a non-format string is accepted. | are not supported in which case only a (non-format) string is accepted. | |||
The provided @em CODE, @em ACTION and @em __VA_ARGS__ are evaluated/exec uted | The provided @em CODE, @em ACTION and @em __VA_ARGS__ are evaluated/exec uted | |||
only if the @em CONDITION evaluates to false (zero). The @em ACTION @em break | only if the @em CONDITION evaluates to false (zero). The @em ACTION @em break | |||
is unsupported (it currently causes the execution to continue after @em | is unsupported (it currently causes the execution to continue after @em | |||
cpl_error_ensure()). Some of the below examples | cpl_error_ensure()). Some of the below examples | |||
use a @em goto statement to jump to a single cleanup label, assumed to | use a @em goto statement to jump to a single cleanup label, assumed to | |||
be located immediately before the function's unified cleanup-code and re turn | be located immediately before the function's unified cleanup-code and re turn | |||
point. This error-handling scheme is reminiscent of using exceptions in | point. This error-handling scheme is reminiscent of using exceptions in | |||
languages that support exceptions (C++, Java, ...). The use of @em goto and | languages that support exceptions (C++, Java, ...). The use of @em goto and | |||
a single clean-up label per function "if the error-handling code is non- | a single clean-up label per function "if the error-handling code is non- | |||
trivial, and if errors can occur in several places" is sanctioned by | trivial, and if errors can occur in several places" is sanctioned by | |||
skipping to change at line 178 | skipping to change at line 176 | |||
check( | check( | |||
(x = cpl_table_get_int(table, "x", 0, NULL), | (x = cpl_table_get_int(table, "x", 0, NULL), | |||
y = cpl_table_get_int(table, "y", 0, NULL), | y = cpl_table_get_int(table, "y", 0, NULL), | |||
z = cpl_table_get_int(table, "z", 0, NULL)), | z = cpl_table_get_int(table, "z", 0, NULL)), | |||
"Error reading wavelength catalogue"); | "Error reading wavelength catalogue"); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS == 1 | #if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS == 1 || defined DOXYGEN_SK IP | |||
#define cpl_error_ensure(CONDITION, CODE, ACTION, ...) \ | #define cpl_error_ensure(CONDITION, CODE, ACTION, ...) \ | |||
do if (!(CONDITION)) { \ | do if (!(CONDITION)) { \ | |||
/* Evaluate exactly once using a name-space protected variable name */ \ | /* Evaluate exactly once using a name-space protected variable name */ \ | |||
const cpl_error_code cpl_ensure_error = (CODE); \ | const cpl_error_code cpl_ensure_error = (CODE); \ | |||
(void)cpl_error_set_message_macro(cpl_func, cpl_ensure_error \ | (void)cpl_error_set_message_macro(cpl_func, cpl_ensure_error \ | |||
? cpl_ensure_error : \ | ? cpl_ensure_error : \ | |||
CPL_ERROR_UNSPECIFIED, \ | CPL_ERROR_UNSPECIFIED, \ | |||
__FILE__, __LINE__, __VA_ARGS__) ; \ | __FILE__, __LINE__, __VA_ARGS__) ; \ | |||
ACTION; \ | ACTION; \ | |||
} while (0) | } while (0) | |||
skipping to change at line 309 | skipping to change at line 307 | |||
* Example of usage: | * Example of usage: | |||
* @code | * @code | |||
* | * | |||
* if (image == NULL) { | * if (image == NULL) { | |||
* return cpl_error_set_message(cpl_func, CPL_ERROR_NULL_INPUT, | * return cpl_error_set_message(cpl_func, CPL_ERROR_NULL_INPUT, | |||
* "Image number %d is NULL", number); | * "Image number %d is NULL", number); | |||
* } | * } | |||
* | * | |||
* @endcode | * @endcode | |||
* | * | |||
* Example of usage in a C89 application (e.g. compiling with gcc -ansi): | ||||
* @code | ||||
* | ||||
* if (image == NULL) { | ||||
* char * my_txt = cpl_sprintf("Image number %d is NULL", number); | ||||
* const cpl_error_code my_code = | ||||
* cpl_error_set_message(cpl_func, CPL_ERROR_NULL_INPUT, my_txt) | ||||
; | ||||
* cpl_free(my_txt); | ||||
* return my_code; | ||||
* } | ||||
* | ||||
* @endcode | ||||
* | ||||
* @hideinitializer | * @hideinitializer | |||
*/ | */ | |||
#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS == 1 | #if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS == 1 || defined DOXYGEN_SK IP | |||
#define cpl_error_set_message(function, code, ...) \ | #define cpl_error_set_message(function, code, ...) \ | |||
cpl_error_set_message_macro(function, code, __FILE__, __LINE__, __VA_AR GS__) | cpl_error_set_message_macro(function, code, __FILE__, __LINE__, __VA_AR GS__) | |||
#else | #else | |||
#define cpl_error_set_message(function, code, text) \ | #define cpl_error_set_message(function, code, text) \ | |||
cpl_error_set_message_macro(function, code, __FILE__, __LINE__, text) | cpl_error_set_message_macro(function, code, __FILE__, __LINE__, text) | |||
#endif | #endif | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
New types | New types | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
skipping to change at line 421 | skipping to change at line 432 | |||
typedef enum _cpl_error_code_ cpl_error_code; | typedef enum _cpl_error_code_ cpl_error_code; | |||
typedef struct _cpl_error_ cpl_error; | typedef struct _cpl_error_ cpl_error; | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
void cpl_error_reset(void); | void cpl_error_reset(void); | |||
cpl_error_code cpl_error_set_message_macro(const char *, cpl_error_code, | cpl_error_code | |||
const char *, unsigned, | cpl_error_set_message_macro(const char *, cpl_error_code, | |||
const char *, ...) | const char *, unsigned, | |||
#ifdef __GNUC__ | const char *, ...) CPL_ATTR_PRINTF(5,6) | |||
#if __GNUC__ > 3 || __GNUC__ == 3 && defined __GNUC_MINOR__ && __GNUC_MINOR | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__ > 2 | ||||
__attribute__((nonnull(3))) | __attribute__((nonnull(3))) | |||
#endif | #endif | |||
__attribute__((format (printf, 5, 6))) | ||||
#endif | ||||
; | ||||
cpl_error_code cpl_error_get_code(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
const char *cpl_error_get_message(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
const char *cpl_error_get_message_default(cpl_error_code) | ||||
#ifdef __GNUC__ | ||||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
const char *cpl_error_get_function(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
const char *cpl_error_get_file(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
unsigned cpl_error_get_line(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
const char *cpl_error_get_where(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ; | |||
cpl_error_code cpl_error_get_code(void) CPL_ATTR_PURE; | ||||
const char *cpl_error_get_message(void) CPL_ATTR_PURE; | ||||
const char *cpl_error_get_message_default(cpl_error_code) CPL_ATTR_CONS | ||||
T; | ||||
const char *cpl_error_get_function(void) CPL_ATTR_PURE; | ||||
const char *cpl_error_get_file(void) CPL_ATTR_PURE; | ||||
unsigned cpl_error_get_line(void) CPL_ATTR_PURE; | ||||
const char *cpl_error_get_where(void) CPL_ATTR_PURE; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
/* end of cpl_error.h */ | /* end of cpl_error.h */ | |||
End of changes. 13 change blocks. | ||||
68 lines changed or deleted | 53 lines changed or added | |||
cpl_errorstate.h | cpl_errorstate.h | |||
---|---|---|---|---|
/* $Id: cpl_errorstate.h,v 1.5 2009/08/11 14:19:39 llundin Exp $ | /* $Id: cpl_errorstate.h,v 1.7 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/08/11 14:19:39 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.5 $ | * $Revision: 1.7 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_ERRORSTATE_H | #ifndef CPL_ERRORSTATE_H | |||
#define CPL_ERRORSTATE_H | #define CPL_ERRORSTATE_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_type.h> | #include <cpl_type.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 51 | skipping to change at line 51 | |||
#ifndef CPL_ERROR_HISTORY_SIZE | #ifndef CPL_ERROR_HISTORY_SIZE | |||
#define CPL_ERROR_HISTORY_SIZE 20 | #define CPL_ERROR_HISTORY_SIZE 20 | |||
#endif | #endif | |||
typedef const void * cpl_errorstate; | typedef const void * cpl_errorstate; | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Prototypes of functions | Prototypes of functions | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
cpl_errorstate cpl_errorstate_get(void) | cpl_errorstate cpl_errorstate_get(void) CPL_ATTR_PURE; | |||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
void cpl_errorstate_set(cpl_errorstate); | void cpl_errorstate_set(cpl_errorstate); | |||
cpl_boolean cpl_errorstate_is_equal(cpl_errorstate) | cpl_boolean cpl_errorstate_is_equal(cpl_errorstate) CPL_ATTR_PURE; | |||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
void cpl_errorstate_dump(cpl_errorstate, | void cpl_errorstate_dump(cpl_errorstate, | |||
cpl_boolean, | cpl_boolean, | |||
void (*)(unsigned, unsigned, unsigned)); | void (*)(unsigned, unsigned, unsigned)); | |||
void cpl_errorstate_dump_one(unsigned, unsigned, unsigned); | void cpl_errorstate_dump_one(unsigned, unsigned, unsigned); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
15 lines changed or deleted | 7 lines changed or added | |||
cpl_fft.h | cpl_fft.h | |||
---|---|---|---|---|
/* $Id: cpl_fft.h,v 1.2 2009/12/14 15:35:53 llundin Exp $ | /* $Id: cpl_fft.h,v 1.3 2010/11/11 09:23: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-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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
#ifndef CPL_FFT_H | #ifndef CPL_FFT_H | |||
#define CPL_FFT_H | #define CPL_FFT_H | |||
#define CPL_FFT_FORWARD ((unsigned)1 << 1) | #define CPL_FFT_FORWARD ((unsigned)1 << 1) | |||
#define CPL_FFT_BACKWARD ((unsigned)1 << 2) | #define CPL_FFT_BACKWARD ((unsigned)1 << 2) | |||
/* Function prototypes */ | /* Function prototypes */ | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
cpl_filter.h | cpl_filter.h | |||
---|---|---|---|---|
/* $Id: cpl_filter.h,v 1.16 2010/05/03 11:15:25 llundin Exp $ | /* $Id: cpl_filter.h,v 1.19 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/05/03 11:15:25 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.16 $ | * $Revision: 1.19 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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 | |||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
* @defgroup cpl_filter Filters | ||||
* | ||||
* This module provides definitions for filtering of a | ||||
* @c cpl_image and a @c cpl_mask. The actual filtering functions are defin | ||||
ed | ||||
* in the @c cpl_image and @c cpl_mask modules. | ||||
* | ||||
* @par Synopsis: | ||||
* @code | ||||
* #include "cpl_filter.h" | ||||
* @endcode | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/**@{*/ | ||||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
New types | New types | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@ingroup cpl_image_filter | ||||
* | ||||
* @brief These are the supported border modes. For a kernel/mask of width | ||||
* 2n+1, the n left- and rightmost image columns do not have raw pixels for | ||||
* the whole kernel/mask. The same holds for the top and bottom image rows. | ||||
* The border mode defines the filtering of such border pixels. | ||||
* | ||||
* <table class="ec" align="center"> | ||||
* <tr> | ||||
* <td class="ecl">CPL_BORDER_FILTER</td> | ||||
* <td class="ecr"> | ||||
* Filter the border using the reduced | ||||
* number of pixels. If in median filtering the | ||||
* number of pixels is even choose any one of the | ||||
* two central values. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_BORDER_CROP</td> | ||||
* <td class="ecr"> | ||||
* Crop the filtered image. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_BORDER_NOP</td> | ||||
* <td class="ecr"> | ||||
* Do not modify the border of the filtered image. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_BORDER_COPY</td> | ||||
* <td class="ecr"> | ||||
* Copy the border of the raw image | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_BORDER_ZERO</td> | ||||
* <td class="ecr"> | ||||
* Set the border of the filtered mask to zero | ||||
* </td> | ||||
* </tr> | ||||
* </table> | ||||
* | * | |||
* @brief These are the supported border modes. | ||||
* For a kernel of width 2n+1, the n left- and rightmost image/mask | ||||
* columns do not have elements for the whole kernel. The same holds for th | ||||
e | ||||
* top and bottom image/mask rows. The border mode defines the filtering of | ||||
* such border pixels. | ||||
* | * | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
enum _cpl_border_mode_ | enum _cpl_border_mode_ | |||
{ | { | |||
CPL_BORDER_FILTER, | CPL_BORDER_FILTER, | |||
/* | /**< | |||
Filter the border. | Filter the border using the reduced number of pixels. If in median | |||
filtering the number of pixels is even choose any one of the two | ||||
central values. | ||||
*/ | */ | |||
CPL_BORDER_ZERO, | CPL_BORDER_ZERO, | |||
/* | /**< | |||
Set the border to zero. | Set the border of the filtered image/mask to zero. | |||
*/ | */ | |||
CPL_BORDER_CROP, | CPL_BORDER_CROP, | |||
/* | /**< | |||
Crop filtered image. | Crop the filtered image/mask. | |||
*/ | */ | |||
CPL_BORDER_NOP, | CPL_BORDER_NOP, | |||
/* | /**< | |||
Do not modify the border of the filtered image. | Do not modify the border of the filtered image/mask. | |||
*/ | */ | |||
CPL_BORDER_COPY | CPL_BORDER_COPY | |||
/* | /**< | |||
Copy the border of the raw image. | Copy the border of the input image/mask. | |||
*/ | */ | |||
}; | }; | |||
/** | /** | |||
* @ingroup cpl_image_filter | ||||
* | ||||
* @brief | * @brief | |||
* The border mode type. | * The border mode type. | |||
*/ | */ | |||
typedef enum _cpl_border_mode_ cpl_border_mode; | typedef enum _cpl_border_mode_ cpl_border_mode; | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
* | * | |||
@ingroup cpl_image_filter | ||||
* | ||||
* @brief These are the supported filter modes. | * @brief These are the supported filter modes. | |||
* | * | |||
* | ||||
* <table class="ec" align="center"> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_LINEAR</td> | ||||
* <td class="ecr"> | ||||
* A linear filter. The kernel elements are used as weights | ||||
* like this: | ||||
* | ||||
@verbatim | ||||
Kernel 1 2 3 Image ... | ||||
4 5 6 ... 1.0 2.0 3.0 ... | ||||
7 8 9 ... 4.0 5.0 6.0 ... | ||||
... 7.0 8.0 9.0 ... | ||||
... | ||||
@endverbatim | ||||
* | ||||
* 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$ | ||||
* | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_AVERAGE</td> | ||||
* <td class="ecr"> | ||||
* An average filter, i.e. the output pixel is the | ||||
* arithmetic average of the surrounding (1 + 2 * hsizex) | ||||
* * (1 + 2 * hsizey) pixels. | ||||
* The cost per pixel is O(hsizex*hsizey). | ||||
* The two images may have different pixel types. | ||||
* When the input and output pixel types | ||||
* are identical, the arithmetic is done with that type, | ||||
* e.g. int for two integer images. When the input and | ||||
* output pixel types differ, the arithmetic is done in | ||||
* double precision when one of the two images have | ||||
* pixel type CPL_TYPE_DOUBLE, otherwise float is used. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_AVERAGE_FAST</td> | ||||
* <td class="ecr"> | ||||
* The same as CPL_FILTER_AVERAGE, except that it uses a running | ||||
* average, which will lead to a significant loss of precision if | ||||
* there are large differences in the magnitudes of the input pixels. | ||||
* The cost per pixel is O(1) if all elements in the kernel are used, | ||||
* otherwise the filtering is done as for CPL_FILTER_AVERAGE. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_MEDIAN</td> | ||||
* <td class="ecr"> | ||||
* A median filter. The pixel types of the input and | ||||
* output images must be identical. All border modes are | ||||
* supported. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_STDEV</td> | ||||
* <td class="ecr"> | ||||
* The filtered value is the standard deviation of the included | ||||
* input pixels. | ||||
* | ||||
* | ||||
@verbatim | ||||
mask Image ... | ||||
1 0 1 ... 1.0 2.0 3.0 ... | ||||
0 1 0 ... 4.0 5.0 6.0 ... | ||||
1 0 1 ... 7.0 8.0 9.0 ... | ||||
... | ||||
@endverbatim | ||||
* | ||||
* The pixel with value 5.0 will have a filtered value of: | ||||
* std_dev(1.0, 3.0, 5.0, 7.0, 9.0) | ||||
* | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_STDEV_FAST</td> | ||||
* <td class="ecr"> | ||||
* The same as CPL_FILTER_STDEV, except that it uses the same running | ||||
* method employed in CPL_FILTER_AVERAGE_FAST, which will lead to a | ||||
* significant loss of precision if there are large differences in the | ||||
* magnitudes of the input pixels. As for CPL_FILTER_AVERAGE_FAST, the | ||||
cost | ||||
* per pixel is O(1) if all elements are used, otherwise the filtering | ||||
is | ||||
* done as for CPL_FILTER_STDEV. | ||||
* </td> | ||||
* </tr> | ||||
* <tr> | ||||
* <td class="ecl">CPL_FILTER_MORPHO</td> | ||||
* <td class="ecr"> | ||||
* A Morphological filter. The kernel elements are used as weights | ||||
* on the sorted values covered by the kernel: | ||||
* | ||||
@verbatim | ||||
Kernel 1 2 3 Image ... | ||||
4 5 6 ... 4.0 6.0 5.0 ... | ||||
7 8 9 ... 3.0 1.0 2.0 ... | ||||
... 7.0 8.0 9.0 ... | ||||
... | ||||
@endverbatim | ||||
* | ||||
* 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$ | ||||
* | ||||
* </td> | ||||
* </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> | ||||
* | ||||
* | ||||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
enum _cpl_filter_mode_ | enum _cpl_filter_mode_ | |||
{ | { | |||
CPL_FILTER_EROSION, | CPL_FILTER_EROSION, | |||
/**< | ||||
/* | The erosion filter (for a @c cpl_mask). | |||
The erosion filter for binary images (cpl_mask) | ||||
*/ | */ | |||
CPL_FILTER_DILATION, | CPL_FILTER_DILATION, | |||
/**< | ||||
/* | The dilation filter (for a @c cpl_mask). | |||
The dilation filter for binary images (cpl_mask) | ||||
*/ | */ | |||
CPL_FILTER_OPENING, | CPL_FILTER_OPENING, | |||
/**< | ||||
/* | The opening filter (for a @c cpl_mask). | |||
The opening filter for binary images (cpl_mask) | ||||
*/ | */ | |||
CPL_FILTER_CLOSING, | CPL_FILTER_CLOSING, | |||
/**< | ||||
/* | The closing filter (for a @c cpl_mask). | |||
The closing filter for binary images (cpl_mask) | ||||
*/ | */ | |||
CPL_FILTER_LINEAR, | CPL_FILTER_LINEAR, | |||
/* | /**< | |||
A linear filter. | A linear filter (for a @c cpl_image). The kernel elements are used | |||
as | ||||
weights like this: | ||||
@verbatim | ||||
Kernel Image ... | ||||
1 2 3 ... 1.0 2.0 3.0 ... | ||||
4 5 6 ... 4.0 5.0 6.0 ... | ||||
7 8 9 ... 7.0 8.0 9.0 ... | ||||
... | ||||
@endverbatim | ||||
The filtered value corresponding to the pixel whose value is 5.0 i | ||||
s: | ||||
\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$ | ||||
*/ | */ | |||
CPL_FILTER_AVERAGE, | CPL_FILTER_AVERAGE, | |||
/* | /**< | |||
An average filter. | An average filter (for a @c cpl_image), i.e. the output pixel is t | |||
he | ||||
arithmetic average of the surrounding (1 + 2 * hsizex) | ||||
* (1 + 2 * hsizey) pixels. | ||||
The cost per pixel is O(hsizex*hsizey). | ||||
The two images may have different pixel types. | ||||
When the input and output pixel types | ||||
are identical, the arithmetic is done with that type, | ||||
e.g. int for two integer images. When the input and | ||||
output pixel types differ, the arithmetic is done in | ||||
double precision when one of the two images have | ||||
pixel type CPL_TYPE_DOUBLE, otherwise float is used. | ||||
*/ | */ | |||
CPL_FILTER_AVERAGE_FAST, | CPL_FILTER_AVERAGE_FAST, | |||
/* | /**< | |||
A fast average filter. | The same as CPL_FILTER_AVERAGE, except that it uses a running | |||
average, which will lead to a significant loss of precision if | ||||
there are large differences in the magnitudes of the input pixels. | ||||
The cost per pixel is O(1) if all elements in the kernel are used, | ||||
otherwise the filtering is done as for CPL_FILTER_AVERAGE. | ||||
*/ | */ | |||
CPL_FILTER_MEDIAN, | CPL_FILTER_MEDIAN, | |||
/* | /**< | |||
A median filter. | A median filter (for a @c cpl_image). The pixel types of the input | |||
and | ||||
output images must be identical. All border modes are supported. | ||||
*/ | */ | |||
CPL_FILTER_STDEV, | CPL_FILTER_STDEV, | |||
/**< | ||||
The filtered value is the standard deviation of the included | ||||
input pixels. | ||||
@verbatim | ||||
Kernel Image ... | ||||
1 0 1 ... 1.0 2.0 3.0 ... | ||||
0 1 0 ... 4.0 5.0 6.0 ... | ||||
1 0 1 ... 7.0 8.0 9.0 ... | ||||
... | ||||
@endverbatim | ||||
The pixel with value 5.0 will have a filtered value of: | ||||
std_dev(1.0, 3.0, 5.0, 7.0, 9.0) | ||||
/* | ||||
A standard deviation filter. | ||||
*/ | */ | |||
CPL_FILTER_STDEV_FAST, | CPL_FILTER_STDEV_FAST, | |||
/**< | ||||
/* | The same as CPL_FILTER_STDEV, except that it uses the same running | |||
A fast standard deviation filter. | method employed in CPL_FILTER_AVERAGE_FAST, which will lead to a | |||
significant loss of precision if there are large differences in th | ||||
e | ||||
magnitudes of the input pixels. As for CPL_FILTER_AVERAGE_FAST, th | ||||
e cost | ||||
per pixel is O(1) if all elements are used, otherwise the filterin | ||||
g is | ||||
done as for CPL_FILTER_STDEV. | ||||
*/ | */ | |||
CPL_FILTER_MORPHO | CPL_FILTER_MORPHO | |||
/* | /**< | |||
A Morphological filter. | A morphological filter (for a @c cpl_image). The kernel elements a | |||
re | ||||
used as weights on the sorted values covered by the kernel: | ||||
@verbatim | ||||
Kernel Image ... | ||||
1 2 3 ... 4.0 6.0 5.0 ... | ||||
4 5 6 ... 3.0 1.0 2.0 ... | ||||
7 8 9 ... 7.0 8.0 9.0 ... | ||||
... | ||||
@endverbatim | ||||
The filtered value corresponding to the pixel whose value is 5.0 i | ||||
s: | ||||
\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$ | ||||
*/ | */ | |||
}; | }; | |||
/** | /** | |||
* @ingroup cpl_image_filter | ||||
* | ||||
* @brief | * @brief | |||
* The filter mode type. | * The filter mode type. | |||
*/ | */ | |||
typedef enum _cpl_filter_mode_ cpl_filter_mode; | typedef enum _cpl_filter_mode_ cpl_filter_mode; | |||
/**@}*/ | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 28 change blocks. | ||||
228 lines changed or deleted | 134 lines changed or added | |||
cpl_fit.h | cpl_fit.h | |||
---|---|---|---|---|
/* $Id: cpl_fit.h,v 1.6 2009/12/14 15:35:53 llundin Exp $ | /* $Id: cpl_fit.h,v 1.7 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/14 15:35:53 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.6 $ | * $Revision: 1.7 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_FIT_H | #ifndef CPL_FIT_H | |||
#define CPL_FIT_H | #define CPL_FIT_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <cpl_vector.h> | #include <cpl_vector.h> | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_fits.h | cpl_fits.h | |||
---|---|---|---|---|
/* $Id: cpl_fits.h,v 1.4 2008/11/27 13:19:26 lbilbao Exp $ | /* $Id: cpl_fits.h,v 1.6 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: lbilbao $ | * $Author: llundin $ | |||
* $Date: 2008/11/27 13:19:26 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.6 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_FITS_H | #ifndef CPL_FITS_H | |||
#define CPL_FITS_H | #define CPL_FITS_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
int cpl_fits_count_extensions(const char *); | int cpl_fits_count_extensions(const char *); | |||
int cpl_fits_get_nb_extensions(const char *) | int cpl_fits_get_nb_extensions(const char *) CPL_ATTR_DEPRECATED; | |||
#ifdef __GNUC__ | ||||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
int cpl_fits_find_extension(const char *, const char *); | int cpl_fits_find_extension(const char *, const char *); | |||
int cpl_fits_get_extension_nb(const char *, const char *) | int cpl_fits_get_extension_nb(const char *, const char *) CPL_ATTR_DEPRECAT | |||
#ifdef __GNUC__ | ED; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
16 lines changed or deleted | 9 lines changed or added | |||
cpl_frame.h | cpl_frame.h | |||
---|---|---|---|---|
/* $Id: cpl_frame.h,v 1.16 2009/02/11 12:10:06 scastro Exp $ | /* $Id: cpl_frame.h,v 1.18 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: llundin $ | |||
* $Date: 2009/02/11 12:10:06 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.16 $ | * $Revision: 1.18 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_FRAME_H | #ifndef CPL_FRAME_H | |||
#define CPL_FRAME_H | #define CPL_FRAME_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 239 | skipping to change at line 239 | |||
* @brief | * @brief | |||
* Frame group tag for processed data. | * Frame group tag for processed data. | |||
*/ | */ | |||
#define CPL_FRAME_GROUP_PRODUCT_ID "PRODUCT" | #define CPL_FRAME_GROUP_PRODUCT_ID "PRODUCT" | |||
/* | /* | |||
* Create, copy and destroy operations | * Create, copy and destroy operations | |||
*/ | */ | |||
cpl_frame *cpl_frame_new(void); | cpl_frame *cpl_frame_new(void) CPL_ATTR_ALLOC; | |||
cpl_frame *cpl_frame_duplicate(const cpl_frame *other); | cpl_frame *cpl_frame_duplicate(const cpl_frame *other) CPL_ATTR_ALLOC; | |||
void cpl_frame_delete(cpl_frame *self); | void cpl_frame_delete(cpl_frame *self); | |||
/* | /* | |||
* Modifying and non-modifying operations | * Modifying and non-modifying operations | |||
*/ | */ | |||
const char *cpl_frame_get_filename(const cpl_frame *self); | const char *cpl_frame_get_filename(const cpl_frame *self); | |||
const char *cpl_frame_get_tag(const cpl_frame *self); | const char *cpl_frame_get_tag(const cpl_frame *self); | |||
cpl_frame_type cpl_frame_get_type(const cpl_frame *self); | cpl_frame_type cpl_frame_get_type(const cpl_frame *self); | |||
cpl_frame_group cpl_frame_get_group(const cpl_frame *self); | cpl_frame_group cpl_frame_get_group(const cpl_frame *self); | |||
End of changes. 4 change blocks. | ||||
8 lines changed or deleted | 8 lines changed or added | |||
cpl_framedata.h | cpl_framedata.h | |||
---|---|---|---|---|
/* $Id: cpl_framedata.h,v 1.1 2006/10/31 14:49:02 rpalsa Exp $ | /* $Id: cpl_framedata.h,v 1.3 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: llundin $ | |||
* $Date: 2006/10/31 14:49:02 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.1 $ | * $Revision: 1.3 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_FRAMEDATA_H | #ifndef CPL_FRAMEDATA_H | |||
#define CPL_FRAMEDATA_H | #define CPL_FRAMEDATA_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 90 | skipping to change at line 90 | |||
*/ | */ | |||
int max_count; | int max_count; | |||
}; | }; | |||
/* | /* | |||
* Create, copy and destroy operations | * Create, copy and destroy operations | |||
*/ | */ | |||
cpl_framedata* cpl_framedata_new(void); | cpl_framedata* cpl_framedata_new(void) CPL_ATTR_ALLOC; | |||
cpl_framedata* cpl_framedata_create(const char* tag, int min_count, | cpl_framedata* cpl_framedata_create(const char* tag, int min_count, | |||
int max_count); | int max_count) CPL_ATTR_ALLOC; | |||
cpl_framedata* cpl_framedata_duplicate(const cpl_framedata* other); | cpl_framedata* cpl_framedata_duplicate(const cpl_framedata* other) | |||
CPL_ATTR_ALLOC; | ||||
void cpl_framedata_clear(cpl_framedata* self); | void cpl_framedata_clear(cpl_framedata* self); | |||
void cpl_framedata_delete(cpl_framedata* self); | void cpl_framedata_delete(cpl_framedata* self); | |||
/* | /* | |||
* Non modifying operations | * Non modifying operations | |||
*/ | */ | |||
const char* cpl_framedata_get_tag(const cpl_framedata* self); | const char* cpl_framedata_get_tag(const cpl_framedata* self); | |||
int cpl_framedata_get_min_count(const cpl_framedata* self); | int cpl_framedata_get_min_count(const cpl_framedata* self); | |||
End of changes. 5 change blocks. | ||||
9 lines changed or deleted | 10 lines changed or added | |||
cpl_frameset.h | cpl_frameset.h | |||
---|---|---|---|---|
/* $Id: cpl_frameset.h,v 1.17 2009/02/11 12:10:40 scastro Exp $ | /* $Id: cpl_frameset.h,v 1.19 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: llundin $ | |||
* $Date: 2009/02/11 12:10:40 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.17 $ | * $Revision: 1.19 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_FRAMESET_H | #ifndef CPL_FRAMESET_H | |||
#define CPL_FRAMESET_H | #define CPL_FRAMESET_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_frame.h> | #include <cpl_frame.h> | |||
skipping to change at line 53 | skipping to change at line 53 | |||
* | * | |||
* This data type is opaque. | * This data type is opaque. | |||
*/ | */ | |||
typedef struct _cpl_frameset_ cpl_frameset; | typedef struct _cpl_frameset_ cpl_frameset; | |||
/* | /* | |||
* Create, copy and destroy operations | * Create, copy and destroy operations | |||
*/ | */ | |||
cpl_frameset *cpl_frameset_new(void); | cpl_frameset *cpl_frameset_new(void) CPL_ATTR_ALLOC; | |||
cpl_frameset *cpl_frameset_duplicate(const cpl_frameset *other); | cpl_frameset *cpl_frameset_duplicate(const cpl_frameset *other) CPL_ATTR_AL | |||
LOC; | ||||
void cpl_frameset_delete(cpl_frameset *self); | void cpl_frameset_delete(cpl_frameset *self); | |||
/* | /* | |||
* Non modifying operations | * Non modifying operations | |||
*/ | */ | |||
int cpl_frameset_get_size(const cpl_frameset *self); | int cpl_frameset_get_size(const cpl_frameset *self); | |||
int cpl_frameset_is_empty(const cpl_frameset *self); | int cpl_frameset_is_empty(const cpl_frameset *self); | |||
int cpl_frameset_count_tags(const cpl_frameset *self, const char *tag); | int cpl_frameset_count_tags(const cpl_frameset *self, const char *tag); | |||
/* | /* | |||
* Search operations | * Search operations | |||
*/ | */ | |||
const cpl_frame *cpl_frameset_find_const(const cpl_frameset *self, const ch | const cpl_frame *cpl_frameset_find_const(const cpl_frameset *self, | |||
ar *tag); | const char *tag); | |||
cpl_frame *cpl_frameset_find(cpl_frameset *self, const char *tag); | cpl_frame *cpl_frameset_find(cpl_frameset *self, const char *tag); | |||
/* | /* | |||
* Sequential access | * Sequential access | |||
*/ | */ | |||
const cpl_frame *cpl_frameset_get_first_const(const cpl_frameset *self); | const cpl_frame *cpl_frameset_get_first_const(const cpl_frameset *self); | |||
cpl_frame *cpl_frameset_get_first(cpl_frameset *self); | cpl_frame *cpl_frameset_get_first(cpl_frameset *self); | |||
const cpl_frame *cpl_frameset_get_next_const(const cpl_frameset *self); | const cpl_frame *cpl_frameset_get_next_const(const cpl_frameset *self); | |||
skipping to change at line 105 | skipping to change at line 106 | |||
cpl_frame *cpl_frameset_get_frame(cpl_frameset *self, int position); | cpl_frame *cpl_frameset_get_frame(cpl_frameset *self, int position); | |||
/* | /* | |||
* Miscellaneous functions | * Miscellaneous functions | |||
*/ | */ | |||
int *cpl_frameset_labelise(const cpl_frameset *self, | int *cpl_frameset_labelise(const cpl_frameset *self, | |||
int (*compare)(const cpl_frame *, const cpl_fram e *), | int (*compare)(const cpl_frame *, const cpl_fram e *), | |||
int *nb_labels); | int *nb_labels); | |||
cpl_frameset *cpl_frameset_extract(const cpl_frameset *self, const int *lab els, | cpl_frameset *cpl_frameset_extract(const cpl_frameset *self, const int *lab els, | |||
int desired_label); | int desired_label) CPL_ATTR_ALLOC; | |||
void cpl_frameset_dump(const cpl_frameset *self, FILE *stream); | void cpl_frameset_dump(const cpl_frameset *self, FILE *stream); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_FRAMESET_H */ | #endif /* CPL_FRAMESET_H */ | |||
End of changes. 6 change blocks. | ||||
11 lines changed or deleted | 12 lines changed or added | |||
cpl_frameset_io.h | cpl_frameset_io.h | |||
---|---|---|---|---|
/* $Id: cpl_frameset_io.h,v 1.3 2008/07/21 08:48:25 llundin Exp $ | /* $Id: cpl_frameset_io.h,v 1.5 2010/11/11 10:31:52 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:25 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.3 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_FRAMESET_IO_H | #ifndef CPL_FRAMESET_IO_H | |||
#define CPL_FRAMESET_IO_H | #define CPL_FRAMESET_IO_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_frameset.h> | #include <cpl_frameset.h> | |||
#include <cpl_imagelist.h> | #include <cpl_imagelist.h> | |||
#include <cpl_type.h> | #include <cpl_type.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/* Convert a frame set to an image list */ | /* Convert a frame set to an image list */ | |||
cpl_imagelist * cpl_imagelist_load_frameset(const cpl_frameset *, cpl_type, | cpl_imagelist * cpl_imagelist_load_frameset(const cpl_frameset *, cpl_type, | |||
int, int) ; | int, int) CPL_ATTR_ALLOC; | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
cpl_geom_img.h | cpl_geom_img.h | |||
---|---|---|---|---|
/* $Id: cpl_geom_img.h,v 1.3 2009/01/20 10:14:28 llundin Exp $ | /* $Id: cpl_geom_img.h,v 1.5 2010/11/11 10:47:01 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/01/20 10:14:28 $ | * $Date: 2010/11/11 10:47:01 $ | |||
* $Revision: 1.3 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_GEOM_IMG_H | #ifndef CPL_GEOM_IMG_H | |||
#define CPL_GEOM_IMG_H | #define CPL_GEOM_IMG_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <cpl_image.h> | #include <cpl_image.h> | |||
skipping to change at line 69 | skipping to change at line 69 | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* Offsets detection and frames recombination */ | /* Offsets detection and frames recombination */ | |||
cpl_bivector * cpl_geom_img_offset_fine(const cpl_imagelist *, | cpl_bivector * cpl_geom_img_offset_fine(const cpl_imagelist *, | |||
const cpl_bivector *, | const cpl_bivector *, | |||
const cpl_bivector *, | const cpl_bivector *, | |||
int, int, int, int, | int, int, int, int, | |||
cpl_vector *); | cpl_vector *) CPL_ATTR_ALLOC; | |||
cpl_image ** cpl_geom_img_offset_saa(const cpl_imagelist *, | cpl_image ** cpl_geom_img_offset_saa(const cpl_imagelist *, | |||
const cpl_bivector *, | const cpl_bivector *, | |||
cpl_kernel, int, int, cpl_geom_combine , | cpl_kernel, int, int, cpl_geom_combine , | |||
double *, double *); | double *, double *) CPL_ATTR_ALLOC; | |||
cpl_image ** cpl_geom_img_offset_combine(cpl_imagelist *, const cpl_bivecto r *, | cpl_image ** cpl_geom_img_offset_combine(cpl_imagelist *, const cpl_bivecto r *, | |||
int, const cpl_bivector *, | int, const cpl_bivector *, | |||
const cpl_vector *, int *, int, in | const cpl_vector *, int *, | |||
t, | int, int, int, int, int, int, | |||
int, int, int, int, cpl_geom_combi | cpl_geom_combine) CPL_ATTR_ALLOC; | |||
ne); | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
11 lines changed or deleted | 10 lines changed or added | |||
cpl_image.h | cpl_image.h | |||
---|---|---|---|---|
/* $Id: cpl_image.h,v 1.49 2008/07/21 08:48:38 llundin Exp $ | /* $Id: cpl_image.h,v 1.51 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:38 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.49 $ | * $Revision: 1.51 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_H | #ifndef CPL_IMAGE_H | |||
#define CPL_IMAGE_H | #define CPL_IMAGE_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image_io.h" | #include "cpl_image_io.h" | |||
#include "cpl_image_basic.h" | #include "cpl_image_basic.h" | |||
#include "cpl_image_iqe.h" | #include "cpl_image_iqe.h" | |||
#include "cpl_image_bpm.h" | #include "cpl_image_bpm.h" | |||
#include "cpl_image_resample.h" | #include "cpl_image_resample.h" | |||
#include "cpl_image_stats.h" | #include "cpl_image_stats.h" | |||
#include "cpl_image_filter.h" | #include "cpl_image_filter.h" | |||
#include "cpl_image_gen.h" | #include "cpl_image_gen.h" | |||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
* @defgroup cpl_image Images | ||||
* | ||||
* This module provides functions to create, use, and destroy a @em cpl_ima | ||||
ge. | ||||
* A @em cpl_image is a 2-dimensional data structure with a pixel type | ||||
* (one of @c CPL_TYPE_INT, @c CPL_TYPE_FLOAT, @c CPL_TYPE_DOUBLE, | ||||
* @c CPL_TYPE_FLOAT_COMPLEX or @c CPL_TYPE_DOUBLE_COMPLEX) and an | ||||
* optional bad pixel map. | ||||
* | ||||
* The pixel indexing follows the FITS convention in the sense that the | ||||
* lower left pixel in a CPL image has index (1, 1). The pixel buffer is | ||||
* stored row-wise so for optimum performance any pixel-wise access should | ||||
* be done likewise. | ||||
* | ||||
* Functionality include: | ||||
* FITS I/O | ||||
* Image arithmetic, casting, extraction, thresholding, filtering, resampli | ||||
ng | ||||
* Bad pixel handling | ||||
* Image statistics | ||||
* Generation of test images | ||||
* Special functions, such as the image quality estimator | ||||
* | ||||
* @par Synopsis: | ||||
* @code | ||||
* #include "cpl_image.h" | ||||
* @endcode | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
5 lines changed or deleted | 39 lines changed or added | |||
cpl_image_basic.h | cpl_image_basic.h | |||
---|---|---|---|---|
/* $Id: cpl_image_basic.h,v 1.45 2009/09/11 14:49:25 cizzo Exp $ | /* $Id: cpl_image_basic.h,v 1.47 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: cizzo $ | * $Author: llundin $ | |||
* $Date: 2009/09/11 14:49:25 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.45 $ | * $Revision: 1.47 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_BASIC_H | #ifndef CPL_IMAGE_BASIC_H | |||
#define CPL_IMAGE_BASIC_H | #define CPL_IMAGE_BASIC_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
skipping to change at line 69 | skipping to change at line 69 | |||
CPL_NORM_ABSFLUX | CPL_NORM_ABSFLUX | |||
}; | }; | |||
typedef enum _cpl_norm_ cpl_norm; | typedef enum _cpl_norm_ cpl_norm; | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* Basic operations */ | /* Basic operations */ | |||
cpl_image * cpl_image_add_create(const cpl_image *, const cpl_image *) ; | cpl_image * cpl_image_add_create(const cpl_image *, const cpl_image *); | |||
cpl_image * cpl_image_subtract_create(const cpl_image *, const cpl_image *) | cpl_image * cpl_image_subtract_create(const cpl_image *, const cpl_image *) | |||
; | ; | |||
cpl_image * cpl_image_multiply_create(const cpl_image *, const cpl_image *) | cpl_image * cpl_image_multiply_create(const cpl_image *, const cpl_image *) | |||
; | ; | |||
cpl_image * cpl_image_divide_create(const cpl_image *, const cpl_image *) ; | cpl_image * cpl_image_divide_create(const cpl_image *, const cpl_image *); | |||
cpl_error_code cpl_image_add(cpl_image *, const cpl_image *) ; | cpl_error_code cpl_image_add(cpl_image *, const cpl_image *); | |||
cpl_error_code cpl_image_subtract(cpl_image *, const cpl_image *) ; | cpl_error_code cpl_image_subtract(cpl_image *, const cpl_image *); | |||
cpl_error_code cpl_image_multiply(cpl_image *, const cpl_image *) ; | cpl_error_code cpl_image_multiply(cpl_image *, const cpl_image *); | |||
cpl_error_code cpl_image_divide(cpl_image *, const cpl_image *) ; | cpl_error_code cpl_image_divide(cpl_image *, const cpl_image *); | |||
cpl_error_code cpl_image_add_scalar(cpl_image *, double) ; | cpl_error_code cpl_image_add_scalar(cpl_image *, double); | |||
cpl_error_code cpl_image_subtract_scalar(cpl_image *, double) ; | cpl_error_code cpl_image_subtract_scalar(cpl_image *, double); | |||
cpl_error_code cpl_image_multiply_scalar(cpl_image *, double) ; | cpl_error_code cpl_image_multiply_scalar(cpl_image *, double); | |||
cpl_error_code cpl_image_divide_scalar(cpl_image *, double) ; | cpl_error_code cpl_image_divide_scalar(cpl_image *, double); | |||
cpl_error_code cpl_image_power(cpl_image *, double) ; | cpl_error_code cpl_image_power(cpl_image *, double); | |||
cpl_error_code cpl_image_exponential(cpl_image *, double) ; | cpl_error_code cpl_image_exponential(cpl_image *, double); | |||
cpl_error_code cpl_image_logarithm(cpl_image *, double) ; | cpl_error_code cpl_image_logarithm(cpl_image *, double); | |||
cpl_error_code cpl_image_normalise(cpl_image *, cpl_norm) ; | cpl_error_code cpl_image_normalise(cpl_image *, cpl_norm); | |||
cpl_error_code cpl_image_abs(cpl_image *) ; | cpl_error_code cpl_image_abs(cpl_image *); | |||
cpl_image * cpl_image_add_scalar_create(const cpl_image *, double) ; | cpl_image * cpl_image_add_scalar_create(const cpl_image *, double); | |||
cpl_image * cpl_image_subtract_scalar_create(const cpl_image *, double) ; | cpl_image * cpl_image_subtract_scalar_create(const cpl_image *, double); | |||
cpl_image * cpl_image_multiply_scalar_create(const cpl_image *, double) ; | cpl_image * cpl_image_multiply_scalar_create(const cpl_image *, double); | |||
cpl_image * cpl_image_divide_scalar_create(const cpl_image *, double) ; | cpl_image * cpl_image_divide_scalar_create(const cpl_image *, double); | |||
cpl_image * cpl_image_power_create(const cpl_image *, double) ; | cpl_image * cpl_image_power_create(const cpl_image *, double); | |||
cpl_image * cpl_image_exponential_create(const cpl_image *, double) ; | cpl_image * cpl_image_exponential_create(const cpl_image *, double); | |||
cpl_image * cpl_image_logarithm_create(const cpl_image *, double) ; | cpl_image * cpl_image_logarithm_create(const cpl_image *, double); | |||
cpl_image * cpl_image_normalise_create(const cpl_image *, cpl_norm) ; | cpl_image * cpl_image_normalise_create(const cpl_image *, cpl_norm); | |||
cpl_image * cpl_image_abs_create(const cpl_image *) ; | cpl_image * cpl_image_abs_create(const cpl_image *); | |||
cpl_error_code cpl_image_threshold(cpl_image *, double, double, double, dou ble); | cpl_error_code cpl_image_threshold(cpl_image *, double, double, double, dou ble); | |||
cpl_image * cpl_image_average_create(const cpl_image *, const cpl_image *); | cpl_image * cpl_image_average_create(const cpl_image *, const cpl_image *); | |||
/* Collapse functions */ | /* Collapse functions */ | |||
cpl_image * cpl_image_collapse_window_create(const cpl_image *, int, int, i | cpl_image * cpl_image_collapse_window_create(const cpl_image *, int, int, i | |||
nt, int, int); | nt, | |||
cpl_image * cpl_image_collapse_create(const cpl_image *, int) ; | int, int); | |||
cpl_image * cpl_image_collapse_median_create(const cpl_image *, int, int, i | cpl_image * cpl_image_collapse_create(const cpl_image *, int); | |||
nt) ; | cpl_image * cpl_image_collapse_median_create(const cpl_image *, int, int, i | |||
nt); | ||||
/* Extraction function */ | /* Extraction function */ | |||
cpl_image * cpl_image_extract(const cpl_image *, int, int, int, int) ; | cpl_image * cpl_image_extract(const cpl_image *, int, int, int, int); | |||
cpl_vector * cpl_vector_new_from_image_row(const cpl_image *, int) ; | cpl_vector * cpl_vector_new_from_image_row(const cpl_image *, int); | |||
cpl_vector * cpl_vector_new_from_image_column(const cpl_image *, int) ; | cpl_vector * cpl_vector_new_from_image_column(const cpl_image *, int); | |||
/* Rotation and Shift */ | /* Rotation and Shift */ | |||
cpl_error_code cpl_image_turn(cpl_image *, int) ; | cpl_error_code cpl_image_turn(cpl_image *, int); | |||
cpl_error_code cpl_image_shift(cpl_image *, int, int) ; | cpl_error_code cpl_image_shift(cpl_image *, int, int); | |||
/* Insert an image in an other one */ | /* Insert an image in an other one */ | |||
cpl_error_code cpl_image_copy(cpl_image *, const cpl_image *, int, int); | cpl_error_code cpl_image_copy(cpl_image *, const cpl_image *, int, int); | |||
/* Symmetry function */ | /* Symmetry function */ | |||
cpl_error_code cpl_image_flip(cpl_image *, int) ; | cpl_error_code cpl_image_flip(cpl_image *, int); | |||
/* Pixels re-organization */ | /* Pixels re-organization */ | |||
cpl_error_code cpl_image_move(cpl_image *, int, const int *) ; | cpl_error_code cpl_image_move(cpl_image *, int, const int *); | |||
/* Gaussian fit of an image zone */ | /* Gaussian fit of an image zone */ | |||
cpl_error_code cpl_image_fit_gaussian(const cpl_image *, int, int, int, | cpl_error_code | |||
double *, double *, double *, double *, double *, double *, double | cpl_image_fit_gaussian(const cpl_image *, int, int, int, | |||
*) | double *, double *, double *, double *, | |||
double *, double *, double *) CPL_ATTR_DEPRECATED; | ||||
#ifdef __GNUC__ | ||||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
/* FWHM computation on a local maximum */ | /* FWHM computation on a local maximum */ | |||
cpl_error_code cpl_image_get_fwhm(const cpl_image *, int, int, double *, | cpl_error_code cpl_image_get_fwhm(const cpl_image *, int, int, double *, | |||
double *) ; | double *); | |||
/* FFT computation */ | /* FFT computation */ | |||
cpl_error_code cpl_image_fft(cpl_image *, cpl_image *, unsigned) ; | cpl_error_code cpl_image_fft(cpl_image *, cpl_image *, unsigned); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 14 change blocks. | ||||
56 lines changed or deleted | 53 lines changed or added | |||
cpl_image_bpm.h | cpl_image_bpm.h | |||
---|---|---|---|---|
/* $Id: cpl_image_bpm.h,v 1.17 2010/04/08 11:59:09 llundin Exp $ | /* $Id: cpl_image_bpm.h,v 1.18 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/04/08 11:59:09 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.17 $ | * $Revision: 1.18 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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" | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_image_filter.h | cpl_image_filter.h | |||
---|---|---|---|---|
/* $Id: cpl_image_filter.h,v 1.23 2008/12/16 10:21:56 llundin Exp $ | /* $Id: cpl_image_filter.h,v 1.25 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/12/16 10:21:56 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.23 $ | * $Revision: 1.25 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_FILTER_H | #ifndef CPL_IMAGE_FILTER_H | |||
#define CPL_IMAGE_FILTER_H | #define CPL_IMAGE_FILTER_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
skipping to change at line 54 | skipping to change at line 54 | |||
cpl_error_code cpl_image_filter_mask(cpl_image *, const cpl_image *, | cpl_error_code cpl_image_filter_mask(cpl_image *, const cpl_image *, | |||
const cpl_mask *, | const cpl_mask *, | |||
cpl_filter_mode, cpl_border_mode); | cpl_filter_mode, cpl_border_mode); | |||
cpl_error_code cpl_image_filter(cpl_image *, const cpl_image *, | cpl_error_code cpl_image_filter(cpl_image *, const cpl_image *, | |||
const cpl_matrix *, | const cpl_matrix *, | |||
cpl_filter_mode, cpl_border_mode); | cpl_filter_mode, cpl_border_mode); | |||
cpl_image * cpl_image_filter_linear(const cpl_image *, const cpl_matrix *) | cpl_image * cpl_image_filter_linear(const cpl_image *, const cpl_matrix *) | |||
#ifdef __GNUC__ | CPL_ATTR_DEPRECATED; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
cpl_image * cpl_image_filter_morpho(const cpl_image *, const cpl_matrix *) | cpl_image * cpl_image_filter_morpho(const cpl_image *, const cpl_matrix *) | |||
#ifdef __GNUC__ | CPL_ATTR_DEPRECATED; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
cpl_image * cpl_image_filter_median(const cpl_image *, const cpl_matrix *) | cpl_image * cpl_image_filter_median(const cpl_image *, const cpl_matrix *) | |||
#ifdef __GNUC__ | CPL_ATTR_DEPRECATED; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
cpl_image * cpl_image_filter_stdev(const cpl_image *, const cpl_matrix *) | cpl_image * cpl_image_filter_stdev(const cpl_image *, const cpl_matrix *) | |||
#ifdef __GNUC__ | CPL_ATTR_DEPRECATED; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
21 lines changed or deleted | 9 lines changed or added | |||
cpl_image_gen.h | cpl_image_gen.h | |||
---|---|---|---|---|
/* $Id: cpl_image_gen.h,v 1.17 2008/07/21 08:48:26 llundin Exp $ | /* $Id: cpl_image_gen.h,v 1.19 2010/11/11 15:28:46 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:26 $ | * $Date: 2010/11/11 15:28:46 $ | |||
* $Revision: 1.17 $ | * $Revision: 1.19 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_GEN_H | #ifndef CPL_IMAGE_GEN_H | |||
#define CPL_IMAGE_GEN_H | #define CPL_IMAGE_GEN_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
#include "cpl_polynomial.h" | #include "cpl_polynomial.h" | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
cpl_error_code cpl_image_fill_noise_uniform(cpl_image *, double, double) ; | cpl_error_code cpl_image_fill_noise_uniform(cpl_image *, double, double); | |||
cpl_error_code cpl_image_fill_gaussian(cpl_image *, double, double, double, | cpl_error_code cpl_image_fill_gaussian(cpl_image *, double, double, double, | |||
double, double) ; | double, double); | |||
cpl_error_code cpl_image_fill_polynomial(cpl_image *, | cpl_error_code cpl_image_fill_polynomial(cpl_image *, | |||
const cpl_polynomial *, double, double, double, double) ; | const cpl_polynomial *, double, double, double, double); | |||
cpl_image * cpl_image_fill_test_create(int, int) ; | cpl_image * cpl_image_fill_test_create(int, int) CPL_ATTR_ALLOC; | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
9 lines changed or deleted | 9 lines changed or added | |||
cpl_image_io.h | cpl_image_io.h | |||
---|---|---|---|---|
/* $Id: cpl_image_io.h,v 1.68 2010/04/08 12:00:28 llundin Exp $ | /* $Id: cpl_image_io.h,v 1.72 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/04/08 12:00:28 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.68 $ | * $Revision: 1.72 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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; | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | ||||
#include "cpl_io.h" | #include "cpl_io.h" | |||
#include "cpl_propertylist.h" | #include "cpl_propertylist.h" | |||
#include "cpl_mask.h" | #include "cpl_mask.h" | |||
#include <stdio.h> | ||||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* Image constructors */ | /* Image constructors */ | |||
cpl_image * cpl_image_new(int, int, cpl_type); | cpl_image * cpl_image_new(int, int, cpl_type) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_wrap_double(int, int, double *); | cpl_image * cpl_image_wrap(int, int, cpl_type, void *) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_wrap_float(int, int, float *); | cpl_image * cpl_image_wrap_double(int, int, double *) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_wrap_int(int, int, int *); | cpl_image * cpl_image_wrap_float(int, int, float *) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_wrap_int(int, int, int *) CPL_ATTR_ALLOC; | ||||
#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, | |||
cpl_image * cpl_image_wrap_float_complex(int, int, float complex *); | double complex *) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_wrap_float_complex(int, int, | ||||
float complex *) CPL_ATTR_ALLOC; | ||||
#endif | #endif | |||
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 | cpl_image * cpl_image_load(const char *, cpl_type, int, int) CPL_ATTR_ALLOC | |||
t, | ; | |||
int, int); | cpl_image * cpl_image_load_window(const char *, cpl_type, int, int, | |||
cpl_image * cpl_image_new_from_mask(const cpl_mask *); | int, int, int, int) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_labelise_mask_create(const cpl_mask *, int *); | cpl_image * cpl_image_new_from_mask(const cpl_mask *) CPL_ATTR_ALLOC; | |||
cpl_image * cpl_image_labelise_mask_create(const cpl_mask *, | ||||
int *) CPL_ATTR_ALLOC; | ||||
/* 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) ; | |||
skipping to change at line 111 | skipping to change at line 117 | |||
/* 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_ATTR_ALLOC; | |||
cpl_image * cpl_image_cast(const cpl_image *, cpl_type); | cpl_image * cpl_image_cast(const cpl_image *, cpl_type) CPL_ATTR_ALLOC; | |||
/* 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. 9 change blocks. | ||||
21 lines changed or deleted | 27 lines changed or added | |||
cpl_image_iqe.h | cpl_image_iqe.h | |||
---|---|---|---|---|
/* $Id: cpl_image_iqe.h,v 1.4 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_image_iqe.h,v 1.5 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_IQE_H | #ifndef CPL_IMAGE_IQE_H | |||
#define CPL_IMAGE_IQE_H | #define CPL_IMAGE_IQE_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_image_resample.h | cpl_image_resample.h | |||
---|---|---|---|---|
/* $Id: cpl_image_resample.h,v 1.16 2008/12/19 13:48:36 cizzo Exp $ | /* $Id: cpl_image_resample.h,v 1.18 2010/11/11 15:28:46 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: cizzo $ | * $Author: llundin $ | |||
* $Date: 2008/12/19 13:48:36 $ | * $Date: 2010/11/11 15:28:46 $ | |||
* $Revision: 1.16 $ | * $Revision: 1.18 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_RESAMPLE_H | #ifndef CPL_IMAGE_RESAMPLE_H | |||
#define CPL_IMAGE_RESAMPLE_H | #define CPL_IMAGE_RESAMPLE_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | #include <stdio.h> | |||
skipping to change at line 70 | skipping to change at line 70 | |||
const cpl_vector *, double); | const cpl_vector *, double); | |||
cpl_error_code cpl_image_fill_jacobian_polynomial(cpl_image *, | cpl_error_code cpl_image_fill_jacobian_polynomial(cpl_image *, | |||
const cpl_polynomial *pol y_x, | const cpl_polynomial *pol y_x, | |||
const cpl_polynomial *pol y_y); | const cpl_polynomial *pol y_y); | |||
cpl_error_code cpl_image_fill_jacobian(cpl_image *, | cpl_error_code cpl_image_fill_jacobian(cpl_image *, | |||
const cpl_image *deltax, | const cpl_image *deltax, | |||
const cpl_image *deltay); | const cpl_image *deltay); | |||
cpl_image *cpl_image_extract_subsample(const cpl_image*, int, int); | cpl_image *cpl_image_extract_subsample(const cpl_image *, | |||
int, int) CPL_ATTR_ALLOC; | ||||
cpl_image *cpl_image_rebin(const cpl_image *, int, int, int, int); | cpl_image *cpl_image_rebin(const cpl_image *, int, int, | |||
int, int) CPL_ATTR_ALLOC; | ||||
double cpl_image_get_interpolated(const cpl_image *, double, double, | double cpl_image_get_interpolated(const cpl_image *, double, double, | |||
const cpl_vector *, double, | const cpl_vector *, double, | |||
const cpl_vector *, double, double *); | const cpl_vector *, double, double *); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
8 lines changed or deleted | 10 lines changed or added | |||
cpl_image_stats.h | cpl_image_stats.h | |||
---|---|---|---|---|
/* $Id: cpl_image_stats.h,v 1.26 2008/10/17 14:24:01 llundin Exp $ | /* $Id: cpl_image_stats.h,v 1.27 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/10/17 14:24:01 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.26 $ | * $Revision: 1.27 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGE_STATS_H | #ifndef CPL_IMAGE_STATS_H | |||
#define CPL_IMAGE_STATS_H | #define CPL_IMAGE_STATS_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_imagelist.h | cpl_imagelist.h | |||
---|---|---|---|---|
/* $Id: cpl_imagelist.h,v 1.5 2009/12/14 15:35:53 llundin Exp $ | /* $Id: cpl_imagelist.h,v 1.6 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/14 15:35:53 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.5 $ | * $Revision: 1.6 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGELIST_H | #ifndef CPL_IMAGELIST_H | |||
#define CPL_IMAGELIST_H | #define CPL_IMAGELIST_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
New types | New types | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
typedef struct _cpl_imagelist_ cpl_imagelist ; | typedef struct _cpl_imagelist_ cpl_imagelist ; | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_imagelist_basic.h | cpl_imagelist_basic.h | |||
---|---|---|---|---|
/* $Id: cpl_imagelist_basic.h,v 1.20 2009/04/29 09:46:38 lbilbao Exp $ | /* $Id: cpl_imagelist_basic.h,v 1.22 2010/11/11 15:28:46 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: lbilbao $ | * $Author: llundin $ | |||
* $Date: 2009/04/29 09:46:38 $ | * $Date: 2010/11/11 15:28:46 $ | |||
* $Revision: 1.20 $ | * $Revision: 1.22 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGELIST_BASIC_H | #ifndef CPL_IMAGELIST_BASIC_H | |||
#define CPL_IMAGELIST_BASIC_H | #define CPL_IMAGELIST_BASIC_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
skipping to change at line 59 | skipping to change at line 59 | |||
typedef enum _cpl_swap_axis_ cpl_swap_axis; | typedef enum _cpl_swap_axis_ cpl_swap_axis; | |||
#define CPL_COLLAPSE_MEAN ((unsigned)1 << 1) | #define CPL_COLLAPSE_MEAN ((unsigned)1 << 1) | |||
#define CPL_COLLAPSE_MEDIAN ((unsigned)1 << 2) | #define CPL_COLLAPSE_MEDIAN ((unsigned)1 << 2) | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* Imagelist modifying functions */ | /* Imagelist modifying functions */ | |||
cpl_error_code cpl_imagelist_add(cpl_imagelist *, const cpl_imagelist *) ; | cpl_error_code cpl_imagelist_add(cpl_imagelist *, const cpl_imagelist *); | |||
cpl_error_code cpl_imagelist_subtract(cpl_imagelist *, const cpl_imagelist | cpl_error_code cpl_imagelist_subtract(cpl_imagelist *, const cpl_imagelist | |||
*) ; | *); | |||
cpl_error_code cpl_imagelist_multiply(cpl_imagelist *, const cpl_imagelist | cpl_error_code cpl_imagelist_multiply(cpl_imagelist *, const cpl_imagelist | |||
*) ; | *); | |||
cpl_error_code cpl_imagelist_divide(cpl_imagelist *, const cpl_imagelist *) | cpl_error_code cpl_imagelist_divide(cpl_imagelist *, const cpl_imagelist *) | |||
; | ; | |||
cpl_error_code cpl_imagelist_add_image(cpl_imagelist *, const cpl_image *) ; | cpl_error_code cpl_imagelist_add_image(cpl_imagelist *, const cpl_image *); | |||
cpl_error_code cpl_imagelist_subtract_image(cpl_imagelist *, const cpl_imag e *); | cpl_error_code cpl_imagelist_subtract_image(cpl_imagelist *, const cpl_imag e *); | |||
cpl_error_code cpl_imagelist_multiply_image(cpl_imagelist *, const cpl_imag e *); | cpl_error_code cpl_imagelist_multiply_image(cpl_imagelist *, const cpl_imag e *); | |||
cpl_error_code cpl_imagelist_divide_image(cpl_imagelist *, const cpl_image *) ; | cpl_error_code cpl_imagelist_divide_image(cpl_imagelist *, const cpl_image *); | |||
cpl_error_code cpl_imagelist_add_scalar(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_add_scalar(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_subtract_scalar(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_subtract_scalar(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_multiply_scalar(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_multiply_scalar(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_divide_scalar(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_divide_scalar(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_exponential(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_exponential(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_power(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_power(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_logarithm(cpl_imagelist *, double) ; | cpl_error_code cpl_imagelist_logarithm(cpl_imagelist *, double); | |||
cpl_error_code cpl_imagelist_normalise(cpl_imagelist *, cpl_norm) ; | cpl_error_code cpl_imagelist_normalise(cpl_imagelist *, cpl_norm); | |||
cpl_error_code cpl_imagelist_threshold(cpl_imagelist *, double, double, dou | cpl_error_code cpl_imagelist_threshold(cpl_imagelist *, double, double, | |||
ble, | double, double); | |||
double) ; | ||||
cpl_imagelist * cpl_imagelist_swap_axis_create(const cpl_imagelist *, | cpl_imagelist * cpl_imagelist_swap_axis_create(const cpl_imagelist *, | |||
cpl_swap_axis) ; | cpl_swap_axis) CPL_ATTR_ALLO C; | |||
/* Imagelist to image functions */ | /* Imagelist to image functions */ | |||
cpl_image * cpl_image_new_from_accepted(const cpl_imagelist *) ; | cpl_image * cpl_image_new_from_accepted(const cpl_imagelist *) CPL_ATTR_ALL | |||
cpl_image * cpl_imagelist_collapse_create(const cpl_imagelist *) ; | OC; | |||
cpl_image * cpl_imagelist_collapse_median_create(const cpl_imagelist *) ; | cpl_image * cpl_imagelist_collapse_create(const cpl_imagelist *) CPL_ATTR_A | |||
cpl_image * cpl_imagelist_collapse_minmax_create(const cpl_imagelist *,int, | LLOC; | |||
int); | cpl_image * cpl_imagelist_collapse_median_create(const cpl_imagelist *) | |||
cpl_image * cpl_imagelist_collapse_sigclip_create(const cpl_imagelist *, | CPL_ATTR_ALLOC; | |||
double, double, double, unsigned, cpl_image *); | cpl_image * cpl_imagelist_collapse_minmax_create(const cpl_imagelist *, | |||
int, int) CPL_ATTR_ALLOC; | ||||
cpl_image * cpl_imagelist_collapse_sigclip_create(const cpl_imagelist *, do | ||||
uble, | ||||
double, double, unsigned, | ||||
cpl_image *) CPL_ATTR_ALL | ||||
OC; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 10 change blocks. | ||||
34 lines changed or deleted | 39 lines changed or added | |||
cpl_imagelist_io.h | cpl_imagelist_io.h | |||
---|---|---|---|---|
/* $Id: cpl_imagelist_io.h,v 1.22 2009/12/14 15:35:53 llundin Exp $ | /* $Id: cpl_imagelist_io.h,v 1.24 2010/11/11 15:28:46 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/14 15:35:53 $ | * $Date: 2010/11/11 15:28:46 $ | |||
* $Revision: 1.22 $ | * $Revision: 1.24 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_IMAGELIST_IO_H | #ifndef CPL_IMAGELIST_IO_H | |||
#define CPL_IMAGELIST_IO_H | #define CPL_IMAGELIST_IO_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include "cpl_image.h" | #include "cpl_image.h" | |||
#include "cpl_imagelist.h" | #include "cpl_imagelist.h" | |||
#include "cpl_vector.h" | #include "cpl_vector.h" | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* Imagelist constructors */ | /* Imagelist constructors */ | |||
cpl_imagelist * cpl_imagelist_new(void); | cpl_imagelist * cpl_imagelist_new(void) CPL_ATTR_ALLOC; | |||
cpl_imagelist * cpl_imagelist_load(const char *, cpl_type, int) ; | cpl_imagelist * cpl_imagelist_load(const char *, cpl_type, int) CPL_ATTR_AL | |||
LOC; | ||||
cpl_imagelist * cpl_imagelist_load_window(const char *, cpl_type, int, int, | cpl_imagelist * cpl_imagelist_load_window(const char *, cpl_type, int, int, | |||
int, int, int) ; | int, int, int) CPL_ATTR_ALLOC; | |||
/* Imagelist accessors */ | /* Imagelist accessors */ | |||
int cpl_imagelist_get_size(const cpl_imagelist *) ; | int cpl_imagelist_get_size(const cpl_imagelist *); | |||
cpl_image * cpl_imagelist_get(cpl_imagelist *, int) ; | cpl_image * cpl_imagelist_get(cpl_imagelist *, int); | |||
const cpl_image * cpl_imagelist_get_const(const cpl_imagelist *, int) ; | const cpl_image * cpl_imagelist_get_const(const cpl_imagelist *, int); | |||
cpl_error_code cpl_imagelist_set(cpl_imagelist *, cpl_image *, int) ; | cpl_error_code cpl_imagelist_set(cpl_imagelist *, cpl_image *, int); | |||
cpl_image * cpl_imagelist_unset(cpl_imagelist *, int) ; | cpl_image * cpl_imagelist_unset(cpl_imagelist *, int); | |||
/* Imagelist destructor */ | /* Imagelist destructor */ | |||
void cpl_imagelist_delete(cpl_imagelist *) ; | void cpl_imagelist_delete(cpl_imagelist *); | |||
/* Others */ | /* Others */ | |||
cpl_imagelist * cpl_imagelist_duplicate(const cpl_imagelist *) ; | cpl_imagelist * cpl_imagelist_duplicate(const cpl_imagelist *) CPL_ATTR_ALL | |||
cpl_error_code cpl_imagelist_erase(cpl_imagelist *, const cpl_vector *) ; | OC; | |||
int cpl_imagelist_is_uniform(const cpl_imagelist *) ; | cpl_error_code cpl_imagelist_erase(cpl_imagelist *, const cpl_vector *); | |||
int cpl_imagelist_is_uniform(const cpl_imagelist *); | ||||
cpl_error_code cpl_imagelist_dump_structure(const cpl_imagelist *, FILE *); | cpl_error_code cpl_imagelist_dump_structure(const cpl_imagelist *, FILE *); | |||
cpl_error_code cpl_imagelist_dump_window(const cpl_imagelist *, | cpl_error_code cpl_imagelist_dump_window(const cpl_imagelist *, | |||
int, int, int, int, FILE *); | int, int, int, int, FILE *); | |||
/* Saving function */ | /* Saving function */ | |||
cpl_error_code cpl_imagelist_save(const cpl_imagelist *, const char *, | cpl_error_code cpl_imagelist_save(const cpl_imagelist *, const char *, | |||
cpl_type_bpp, const cpl_propertylist *, | cpl_type_bpp, const cpl_propertylist *, | |||
unsigned); | unsigned); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
End of changes. 8 change blocks. | ||||
17 lines changed or deleted | 19 lines changed or added | |||
cpl_init.h | cpl_init.h | |||
---|---|---|---|---|
/* $Id: cpl_init.h,v 1.8 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_init.h,v 1.9 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.8 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_INIT_H | #ifndef CPL_INIT_H | |||
#define CPL_INIT_H | #define CPL_INIT_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
#define CPL_INIT_DEFAULT 0 | #define CPL_INIT_DEFAULT 0 | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_io.h | cpl_io.h | |||
---|---|---|---|---|
/* $Id: cpl_io.h,v 1.14 2010/02/23 12:43:03 llundin Exp $ | /* $Id: cpl_io.h,v 1.16 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/02/23 12:43:03 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.14 $ | * $Revision: 1.16 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
* @defgroup cpl_io I/O | ||||
* | ||||
* This module provides definitions related to I/O. The actual I/O function | ||||
s | ||||
* are defined in the respective CPL modules. | ||||
* | ||||
* @par Synopsis: | ||||
* @code | ||||
* #include "cpl_io.h" | ||||
* @endcode | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/**@{*/ | ||||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Defines | Defines | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | /** | |||
* Each FITS IO mode is listed below. | * | |||
* The modes can be combined with bitwise or. | * @brief These are the file I/O modes. | |||
* 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 */ | enum _cpl_io_type_ { | |||
#define CPL_IO_CREATE ((unsigned)1 << 1) | ||||
/* CPL_IO_EXTEND: Data is saved in an new extension appended to the file */ | /* | |||
#define CPL_IO_EXTEND ((unsigned)1 << 2) | * More modes may be added in the future. To support future combination | |||
of | ||||
* different modes (using bit-wise or) no mode has the value 1, since t | ||||
his | ||||
* makes the (mis)use of logical or detectable. | ||||
*/ | ||||
/* CPL_IO_APPEND: Data is appended to the last data unit */ | /** @hideinitializer */ | |||
#define CPL_IO_APPEND ((unsigned)1 << 3) | CPL_IO_CREATE = ((unsigned)1 << 1), | |||
/**< Overwrite the file, if it already exists. */ | ||||
/* The maximum value for the IO mode bitmask */ | /** @hideinitializer */ | |||
#define CPL_IO_MAX (CPL_IO_APPEND) | CPL_IO_EXTEND = ((unsigned)1 << 2), | |||
/**< Append a new extension to the file. */ | ||||
/* For backwards compatibility */ | /** @hideinitializer */ | |||
#define CPL_IO_DEFAULT ((unsigned)CPL_IO_CREATE) | CPL_IO_APPEND = ((unsigned)1 << 3), | |||
/**< Append to the last data unit of the file. */ | ||||
typedef enum { | /** @hideinitializer */ | |||
/* FITS pixel depths */ | CPL_IO_MAX = CPL_IO_APPEND, | |||
/**< Reserved for internal CPL usage. */ | ||||
/** | /** @hideinitializer */ | |||
* FITS BITPIX=8 | CPL_IO_DEFAULT = ((unsigned)CPL_IO_CREATE) | |||
* @hideinitializer | /**< Deprecated, kept only for backwards compatibility */ | |||
*/ | ||||
}; | ||||
/** | ||||
* @brief | ||||
* The file I/O modes. | ||||
*/ | ||||
typedef enum _cpl_io_type_ cpl_io_type; | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
* | ||||
* @brief These are the pixel types that can be used for saving. | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
enum _cpl_type_bpp_ { | ||||
/** @hideinitializer */ | ||||
CPL_BPP_8_UNSIGNED = 8, | CPL_BPP_8_UNSIGNED = 8, | |||
/**< 8-bit unsigned integer */ | ||||
/** | /** @hideinitializer */ | |||
* FITS BITPIX=16 | ||||
* @hideinitializer | ||||
*/ | ||||
CPL_BPP_16_SIGNED = 16, | CPL_BPP_16_SIGNED = 16, | |||
/**< 16-bit signed integer */ | ||||
/** | /** @hideinitializer */ | |||
* FITS BITPIX=16 | ||||
* FITS BZERO=32768 | ||||
* @hideinitializer | ||||
*/ | ||||
CPL_BPP_16_UNSIGNED = 20, | CPL_BPP_16_UNSIGNED = 20, | |||
/**< 16-bit unsigned integer */ | ||||
/** | /** @hideinitializer */ | |||
* FITS BITPIX=32 | ||||
* @hideinitializer | ||||
*/ | ||||
CPL_BPP_32_SIGNED = 32, | CPL_BPP_32_SIGNED = 32, | |||
/**< 32-bit signed integer */ | ||||
/** | /** @hideinitializer */ | |||
* FITS BITPIX=-32 | ||||
* @hideinitializer | ||||
*/ | ||||
CPL_BPP_IEEE_FLOAT = -32, | CPL_BPP_IEEE_FLOAT = -32, | |||
/**< 32-bit floating point */ | ||||
/** | /** @hideinitializer */ | |||
* FITS BITPIX=-64 | ||||
* @hideinitializer | ||||
*/ | ||||
CPL_BPP_IEEE_DOUBLE = -64 | CPL_BPP_IEEE_DOUBLE = -64 | |||
/**< 64-bit floating point */ | ||||
} cpl_type_bpp; | }; | |||
/** | ||||
* @brief | ||||
* The pixel types that can be used for saving. | ||||
*/ | ||||
typedef enum _cpl_type_bpp_ cpl_type_bpp; | ||||
/**@}*/ | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_IO_H */ | #endif /* CPL_IO_H */ | |||
End of changes. 26 change blocks. | ||||
47 lines changed or deleted | 95 lines changed or added | |||
cpl_macros.h | cpl_macros.h | |||
---|---|---|---|---|
/* $Id: cpl_macros.h,v 1.3 2005/02/01 15:28:50 rpalsa Exp $ | /* $Id: cpl_macros.h,v 1.9 2011/01/11 12:26:35 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: llundin $ | |||
* $Date: 2005/02/01 15:28:50 $ | * $Date: 2011/01/11 12:26:35 $ | |||
* $Revision: 1.3 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
/* | /* | |||
* This file must not include any other file than cxmacros.h | * This file must not include any other file than cxmacros.h | |||
*/ | */ | |||
#ifndef CPL_MACROS_H | #ifndef CPL_MACROS_H | |||
#define CPL_MACROS_H | #define CPL_MACROS_H | |||
#include <cxmacros.h> | #include <cxmacros.h> | |||
skipping to change at line 47 | skipping to change at line 47 | |||
/* | /* | |||
* C code guard | * C code guard | |||
*/ | */ | |||
#undef CPL_BEGIN_DECLS | #undef CPL_BEGIN_DECLS | |||
#undef CPL_END_DECLS | #undef CPL_END_DECLS | |||
#define CPL_BEGIN_DECLS CX_BEGIN_DECLS | #define CPL_BEGIN_DECLS CX_BEGIN_DECLS | |||
#define CPL_END_DECLS CX_END_DECLS | #define CPL_END_DECLS CX_END_DECLS | |||
/* Needed to concatenate two and three macro arguments */ | ||||
#define CPL_CONCAT(a,b) a ## _ ## b | ||||
#define CPL_CONCAT2X(a,b) CPL_CONCAT(a,b) | ||||
#define CPL_CONCAT3X(a,b,c) CPL_CONCAT2X(CPL_CONCAT2X(a,b),c) | ||||
/* | ||||
(Try to) determine support for the function __attribute__ | ||||
These attributes are used in CPL (from the given gcc version) | ||||
2.3 format (used only from gcc 3) | ||||
2.5 const (used only from gcc 3) | ||||
2.96 pure (used only from gcc 3) | ||||
3.0 malloc | ||||
3.1 deprecated | ||||
3.3 nonnull | ||||
3.4 warn_unused_result | ||||
4.3 alloc_size | ||||
*/ | ||||
#if defined __GNUC__ && __GNUC__ > 2 | ||||
/* gcc 3 or higher */ | ||||
# define CPL_ATTR_CONST __attribute__((const)) | ||||
# define CPL_ATTR_PRINTF(A,B) __attribute__((format (printf, A, B))) | ||||
# define CPL_ATTR_PURE __attribute__((pure)) | ||||
# if __GNUC__ > 3 || defined __GNUC_MINOR__ && __GNUC_MINOR__ > 0 | ||||
/* gcc 3.1 or higher */ | ||||
# define CPL_ATTR_DEPRECATED __attribute__((deprecated)) | ||||
# endif | ||||
# if __GNUC__ > 3 || defined __GNUC_MINOR__ && __GNUC_MINOR__ > 2 | ||||
/* gcc 3.3 or higher */ | ||||
# define CPL_ATTR_NONNULL __attribute__((nonnull)) | ||||
# define CPL_HAVE_ATTR_NONNULL | ||||
# endif | ||||
# if __GNUC__ > 3 || defined __GNUC_MINOR__ && __GNUC_MINOR__ > 3 | ||||
/* gcc 3.4 or higher */ | ||||
# define CPL_ATTR_ALLOC __attribute__((malloc, warn_unused_result)) | ||||
# if __GNUC__ > 4 || __GNUC__ == 4 && defined __GNUC_MINOR__ && __GNUC_M | ||||
INOR__ > 2 | ||||
/* gcc 4.3 or higher */ | ||||
# define CPL_ATTR_MALLOC \ | ||||
__attribute__((malloc, warn_unused_result, alloc_size(1))) | ||||
# define CPL_ATTR_CALLOC \ | ||||
__attribute__((malloc, warn_unused_result, alloc_size(1,2))) | ||||
# define CPL_ATTR_REALLOC \ | ||||
__attribute__((malloc, warn_unused_result, alloc_size(2))) | ||||
# else | ||||
/* gcc 3.4 to 4.2 */ | ||||
# define CPL_ATTR_MALLOC __attribute__((malloc, warn_unused_result)) | ||||
# define CPL_ATTR_CALLOC __attribute__((malloc, warn_unused_result)) | ||||
# define CPL_ATTR_REALLOC __attribute__((malloc, warn_unused_result)) | ||||
# endif | ||||
# else | ||||
/* gcc 3.0 to 3.3 */ | ||||
# define CPL_ATTR_ALLOC __attribute__((malloc)) | ||||
# define CPL_ATTR_MALLOC __attribute__((malloc)) | ||||
# define CPL_ATTR_CALLOC __attribute__((malloc)) | ||||
# define CPL_ATTR_REALLOC __attribute__((malloc)) | ||||
# endif | ||||
#endif | ||||
#ifndef CPL_ATTR_ALLOC | ||||
# define CPL_ATTR_ALLOC /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_CALLOC | ||||
# define CPL_ATTR_CALLOC /*__attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_CONST | ||||
# define CPL_ATTR_CONST /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_DEPRECATED | ||||
# define CPL_ATTR_DEPRECATED /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_PURE | ||||
# define CPL_ATTR_PURE /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_MALLOC | ||||
# define CPL_ATTR_MALLOC /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_NONNULL | ||||
# define CPL_ATTR_NONNULL /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_PRINTF | ||||
# define CPL_ATTR_PRINTF(A,B) /* __attribute__ */ | ||||
#endif | ||||
#ifndef CPL_ATTR_REALLOC | ||||
# define CPL_ATTR_REALLOC /* __attribute__ */ | ||||
#endif | ||||
#endif /* CPL_MACROS_H */ | #endif /* CPL_MACROS_H */ | |||
End of changes. 4 change blocks. | ||||
6 lines changed or deleted | 113 lines changed or added | |||
cpl_mask.h | cpl_mask.h | |||
---|---|---|---|---|
/* $Id: cpl_mask.h,v 1.26 2010/04/28 13:47:56 llundin Exp $ | /* $Id: cpl_mask.h,v 1.29 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/04/28 13:47:56 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.26 $ | * $Revision: 1.29 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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.h" | |||
#include "cpl_matrix.h" | #include "cpl_matrix.h" | |||
#include "cpl_filter.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; | |||
skipping to change at line 65 | skipping to change at line 65 | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#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_ATTR_ALLOC; | |||
cpl_mask * cpl_mask_wrap(int, int, cpl_binary *); | cpl_mask * cpl_mask_wrap(int, int, cpl_binary *) CPL_ATTR_ALLOC; | |||
cpl_mask * cpl_mask_duplicate(const cpl_mask *); | cpl_mask * cpl_mask_duplicate(const cpl_mask *) CPL_ATTR_ALLOC; | |||
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); | |||
skipping to change at line 90 | skipping to change at line 90 | |||
/* 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_ATTR_ALLOC; | |||
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_ATTR_ALLOC; | ||||
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) CPL_ATTR_ALLOC; | ||||
/* Morphological operations */ | /* Morphological operations */ | |||
cpl_error_code cpl_mask_filter(cpl_mask *, const cpl_mask *, const cpl_mask *, | cpl_error_code cpl_mask_filter(cpl_mask *, const cpl_mask *, const cpl_mask *, | |||
cpl_filter_mode, cpl_border_mode); | cpl_filter_mode, cpl_border_mode); | |||
cpl_error_code cpl_mask_closing(cpl_mask *, const cpl_matrix *) | cpl_error_code cpl_mask_closing(cpl_mask *, | |||
#ifdef __GNUC__ | const cpl_matrix *) CPL_ATTR_DEPRECATED; | |||
__attribute__((deprecated)) | cpl_error_code cpl_mask_opening(cpl_mask *, | |||
#endif | const cpl_matrix *) CPL_ATTR_DEPRECATED; | |||
; | cpl_error_code cpl_mask_erosion(cpl_mask *, | |||
cpl_error_code cpl_mask_opening(cpl_mask *, const cpl_matrix *) | const cpl_matrix *) CPL_ATTR_DEPRECATED; | |||
#ifdef __GNUC__ | cpl_error_code cpl_mask_dilation(cpl_mask *, | |||
__attribute__((deprecated)) | const cpl_matrix *) CPL_ATTR_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 | cpl_mask * cpl_mask_threshold_image_create(const cpl_image *, | |||
e); | double, double) CPL_ATTR_ALLOC; | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 9 change blocks. | ||||
34 lines changed or deleted | 24 lines changed or added | |||
cpl_math_const.h | cpl_math_const.h | |||
---|---|---|---|---|
/* $Id: cpl_math_const.h,v 1.7 2008/07/21 08:48:38 llundin Exp $ | /* $Id: cpl_math_const.h,v 1.9 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:38 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.7 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_MATH_CONST_H | #ifndef CPL_MATH_CONST_H | |||
#define CPL_MATH_CONST_H | #define CPL_MATH_CONST_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/** | /** | |||
* @defgroup cpl_math Fundamental math functionality | * @defgroup cpl_math Fundamental math functionality | |||
* | * | |||
* This module provides fundamental math constants. | * This module provides fundamental math constants. | |||
* | * | |||
* Source: On-Line Encyclopedia of Integer Sequences (OEIS) | * Source: On-Line Encyclopedia of Integer Sequences (OEIS) | |||
* | ||||
* pi: http://www.research.att.com/~njas/sequences/A000796 | * pi: http://www.research.att.com/~njas/sequences/A000796 | |||
* | ||||
* e: http://www.research.att.com/~njas/sequences/A001113 | * e: http://www.research.att.com/~njas/sequences/A001113 | |||
* | ||||
* ln(2): http://www.research.att.com/~njas/sequences/A002162 | * ln(2): http://www.research.att.com/~njas/sequences/A002162 | |||
* | ||||
* ln(10): http://www.research.att.com/~njas/sequences/A002392 | * ln(10): http://www.research.att.com/~njas/sequences/A002392 | |||
* | * | |||
* sqrt(2): http://www.research.att.com/~njas/sequences/A002193 | ||||
* | ||||
* sqrt(3): http://www.research.att.com/~njas/sequences/A002194 | ||||
* | ||||
* The derived constants have been computed with the | * The derived constants have been computed with the | |||
* GNU Multiple-Precision Library v. 4.2.2. | * GNU Multiple-Precision Library v. 4.2.2. | |||
* | * | |||
* The constants are listed with a precision that allows a one-line definit ion. | * The constants are listed with a precision that allows a one-line definit ion. | |||
* | * | |||
* @par Synopsis: | * @par Synopsis: | |||
* @code | * @code | |||
* #include <cpl_math_const.h> | * #include <cpl_math_const.h> | |||
* @endcode | * @endcode | |||
*/ | */ | |||
/**@{*/ | /**@{*/ | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Defines | Defines | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* The base of the exponential function */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
* @brief The base of the exponential function | ||||
* @see On-Line Encyclopedia of Integer Sequences (OEIS), | ||||
* http://www.research.att.com/~njas/sequences/A001113 | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_E 2.71828182845904523536028747135266249775724709369 99595 | #define CPL_MATH_E 2.71828182845904523536028747135266249775724709369 99595 | |||
/* The ratio of a circles circumference to its diameter */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
* @brief The ratio of a circles circumference to its diameter | ||||
* @see On-Line Encyclopedia of Integer Sequences (OEIS), | ||||
* http://www.research.att.com/~njas/sequences/A000796 | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_PI 3.14159265358979323846264338327950288419716939937 51058 | #define CPL_MATH_PI 3.14159265358979323846264338327950288419716939937 51058 | |||
/* The natural logarithm of 2 */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
* @brief The natural logarithm of 2 | ||||
* @see On-Line Encyclopedia of Integer Sequences (OEIS), | ||||
* http://www.research.att.com/~njas/sequences/A002162 | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_LN2 0.69314718055994530941723212145817656807550013436 02553 | #define CPL_MATH_LN2 0.69314718055994530941723212145817656807550013436 02553 | |||
/* The natural logarithm of 10 */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
* @brief The natural logarithm of 10 | ||||
* @see On-Line Encyclopedia of Integer Sequences (OEIS), | ||||
* http://www.research.att.com/~njas/sequences/A002392 | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_LN10 2.30258509299404568401799145468436420760110148862 87730 | #define CPL_MATH_LN10 2.30258509299404568401799145468436420760110148862 87730 | |||
/* Derived constants */ | /*------------------------------------------------------------------------- | |||
/* 2pi */ | ---*/ | |||
/** | ||||
@brief 2 pi | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_2PI 6.28318530717958647692528676655900576839433879875 02116 | #define CPL_MATH_2PI 6.28318530717958647692528676655900576839433879875 02116 | |||
/* pi/2 */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief pi/2 | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_PI_2 1.57079632679489661923132169163975144209858469968 75529 | #define CPL_MATH_PI_2 1.57079632679489661923132169163975144209858469968 75529 | |||
/* pi/4 */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief pi/4 | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_PI_4 0.78539816339744830961566084581987572104929234984 37765 | #define CPL_MATH_PI_4 0.78539816339744830961566084581987572104929234984 37765 | |||
/* 1/pi */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief 1/pi | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_1_PI 0.31830988618379067153776752674502872406891929148 09129 | #define CPL_MATH_1_PI 0.31830988618379067153776752674502872406891929148 09129 | |||
/* 2/pi */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief 2/pi | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_2_PI 0.63661977236758134307553505349005744813783858296 18258 | #define CPL_MATH_2_PI 0.63661977236758134307553505349005744813783858296 18258 | |||
/* 4/pi */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief 4/pi | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_4_PI 1.27323954473516268615107010698011489627567716592 36516 | #define CPL_MATH_4_PI 1.27323954473516268615107010698011489627567716592 36516 | |||
/* sqrt(2pi) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief sqrt(2pi) | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_SQRT2PI 2.50662827463100050241576528481104525300698674060 99383 | #define CPL_MATH_SQRT2PI 2.50662827463100050241576528481104525300698674060 99383 | |||
/* 2/sqrt(pi) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief 2/sqrt(pi) | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_2_SQRTPI 1.12837916709551257389615890312154517168810125865 79977 | #define CPL_MATH_2_SQRTPI 1.12837916709551257389615890312154517168810125865 79977 | |||
/* sqrt(2) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
* @brief The square root of 2 | ||||
* @see On-Line Encyclopedia of Integer Sequences (OEIS), | ||||
* http://www.research.att.com/~njas/sequences/A002193 | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_SQRT2 1.41421356237309504880168872420969807856967187537 69481 | #define CPL_MATH_SQRT2 1.41421356237309504880168872420969807856967187537 69481 | |||
/* sqrt(3) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
* @brief The square root of 3 | ||||
* @see On-Line Encyclopedia of Integer Sequences (OEIS), | ||||
* http://www.research.att.com/~njas/sequences/A002194 | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_SQRT3 1.73205080756887729352744634150587236694280525381 03806 | #define CPL_MATH_SQRT3 1.73205080756887729352744634150587236694280525381 03806 | |||
/* sqrt(1/2) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief sqrt(1/2) | ||||
@see CPL_MATH_SQRT2 | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_SQRT1_2 0.70710678118654752440084436210484903928483593768 84740 | #define CPL_MATH_SQRT1_2 0.70710678118654752440084436210484903928483593768 84740 | |||
/* log2(e) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief log2(e) | ||||
@see CPL_MATH_LN2 | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_LOG2E 1.44269504088896340735992468100189213742664595415 29859 | #define CPL_MATH_LOG2E 1.44269504088896340735992468100189213742664595415 29859 | |||
/* log10(e) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief log10(e) | ||||
@see CPL_MATH_LN10 | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_LOG10E 0.43429448190325182765112891891660508229439700580 36666 | #define CPL_MATH_LOG10E 0.43429448190325182765112891891660508229439700580 36666 | |||
/* 180/pi */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief 180/pi | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_DEG_RAD 57.2957795130823208767981548141051703324054724665 64322 | #define CPL_MATH_DEG_RAD 57.2957795130823208767981548141051703324054724665 64322 | |||
/* pi/180 */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief pi/180 | ||||
@see CPL_MATH_PI | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_RAD_DEG 0.01745329251994329576923690768488612713442871888 54173 | #define CPL_MATH_RAD_DEG 0.01745329251994329576923690768488612713442871888 54173 | |||
/* FWHM per Sigma, 2.0*sqrt(2.0*log(2.0)) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief FWHM per Sigma, 2.0*sqrt(2.0*log(2.0)) | ||||
@see CPL_MATH_LN2 | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_FWHM_SIG 2.35482004503094938202313865291939927549477137877 16411 | #define CPL_MATH_FWHM_SIG 2.35482004503094938202313865291939927549477137877 16411 | |||
/* Sigma per FWHM, 0.5/sqrt(2.0*log(2.0)) */ | /*------------------------------------------------------------------------- | |||
---*/ | ||||
/** | ||||
@brief Sigma per FWHM, 0.5/sqrt(2.0*log(2.0)) | ||||
@see CPL_MATH_LN2 | ||||
@note Derived from a fundamental constant | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define CPL_MATH_SIG_FWHM 0.42466090014400952136075141705144480985757054689 21770 | #define CPL_MATH_SIG_FWHM 0.42466090014400952136075141705144480985757054689 21770 | |||
/**@}*/ | /**@}*/ | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 29 change blocks. | ||||
27 lines changed or deleted | 202 lines changed or added | |||
cpl_matrix.h | cpl_matrix.h | |||
---|---|---|---|---|
/* $Id: cpl_matrix.h,v 1.34 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_matrix.h,v 1.37 2010/11/23 11:02:06 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/11/23 11:02:06 $ | |||
* $Revision: 1.34 $ | * $Revision: 1.37 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_MATRIX_H | #ifndef CPL_MATRIX_H | |||
#define CPL_MATRIX_H | #define CPL_MATRIX_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | #include <stdio.h> | |||
skipping to change at line 56 | skipping to change at line 56 | |||
typedef struct _cpl_matrix_ cpl_matrix; | typedef struct _cpl_matrix_ cpl_matrix; | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* | /* | |||
* IO methods | * IO methods | |||
*/ | */ | |||
cpl_matrix *cpl_matrix_new(int, int); | cpl_matrix *cpl_matrix_new(int, int) CPL_ATTR_ALLOC; | |||
cpl_matrix *cpl_matrix_wrap(int, int, double *); | cpl_matrix *cpl_matrix_wrap(int, int, double *) CPL_ATTR_ALLOC; | |||
void cpl_matrix_delete(cpl_matrix *); | void cpl_matrix_delete(cpl_matrix *); | |||
void *cpl_matrix_unwrap(cpl_matrix *); | void *cpl_matrix_unwrap(cpl_matrix *); | |||
void cpl_matrix_dump(const cpl_matrix *, FILE *); | void cpl_matrix_dump(const cpl_matrix *, FILE *); | |||
/* | /* | |||
* Accessors | * Accessors | |||
*/ | */ | |||
int cpl_matrix_get_nrow(const cpl_matrix *); | int cpl_matrix_get_nrow(const cpl_matrix *); | |||
int cpl_matrix_get_ncol(const cpl_matrix *); | int cpl_matrix_get_ncol(const cpl_matrix *); | |||
double *cpl_matrix_get_data(cpl_matrix *); | double *cpl_matrix_get_data(cpl_matrix *); | |||
const double *cpl_matrix_get_data_const(const cpl_matrix *); | const double *cpl_matrix_get_data_const(const cpl_matrix *); | |||
double cpl_matrix_get(const cpl_matrix *, int, int); | double cpl_matrix_get(const cpl_matrix *, int, int); | |||
cpl_error_code cpl_matrix_set(cpl_matrix *, int, int, double); | cpl_error_code cpl_matrix_set(cpl_matrix *, int, int, double); | |||
/* | /* | |||
* Copying methods | * Copying methods | |||
*/ | */ | |||
cpl_matrix *cpl_matrix_duplicate(const cpl_matrix *); | cpl_matrix *cpl_matrix_duplicate(const cpl_matrix *) CPL_ATTR_ALLOC; | |||
cpl_matrix *cpl_matrix_extract(const cpl_matrix *, | cpl_matrix *cpl_matrix_extract(const cpl_matrix *, | |||
int, int, int, int, int, int) ; | int, int, int, int, int, int) CPL_ATTR_ALLOC | |||
cpl_matrix *cpl_matrix_extract_row(const cpl_matrix *, int); | ; | |||
cpl_matrix *cpl_matrix_extract_column(const cpl_matrix *, int); | cpl_matrix *cpl_matrix_extract_row(const cpl_matrix *, int) CPL_ATTR_ALLOC; | |||
cpl_matrix *cpl_matrix_extract_diagonal(const cpl_matrix *, int); | cpl_matrix *cpl_matrix_extract_column(const cpl_matrix *, int) CPL_ATTR_ALL | |||
OC; | ||||
cpl_matrix *cpl_matrix_extract_diagonal(const cpl_matrix *, int) CPL_ATTR_A | ||||
LLOC; | ||||
/* | /* | |||
* Writing methods | * Writing methods | |||
*/ | */ | |||
cpl_error_code cpl_matrix_copy(cpl_matrix *, const cpl_matrix *, int, int); | cpl_error_code cpl_matrix_copy(cpl_matrix *, const cpl_matrix *, int, int); | |||
cpl_error_code cpl_matrix_fill(cpl_matrix *, double); | cpl_error_code cpl_matrix_fill(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_fill_row(cpl_matrix *, double, int); | cpl_error_code cpl_matrix_fill_row(cpl_matrix *, double, int); | |||
cpl_error_code cpl_matrix_fill_column(cpl_matrix *, double, int); | cpl_error_code cpl_matrix_fill_column(cpl_matrix *, double, int); | |||
cpl_error_code cpl_matrix_fill_diagonal(cpl_matrix *, double, int); | cpl_error_code cpl_matrix_fill_diagonal(cpl_matrix *, double, int); | |||
skipping to change at line 144 | skipping to change at line 144 | |||
cpl_error_code cpl_matrix_multiply(cpl_matrix *, const cpl_matrix *); | cpl_error_code cpl_matrix_multiply(cpl_matrix *, const cpl_matrix *); | |||
cpl_error_code cpl_matrix_divide(cpl_matrix *, const cpl_matrix *); | cpl_error_code cpl_matrix_divide(cpl_matrix *, const cpl_matrix *); | |||
cpl_error_code cpl_matrix_add_scalar(cpl_matrix *, double); | cpl_error_code cpl_matrix_add_scalar(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_subtract_scalar(cpl_matrix *, double); | cpl_error_code cpl_matrix_subtract_scalar(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_multiply_scalar(cpl_matrix *, double); | cpl_error_code cpl_matrix_multiply_scalar(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_divide_scalar(cpl_matrix *, double); | cpl_error_code cpl_matrix_divide_scalar(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_logarithm(cpl_matrix *, double); | cpl_error_code cpl_matrix_logarithm(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_exponential(cpl_matrix *, double); | cpl_error_code cpl_matrix_exponential(cpl_matrix *, double); | |||
cpl_error_code cpl_matrix_power(cpl_matrix *, double); | cpl_error_code cpl_matrix_power(cpl_matrix *, double); | |||
cpl_matrix *cpl_matrix_product_create(const cpl_matrix *, const cpl_matrix | cpl_matrix *cpl_matrix_product_create(const cpl_matrix *, | |||
*); | const cpl_matrix *) CPL_ATTR_ALLOC; | |||
cpl_matrix *cpl_matrix_transpose_create(const cpl_matrix *); | cpl_matrix *cpl_matrix_transpose_create(const cpl_matrix *) CPL_ATTR_ALLOC; | |||
/* | /* | |||
* More complex operations | * More complex operations | |||
*/ | */ | |||
double cpl_matrix_get_determinant(const cpl_matrix *); | double cpl_matrix_get_determinant(const cpl_matrix *); | |||
cpl_matrix *cpl_matrix_solve(const cpl_matrix *, const cpl_matrix *); | cpl_matrix *cpl_matrix_solve(const cpl_matrix *, | |||
cpl_matrix *cpl_matrix_solve_normal(const cpl_matrix *, const cpl_matrix *) | const cpl_matrix *) CPL_ATTR_ALLOC; | |||
; | cpl_matrix *cpl_matrix_solve_normal(const cpl_matrix *, | |||
cpl_matrix *cpl_matrix_invert_create(const cpl_matrix *); | const cpl_matrix *) CPL_ATTR_ALLOC; | |||
cpl_matrix *cpl_matrix_invert_create(const cpl_matrix *) CPL_ATTR_ALLOC; | ||||
cpl_error_code cpl_matrix_decomp_lu(cpl_matrix *, int *, int *); | cpl_error_code cpl_matrix_decomp_lu(cpl_matrix *, int *, int *); | |||
cpl_error_code cpl_matrix_solve_lu(const cpl_matrix *, cpl_matrix *, | cpl_error_code cpl_matrix_solve_lu(const cpl_matrix *, cpl_matrix *, | |||
const int *); | const int *); | |||
cpl_error_code cpl_matrix_decomp_chol(cpl_matrix *); | cpl_error_code cpl_matrix_decomp_chol(cpl_matrix *); | |||
cpl_error_code cpl_matrix_solve_chol(const cpl_matrix *, cpl_matrix *); | cpl_error_code cpl_matrix_solve_chol(const cpl_matrix *, cpl_matrix *); | |||
/* | /* | |||
* Stats methods | * Stats methods | |||
*/ | */ | |||
End of changes. 8 change blocks. | ||||
19 lines changed or deleted | 23 lines changed or added | |||
cpl_memory.h | cpl_memory.h | |||
---|---|---|---|---|
/* $Id: cpl_memory.h,v 1.19 2010/03/11 16:54:17 llundin Exp $ | /* $Id: cpl_memory.h,v 1.22 2010/11/11 09:23: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-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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/03/11 16:54:17 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.19 $ | * $Revision: 1.22 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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> | |||
/*------------------------------------------------------------------------- --- | /*------------------------------------------------------------------------- --- | |||
Defines | ||||
-------------------------------------------------------------------------- | ||||
--*/ | ||||
#undef CPL_HAVE_GNUC_ALLOC_SIZE | ||||
#if defined __GNUC__ | ||||
#if __GNUC__ > 4 || __GNUC__ == 4 && defined __GNUC_MINOR__ && __GNUC_MINOR | ||||
__ > 2 | ||||
#define CPL_HAVE_GNUC_ALLOC_SIZE | ||||
#endif | ||||
#endif | ||||
#undef CPL_HAVE_GNUC_UNUSED_RESULT | ||||
#if defined __GNUC__ && __GNUC__ > 3 | ||||
#define CPL_HAVE_GNUC_UNUSED_RESULT | ||||
#endif | ||||
/*------------------------------------------------------------------------- | ||||
--- | ||||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- --*/ | -------------------------------------------------------------------------- --*/ | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
void *cpl_malloc(size_t) | void *cpl_malloc(size_t) CPL_ATTR_MALLOC; | |||
#ifdef CPL_HAVE_GNUC_ALLOC_SIZE | void *cpl_calloc(size_t, size_t) CPL_ATTR_CALLOC; | |||
__attribute__((warn_unused_result, malloc, alloc_size(1))) | void *cpl_realloc(void *, size_t) CPL_ATTR_REALLOC; | |||
#else | ||||
__attribute__((malloc)) | ||||
#endif | ||||
; | ||||
void *cpl_calloc(size_t, size_t) | ||||
#ifdef CPL_HAVE_GNUC_ALLOC_SIZE | ||||
__attribute__((warn_unused_result, malloc, alloc_size(1,2))) | ||||
#else | ||||
__attribute__((malloc)) | ||||
#endif | ||||
; | ||||
void *cpl_realloc(void *, size_t) | ||||
#ifdef CPL_HAVE_GNUC_ALLOC_SIZE | ||||
__attribute__((warn_unused_result, alloc_size(2))) | ||||
#endif | ||||
; | ||||
void cpl_free(void *); | void cpl_free(void *); | |||
char *cpl_strdup(const char *) | char *cpl_strdup(const char *) CPL_ATTR_ALLOC; | |||
#ifdef CPL_HAVE_GNUC_UNUSED_RESULT | ||||
__attribute__((warn_unused_result, malloc)) | ||||
#else | ||||
__attribute__((malloc)) | ||||
#endif | ||||
; | ||||
char *cpl_vsprintf(const char *, va_list) | ||||
#ifdef CPL_HAVE_GNUC_UNUSED_RESULT | ||||
__attribute__((warn_unused_result, malloc, format (printf, 1, 0))) | ||||
#elif defined __GNUC__ | ||||
__attribute__((malloc, format (printf, 1, 0))) | ||||
#endif | ||||
; | ||||
char * cpl_sprintf(const char *, ...) | char *cpl_vsprintf(const char *, va_list) CPL_ATTR_ALLOC CPL_ATTR_PRINTF(1, | |||
#ifdef CPL_HAVE_GNUC_UNUSED_RESULT | 0); | |||
__attribute__((warn_unused_result, malloc, format (printf, 1, 2))) | char *cpl_sprintf (const char *, ...) CPL_ATTR_ALLOC CPL_ATTR_PRINTF(1, | |||
#elif defined __GNUC__ | 2); | |||
__attribute__((malloc, format (printf, 1, 2))) | ||||
#endif | int cpl_memory_is_empty(void) CPL_ATTR_PURE; | |||
; | ||||
int cpl_memory_is_empty(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#endif | ||||
; | ||||
void cpl_memory_dump(void); | void cpl_memory_dump(void); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_MEMORY_H */ | #endif /* CPL_MEMORY_H */ | |||
End of changes. 8 change blocks. | ||||
71 lines changed or deleted | 15 lines changed or added | |||
cpl_msg.h | cpl_msg.h | |||
---|---|---|---|---|
/* $Id: cpl_msg.h,v 1.13 2008/07/21 08:48:38 llundin Exp $ | /* $Id: cpl_msg.h,v 1.15 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:38 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.13 $ | * $Revision: 1.15 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_MSG_H | #ifndef CPL_MSG_H | |||
#define CPL_MSG_H | #define CPL_MSG_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 97 | skipping to change at line 97 | |||
void cpl_msg_set_domain(const char *); | void cpl_msg_set_domain(const char *); | |||
const char *cpl_msg_get_domain(void); | const char *cpl_msg_get_domain(void); | |||
void cpl_msg_set_width(int); | void cpl_msg_set_width(int); | |||
void cpl_msg_set_indentation(int); | void cpl_msg_set_indentation(int); | |||
void cpl_msg_indent_more(void); | void cpl_msg_indent_more(void); | |||
void cpl_msg_indent_less(void); | void cpl_msg_indent_less(void); | |||
void cpl_msg_indent(int); | void cpl_msg_indent(int); | |||
void cpl_msg_error(const char *component, const char *format, ...) | void cpl_msg_error(const char *, const char *, ...) CPL_ATTR_PRINTF(2,3); | |||
#ifdef __GNUC__ | void cpl_msg_warning(const char *, const char *, ...) CPL_ATTR_PRINTF(2,3); | |||
__attribute__((format (printf, 2, 3))) | void cpl_msg_info(const char *, const char *, ...) CPL_ATTR_PRINTF(2,3); | |||
#endif | void cpl_msg_debug(const char *, const char *, ...) CPL_ATTR_PRINTF(2,3); | |||
; | void cpl_msg_info_overwritable(const char *, | |||
void cpl_msg_warning(const char *component, const char *format, ...) | const char *, ...) CPL_ATTR_PRINTF(2,3); | |||
#ifdef __GNUC__ | void cpl_msg_progress(const char *, int, int, const char *, | |||
__attribute__((format (printf, 2, 3))) | ...) CPL_ATTR_DEPRECATED CPL_ATTR_PRINTF(4,5); | |||
#endif | ||||
; | ||||
void cpl_msg_info(const char *component, const char *format, ...) | ||||
#ifdef __GNUC__ | ||||
__attribute__((format (printf, 2, 3))) | ||||
#endif | ||||
; | ||||
void cpl_msg_debug(const char *component, const char *format, ...) | ||||
#ifdef __GNUC__ | ||||
__attribute__((format (printf, 2, 3))) | ||||
#endif | ||||
; | ||||
void cpl_msg_info_overwritable(const char *component, const char *format, . | ||||
..) | ||||
#ifdef __GNUC__ | ||||
__attribute__((format (printf, 2, 3))) | ||||
#endif | ||||
; | ||||
void cpl_msg_progress(const char *component, | ||||
int i, int iter, const char *format, ...) | ||||
#ifdef __GNUC__ | ||||
__attribute__((format (printf, 4, 5))) | ||||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* end of cpl_messages.h */ | #endif /* end of cpl_messages.h */ | |||
End of changes. 4 change blocks. | ||||
38 lines changed or deleted | 13 lines changed or added | |||
cpl_parameter.h | cpl_parameter.h | |||
---|---|---|---|---|
/* $Id: cpl_parameter.h,v 1.13 2007/07/17 09:36:49 scastro Exp $ | /* $Id: cpl_parameter.h,v 1.15 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: llundin $ | |||
* $Date: 2007/07/17 09:36:49 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.13 $ | * $Revision: 1.15 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PARAMETER_H | #ifndef CPL_PARAMETER_H | |||
#define CPL_PARAMETER_H | #define CPL_PARAMETER_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
#include <cpl_type.h> | #include <cpl_type.h> | |||
skipping to change at line 145 | skipping to change at line 145 | |||
*/ | */ | |||
typedef struct _cpl_parameter_ cpl_parameter; | typedef struct _cpl_parameter_ cpl_parameter; | |||
/* | /* | |||
* Create and destroy operations | * Create and destroy operations | |||
*/ | */ | |||
cpl_parameter *cpl_parameter_new_value(const char *name, cpl_type type, | cpl_parameter *cpl_parameter_new_value(const char *name, cpl_type type, | |||
const char *description, | const char *description, | |||
const char *context, ...); | const char *context, ...) CPL_ATTR_A LLOC; | |||
cpl_parameter *cpl_parameter_new_range(const char *name, cpl_type type, | cpl_parameter *cpl_parameter_new_range(const char *name, cpl_type type, | |||
const char *description, | const char *description, | |||
const char *context, ...); | const char *context, ...) CPL_ATTR_A LLOC; | |||
cpl_parameter *cpl_parameter_new_enum(const char *name, cpl_type type, | cpl_parameter *cpl_parameter_new_enum(const char *name, cpl_type type, | |||
const char *description, | const char *description, | |||
const char *context, ...); | const char *context, ...) CPL_ATTR_AL LOC; | |||
void cpl_parameter_delete(cpl_parameter *self); | void cpl_parameter_delete(cpl_parameter *self); | |||
/* | /* | |||
* Non-modifying operations | * Non-modifying operations | |||
*/ | */ | |||
cpl_type cpl_parameter_get_type(const cpl_parameter *self); | cpl_type cpl_parameter_get_type(const cpl_parameter *self); | |||
cpl_parameter_class cpl_parameter_get_class(const cpl_parameter *self); | cpl_parameter_class cpl_parameter_get_class(const cpl_parameter *self); | |||
End of changes. 6 change blocks. | ||||
9 lines changed or deleted | 9 lines changed or added | |||
cpl_parameterlist.h | cpl_parameterlist.h | |||
---|---|---|---|---|
/* $Id: cpl_parameterlist.h,v 1.7 2007/07/16 11:55:39 scastro Exp $ | /* $Id: cpl_parameterlist.h,v 1.9 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: llundin $ | |||
* $Date: 2007/07/16 11:55:39 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.7 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PARAMETERLIST_H | #ifndef CPL_PARAMETERLIST_H | |||
#define CPL_PARAMETERLIST_H | #define CPL_PARAMETERLIST_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_parameter.h> | #include <cpl_parameter.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 49 | skipping to change at line 49 | |||
* @brief | * @brief | |||
* The opaque parameter list data type. | * The opaque parameter list data type. | |||
*/ | */ | |||
typedef struct _cpl_parameterlist_ cpl_parameterlist; | typedef struct _cpl_parameterlist_ cpl_parameterlist; | |||
/* | /* | |||
* Create, copy and destroy operations | * Create, copy and destroy operations | |||
*/ | */ | |||
cpl_parameterlist *cpl_parameterlist_new(void); | cpl_parameterlist *cpl_parameterlist_new(void) CPL_ATTR_ALLOC; | |||
void cpl_parameterlist_delete(cpl_parameterlist *self); | void cpl_parameterlist_delete(cpl_parameterlist *self); | |||
/* | /* | |||
* Non modifying operations | * Non modifying operations | |||
*/ | */ | |||
int cpl_parameterlist_get_size(const cpl_parameterlist *self); | int cpl_parameterlist_get_size(const cpl_parameterlist *self); | |||
/* | /* | |||
* Element insertion. | * Element insertion. | |||
End of changes. 4 change blocks. | ||||
7 lines changed or deleted | 7 lines changed or added | |||
cpl_photom.h | cpl_photom.h | |||
---|---|---|---|---|
/* $Id: cpl_photom.h,v 1.2 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_photom.h,v 1.3 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.2 $ | * $Revision: 1.3 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PHOTOM_H | #ifndef CPL_PHOTOM_H | |||
#define CPL_PHOTOM_H | #define CPL_PHOTOM_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | #include <stdio.h> | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_phys_const.h | cpl_phys_const.h | |||
---|---|---|---|---|
/* $Id: cpl_phys_const.h,v 1.6 2008/07/21 08:48:40 llundin Exp $ | /* $Id: cpl_phys_const.h,v 1.9 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 08:48:40 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.6 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PHYS_CONST_H | #ifndef CPL_PHYS_CONST_H | |||
#define CPL_PHYS_CONST_H | #define CPL_PHYS_CONST_H | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Defines | Defines | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
skipping to change at line 54 | skipping to change at line 54 | |||
/* Planck constant [Js] */ | /* Planck constant [Js] */ | |||
#define CPL_PHYS_H 6.6260693E-34 | #define CPL_PHYS_H 6.6260693E-34 | |||
/* Boltzmann constant [J/K] */ | /* Boltzmann constant [J/K] */ | |||
#define CPL_PHYS_K 1.3806505E-23 | #define CPL_PHYS_K 1.3806505E-23 | |||
/* Wien displacement law constant [mK] (meter * Kelvin)*/ | /* Wien displacement law constant [mK] (meter * Kelvin)*/ | |||
#define CPL_PHYS_Wien 2.8977685E-3 | #define CPL_PHYS_Wien 2.8977685E-3 | |||
/* The speed of light in vacuum [m/s] */ | /* The speed of light in vacuum [m/s] */ | |||
#define CPL_PHYS_C 299792458 | #define CPL_PHYS_C 299792458.0 | |||
/* These dimension definitions will be replaced ASAP */ | ||||
enum _cpl_unit_ { | enum _cpl_unit_ { | |||
CPL_UNIT_LESS = 1, /* Dimension-less */ | CPL_UNIT_LESS = 1, /* Dimension-less */ | |||
CPL_UNIT_RADIAN = 2, /* [radian] */ | CPL_UNIT_RADIAN = 2, /* [radian] */ | |||
CPL_UNIT_LENGTH = 3, /* [m] */ | CPL_UNIT_LENGTH = 3, /* [m] */ | |||
CPL_UNIT_FREQUENCY = 5, /* [1/s] */ | CPL_UNIT_TIME = 5, /* [s] */ | |||
CPL_UNIT_PHOTONRADIANCE = 7, /* [ radian/s/m^3] */ | CPL_UNIT_PERLENGTH = 7, /* [1/m] */ | |||
CPL_UNIT_ENERGYRADIANCE = 11 /* [J*radian/s/m^3] */ | CPL_UNIT_FREQUENCY = 11, /* [1/s] */ | |||
CPL_UNIT_MASS = 13, /* [kg] */ | ||||
/* Derived quantities */ | ||||
CPL_UNIT_ACCELERATION /* [m/s^2]*/ | ||||
= CPL_UNIT_LENGTH * CPL_UNIT_FREQUENCY * CPL_UNIT_FREQUENCY, | ||||
CPL_UNIT_FORCE /* [N] = [kg * m/s^2]*/ | ||||
= CPL_UNIT_MASS * CPL_UNIT_ACCELERATION, | ||||
CPL_UNIT_ENERGY /* [J] = [m * N] */ | ||||
= CPL_UNIT_LENGTH * CPL_UNIT_FORCE, | ||||
CPL_UNIT_PHOTONRADIANCE /* [ radian/s/m^3] */ | ||||
= CPL_UNIT_RADIAN * CPL_UNIT_FREQUENCY * CPL_UNIT_PERLENGTH | ||||
* CPL_UNIT_PERLENGTH * CPL_UNIT_PERLENGTH, | ||||
CPL_UNIT_ENERGYRADIANCE /* [J*radian/s/m^3] */ | ||||
= CPL_UNIT_ENERGY * CPL_UNIT_PHOTONRADIANCE | ||||
}; | }; | |||
typedef enum _cpl_unit_ cpl_unit; | typedef enum _cpl_unit_ cpl_unit; | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
10 lines changed or deleted | 24 lines changed or added | |||
cpl_plot.h | cpl_plot.h | |||
---|---|---|---|---|
/* $Id: cpl_plot.h,v 1.8 2010/04/22 13:13:57 llundin Exp $ | /* $Id: cpl_plot.h,v 1.9 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/04/22 13:13:57 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.8 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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" | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_plugin.h | cpl_plugin.h | |||
---|---|---|---|---|
/* $Id: cpl_plugin.h,v 1.11 2007/07/18 13:45:17 scastro Exp $ | /* $Id: cpl_plugin.h,v 1.14 2011/01/11 10:33: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-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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: llundin $ | |||
* $Date: 2007/07/18 13:45:17 $ | * $Date: 2011/01/11 10:33:18 $ | |||
* $Revision: 1.11 $ | * $Revision: 1.14 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PLUGIN_H | #ifndef CPL_PLUGIN_H | |||
#define CPL_PLUGIN_H | #define CPL_PLUGIN_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
skipping to change at line 265 | skipping to change at line 265 | |||
*/ | */ | |||
cpl_plugin_func deinitialize; | cpl_plugin_func deinitialize; | |||
}; | }; | |||
/* | /* | |||
* Create, copy and destroy operations. | * Create, copy and destroy operations. | |||
*/ | */ | |||
cpl_plugin *cpl_plugin_new(void); | cpl_plugin *cpl_plugin_new(void) CPL_ATTR_ALLOC; | |||
cpl_error_code cpl_plugin_copy(cpl_plugin *self, const cpl_plugin *other); | cpl_error_code cpl_plugin_copy(cpl_plugin *self, const cpl_plugin *other); | |||
void cpl_plugin_delete(cpl_plugin *self); | void cpl_plugin_delete(cpl_plugin *self); | |||
/* | /* | |||
* Accessor Functions | * Accessor Functions | |||
*/ | */ | |||
cpl_error_code cpl_plugin_set_api(cpl_plugin *self , unsigned int api); | cpl_error_code cpl_plugin_set_api(cpl_plugin *self , unsigned int api); | |||
unsigned int cpl_plugin_get_api(const cpl_plugin *self); | unsigned int cpl_plugin_get_api(const cpl_plugin *self); | |||
int cpl_plugin_set_version(cpl_plugin *self, unsigned long version); | int cpl_plugin_set_version(cpl_plugin *self, unsigned long version); | |||
unsigned long cpl_plugin_get_version(const cpl_plugin *self); | unsigned long cpl_plugin_get_version(const cpl_plugin *self); | |||
char *cpl_plugin_get_version_string(const cpl_plugin *self); | char *cpl_plugin_get_version_string(const cpl_plugin *self) CPL_ATTR_ALLOC; | |||
cpl_error_code cpl_plugin_set_type(cpl_plugin *self, unsigned long type); | cpl_error_code cpl_plugin_set_type(cpl_plugin *self, unsigned long type); | |||
unsigned long cpl_plugin_get_type(const cpl_plugin *self); | unsigned long cpl_plugin_get_type(const cpl_plugin *self); | |||
char *cpl_plugin_get_type_string(const cpl_plugin *self); | char *cpl_plugin_get_type_string(const cpl_plugin *self) CPL_ATTR_ALLOC; | |||
cpl_error_code cpl_plugin_set_name(cpl_plugin *self, const char *name); | cpl_error_code cpl_plugin_set_name(cpl_plugin *self, const char *name); | |||
const char *cpl_plugin_get_name(const cpl_plugin *self); | const char *cpl_plugin_get_name(const cpl_plugin *self); | |||
cpl_error_code cpl_plugin_set_synopsis(cpl_plugin *self, const char *synops is); | cpl_error_code cpl_plugin_set_synopsis(cpl_plugin *self, const char *synops is); | |||
const char *cpl_plugin_get_synopsis(const cpl_plugin *self); | const char *cpl_plugin_get_synopsis(const cpl_plugin *self); | |||
cpl_error_code cpl_plugin_set_description(cpl_plugin *self, | cpl_error_code cpl_plugin_set_description(cpl_plugin *self, | |||
const char *description); | const char *description); | |||
const char *cpl_plugin_get_description(const cpl_plugin *self); | const char *cpl_plugin_get_description(const cpl_plugin *self); | |||
End of changes. 6 change blocks. | ||||
9 lines changed or deleted | 9 lines changed or added | |||
cpl_plugininfo.h | cpl_plugininfo.h | |||
---|---|---|---|---|
/* $Id: cpl_plugininfo.h,v 1.4 2009/12/15 10:05:27 llundin Exp $ | /* $Id: cpl_plugininfo.h,v 1.5 2010/11/11 09:23: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-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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/15 10:05:27 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PLUGININFO_H | #ifndef CPL_PLUGININFO_H | |||
#define CPL_PLUGININFO_H | #define CPL_PLUGININFO_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_pluginlist.h> | #include <cpl_pluginlist.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
cpl_pluginlist.h | cpl_pluginlist.h | |||
---|---|---|---|---|
/* $Id: cpl_pluginlist.h,v 1.6 2005/02/10 14:29:26 rpalsa Exp $ | /* $Id: cpl_pluginlist.h,v 1.8 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: llundin $ | |||
* $Date: 2005/02/10 14:29:26 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.6 $ | * $Revision: 1.8 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PLUGINLIST_H | #ifndef CPL_PLUGINLIST_H | |||
#define CPL_PLUGINLIST_H | #define CPL_PLUGINLIST_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
#include <cpl_plugin.h> | #include <cpl_plugin.h> | |||
skipping to change at line 52 | skipping to change at line 52 | |||
* @brief | * @brief | |||
* The opaque plugin list data type. | * The opaque plugin list data type. | |||
*/ | */ | |||
typedef struct _cpl_pluginlist_ cpl_pluginlist; | typedef struct _cpl_pluginlist_ cpl_pluginlist; | |||
/* | /* | |||
* Create, copy and destroy operations. | * Create, copy and destroy operations. | |||
*/ | */ | |||
cpl_pluginlist *cpl_pluginlist_new(void); | cpl_pluginlist *cpl_pluginlist_new(void) CPL_ATTR_ALLOC; | |||
void cpl_pluginlist_delete(cpl_pluginlist *); | void cpl_pluginlist_delete(cpl_pluginlist *); | |||
/* | /* | |||
* Accessor Functions | * Accessor Functions | |||
*/ | */ | |||
cpl_error_code cpl_pluginlist_append(cpl_pluginlist *, const cpl_plugin *); | cpl_error_code cpl_pluginlist_append(cpl_pluginlist *, const cpl_plugin *); | |||
cpl_error_code cpl_pluginlist_prepend(cpl_pluginlist *, const cpl_plugin *) ; | cpl_error_code cpl_pluginlist_prepend(cpl_pluginlist *, const cpl_plugin *) ; | |||
cpl_plugin *cpl_pluginlist_get_first(cpl_pluginlist *); | cpl_plugin *cpl_pluginlist_get_first(cpl_pluginlist *); | |||
cpl_plugin *cpl_pluginlist_get_last(cpl_pluginlist *); | cpl_plugin *cpl_pluginlist_get_last(cpl_pluginlist *); | |||
End of changes. 4 change blocks. | ||||
7 lines changed or deleted | 7 lines changed or added | |||
cpl_polynomial.h | cpl_polynomial.h | |||
---|---|---|---|---|
/* $Id: cpl_polynomial.h,v 1.35 2010/03/11 17:17:18 llundin Exp $ | /* $Id: cpl_polynomial.h,v 1.37 2010/11/11 09:23: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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/03/11 17:17:18 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.35 $ | * $Revision: 1.37 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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) CPL_ATTR_ALLOC; | |||
#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 | CPL_ATTR_ALLOC; | |||
__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 *) CPL_ATTR_AL | |||
#ifdef CPL_HAVE_GNUC_UNUSED_RESULT | LOC; | |||
__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 *, | |||
skipping to change at line 131 | skipping to change at line 104 | |||
double cpl_polynomial_eval_1d(const cpl_polynomial *, double, double *); | double cpl_polynomial_eval_1d(const cpl_polynomial *, double, double *); | |||
double cpl_polynomial_eval_1d_diff(const cpl_polynomial *, double, double, | double cpl_polynomial_eval_1d_diff(const cpl_polynomial *, double, double, | |||
double *); | double *); | |||
cpl_error_code cpl_vector_fill_polynomial(cpl_vector *, const cpl_polynomia l *, | cpl_error_code cpl_vector_fill_polynomial(cpl_vector *, const cpl_polynomia l *, | |||
double, double); | double, double); | |||
cpl_error_code cpl_polynomial_solve_1d(const cpl_polynomial *, double, doub le *, | cpl_error_code cpl_polynomial_solve_1d(const cpl_polynomial *, double, doub le *, | |||
int); | int); | |||
cpl_error_code cpl_polynomial_shift_1d(cpl_polynomial *, int, double); | cpl_error_code cpl_polynomial_shift_1d(cpl_polynomial *, int, double); | |||
cpl_polynomial * cpl_polynomial_fit_1d_create(const cpl_vector *, | cpl_polynomial * cpl_polynomial_fit_1d_create(const cpl_vector *, | |||
const cpl_vector *, | const cpl_vector *, int, | |||
int, double *) | double *) CPL_ATTR_DEPRECATED | |||
#ifdef __GNUC__ | ; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
/* Basic operations on 2d-polynomials */ | /* Basic operations on 2d-polynomials */ | |||
cpl_polynomial * cpl_polynomial_fit_2d_create(cpl_bivector *, cpl_vector *, | cpl_polynomial * cpl_polynomial_fit_2d_create(cpl_bivector *, cpl_vector *, | |||
int, double *) | int, | |||
#ifdef __GNUC__ | double *) CPL_ATTR_DEPRECATED | |||
__attribute__((deprecated)) | ; | |||
#endif | ||||
; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 9 change blocks. | ||||
49 lines changed or deleted | 16 lines changed or added | |||
cpl_ppm.h | cpl_ppm.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/07/21 11:13:25 $ | * $Date: 2008/07/21 11:13:25 $ | |||
* $Revision: 1.9 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PPM_H | #ifndef CPL_PPM_H | |||
#define CPL_PPM_H | #define CPL_PPM_H | |||
#include <cpl_bivector.h> | #include <cpl_bivector.h> | |||
#include <cpl_array.h> | #include <cpl_array.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cpl_property.h | cpl_property.h | |||
---|---|---|---|---|
/* $Id: cpl_property.h,v 1.10 2007/07/17 09:37:33 scastro Exp $ | /* $Id: cpl_property.h,v 1.13 2010/12/22 11:32:12 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: llundin $ | |||
* $Date: 2007/07/17 09:37:33 $ | * $Date: 2010/12/22 11:32:12 $ | |||
* $Revision: 1.10 $ | * $Revision: 1.13 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PROPERTY_H | #ifndef CPL_PROPERTY_H | |||
#define CPL_PROPERTY_H | #define CPL_PROPERTY_H | |||
#include <cpl_error.h> | #include <cpl_error.h> | |||
#include <cpl_type.h> | #include <cpl_type.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 49 | skipping to change at line 49 | |||
* @brief | * @brief | |||
* The opaque property data type. | * The opaque property data type. | |||
*/ | */ | |||
typedef struct _cpl_property_ cpl_property; | typedef struct _cpl_property_ cpl_property; | |||
/* | /* | |||
* Create, copy and destroy operations. | * Create, copy and destroy operations. | |||
*/ | */ | |||
cpl_property *cpl_property_new(const char *name, cpl_type type); | cpl_property *cpl_property_new(const char *name, | |||
cpl_type type) CPL_ATTR_ALLOC; | ||||
cpl_property *cpl_property_new_array(const char *name, cpl_type type, | cpl_property *cpl_property_new_array(const char *name, cpl_type type, | |||
int size); | int size) CPL_ATTR_ALLOC; | |||
cpl_property *cpl_property_duplicate(const cpl_property *other); | cpl_property *cpl_property_duplicate(const cpl_property *other) CPL_ATTR_AL | |||
LOC; | ||||
void cpl_property_delete(cpl_property *self); | void cpl_property_delete(cpl_property *self); | |||
/* | /* | |||
* Non modifying operations | * Non modifying operations | |||
*/ | */ | |||
long cpl_property_get_size(const cpl_property *self); | long cpl_property_get_size(const cpl_property *self); | |||
cpl_type cpl_property_get_type(const cpl_property *self); | cpl_type cpl_property_get_type(const cpl_property *self); | |||
/* | /* | |||
skipping to change at line 76 | skipping to change at line 77 | |||
cpl_error_code cpl_property_set_name(cpl_property *self, const char *name); | cpl_error_code cpl_property_set_name(cpl_property *self, const char *name); | |||
cpl_error_code cpl_property_set_comment(cpl_property *self, | cpl_error_code cpl_property_set_comment(cpl_property *self, | |||
const char *comment); | const char *comment); | |||
cpl_error_code cpl_property_set_char(cpl_property *self, char value); | cpl_error_code cpl_property_set_char(cpl_property *self, char value); | |||
cpl_error_code cpl_property_set_bool(cpl_property *self, int value); | cpl_error_code cpl_property_set_bool(cpl_property *self, int value); | |||
cpl_error_code cpl_property_set_int(cpl_property *self, int value); | cpl_error_code cpl_property_set_int(cpl_property *self, int value); | |||
cpl_error_code cpl_property_set_long(cpl_property *self, long value); | cpl_error_code cpl_property_set_long(cpl_property *self, long value); | |||
cpl_error_code cpl_property_set_float(cpl_property *self, float value); | cpl_error_code cpl_property_set_float(cpl_property *self, float value); | |||
cpl_error_code cpl_property_set_double(cpl_property *self, double value); | cpl_error_code cpl_property_set_double(cpl_property *self, double value); | |||
cpl_error_code cpl_property_set_string(cpl_property *self, const char *valu e); | cpl_error_code cpl_property_set_string(cpl_property *self, const char *valu e); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_property_set_double_complex(cpl_property *self, | ||||
double complex value); | ||||
cpl_error_code cpl_property_set_float_complex(cpl_property *self, | ||||
float complex value); | ||||
#endif | ||||
/* | /* | |||
* Element access | * Element access | |||
*/ | */ | |||
const char *cpl_property_get_name(const cpl_property *self); | const char *cpl_property_get_name(const cpl_property *self); | |||
const char *cpl_property_get_comment(const cpl_property *self); | const char *cpl_property_get_comment(const cpl_property *self); | |||
char cpl_property_get_char(const cpl_property *self); | char cpl_property_get_char(const cpl_property *self); | |||
int cpl_property_get_bool(const cpl_property *self); | int cpl_property_get_bool(const cpl_property *self); | |||
int cpl_property_get_int(const cpl_property *self); | int cpl_property_get_int(const cpl_property *self); | |||
long cpl_property_get_long(const cpl_property *self); | long cpl_property_get_long(const cpl_property *self); | |||
float cpl_property_get_float(const cpl_property *self); | float cpl_property_get_float(const cpl_property *self); | |||
double cpl_property_get_double(const cpl_property *self); | double cpl_property_get_double(const cpl_property *self); | |||
const char *cpl_property_get_string(const cpl_property *self); | const char *cpl_property_get_string(const cpl_property *self); | |||
#ifdef _Complex_I | ||||
float complex cpl_property_get_float_complex(const cpl_property *self); | ||||
double complex cpl_property_get_double_complex(const cpl_property *self); | ||||
#endif | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_PROPERTY_H */ | #endif /* CPL_PROPERTY_H */ | |||
End of changes. 7 change blocks. | ||||
10 lines changed or deleted | 21 lines changed or added | |||
cpl_propertylist.h | cpl_propertylist.h | |||
---|---|---|---|---|
/* $Id: cpl_propertylist.h,v 1.21 2009/12/14 15:35:53 llundin Exp $ | /* $Id: cpl_propertylist.h,v 1.24 2010/12/22 11:32:13 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/14 15:35:53 $ | * $Date: 2010/12/22 11:32:13 $ | |||
* $Revision: 1.21 $ | * $Revision: 1.24 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_PROPERTYLIST_H | #ifndef CPL_PROPERTYLIST_H | |||
#define CPL_PROPERTYLIST_H | #define CPL_PROPERTYLIST_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_property.h> | #include <cpl_property.h> | |||
skipping to change at line 63 | skipping to change at line 63 | |||
*/ | */ | |||
typedef int (*cpl_propertylist_compare_func)(const cpl_property *first, | typedef int (*cpl_propertylist_compare_func)(const cpl_property *first, | |||
const cpl_property *second); | const cpl_property *second); | |||
/* | /* | |||
* Create, copy and destroy operations. | * Create, copy and destroy operations. | |||
*/ | */ | |||
cpl_propertylist * | cpl_propertylist * | |||
cpl_propertylist_new(void); | cpl_propertylist_new(void) CPL_ATTR_ALLOC; | |||
cpl_propertylist * | cpl_propertylist * | |||
cpl_propertylist_duplicate(const cpl_propertylist *other); | cpl_propertylist_duplicate(const cpl_propertylist *other) CPL_ATTR_ALLOC; | |||
void | void | |||
cpl_propertylist_delete(cpl_propertylist *self); | cpl_propertylist_delete(cpl_propertylist *self); | |||
/* | /* | |||
* Non modifying operations | * Non modifying operations | |||
*/ | */ | |||
long | long | |||
cpl_propertylist_get_size(const cpl_propertylist *self); | cpl_propertylist_get_size(const cpl_propertylist *self); | |||
skipping to change at line 116 | skipping to change at line 116 | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_set_float(cpl_propertylist *self, const char *name, | cpl_propertylist_set_float(cpl_propertylist *self, const char *name, | |||
float value); | float value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_set_double(cpl_propertylist *self, const char *name, | cpl_propertylist_set_double(cpl_propertylist *self, const char *name, | |||
double value); | double value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_set_string(cpl_propertylist *self, const char *name, | cpl_propertylist_set_string(cpl_propertylist *self, const char *name, | |||
const char *value); | const char *value); | |||
#ifdef _Complex_I | ||||
cpl_error_code | ||||
cpl_propertylist_set_float_complex(cpl_propertylist *self, const char *name | ||||
, | ||||
float complex value); | ||||
cpl_error_code | ||||
cpl_propertylist_set_double_complex(cpl_propertylist *self, const char *nam | ||||
e, | ||||
double complex value); | ||||
#endif | ||||
/* | /* | |||
* Element access | * Element access | |||
*/ | */ | |||
const cpl_property * | const cpl_property * | |||
cpl_propertylist_get_const(const cpl_propertylist *self, long position); | cpl_propertylist_get_const(const cpl_propertylist *self, long position); | |||
cpl_property * | cpl_property * | |||
cpl_propertylist_get(cpl_propertylist *self, long position); | cpl_propertylist_get(cpl_propertylist *self, long position); | |||
skipping to change at line 156 | skipping to change at line 165 | |||
float | float | |||
cpl_propertylist_get_float(const cpl_propertylist *self, const char *name); | cpl_propertylist_get_float(const cpl_propertylist *self, const char *name); | |||
double | double | |||
cpl_propertylist_get_double(const cpl_propertylist *self, const char *name) ; | cpl_propertylist_get_double(const cpl_propertylist *self, const char *name) ; | |||
const char * | const char * | |||
cpl_propertylist_get_string(const cpl_propertylist *self, const char *name) ; | cpl_propertylist_get_string(const cpl_propertylist *self, const char *name) ; | |||
#ifdef _Complex_I | ||||
float complex | ||||
cpl_propertylist_get_float_complex(const cpl_propertylist *self, | ||||
const char *name); | ||||
double complex | ||||
cpl_propertylist_get_double_complex(const cpl_propertylist *self, | ||||
const char *name); | ||||
#endif | ||||
/* | /* | |||
* Inserting and removing elements | * Inserting and removing elements | |||
*/ | */ | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_char(cpl_propertylist *self, const char *here, | cpl_propertylist_insert_char(cpl_propertylist *self, const char *here, | |||
const char *name, char value); | const char *name, char value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_bool(cpl_propertylist *self, const char *here, | cpl_propertylist_insert_bool(cpl_propertylist *self, const char *here, | |||
skipping to change at line 188 | skipping to change at line 207 | |||
const char *name, float value); | const char *name, float value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_double(cpl_propertylist *self, const char *here, | cpl_propertylist_insert_double(cpl_propertylist *self, const char *here, | |||
const char *name, double value); | const char *name, double value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_string(cpl_propertylist *self, const char *here, | cpl_propertylist_insert_string(cpl_propertylist *self, const char *here, | |||
const char *name, const char *value); | const char *name, const char *value); | |||
#ifdef _Complex_I | ||||
cpl_error_code | ||||
cpl_propertylist_insert_float_complex(cpl_propertylist *self, const char *h | ||||
ere, | ||||
const char *name, float complex value | ||||
); | ||||
cpl_error_code | ||||
cpl_propertylist_insert_double_complex(cpl_propertylist *self, const char * | ||||
here, | ||||
const char *name, double complex val | ||||
ue); | ||||
#endif | ||||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_after_char(cpl_propertylist *self, const char *afte r, | cpl_propertylist_insert_after_char(cpl_propertylist *self, const char *afte r, | |||
const char *name, char value); | const char *name, char value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_after_bool(cpl_propertylist *self, const char *afte r, | cpl_propertylist_insert_after_bool(cpl_propertylist *self, const char *afte r, | |||
const char *name, int value); | const char *name, int value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_after_int(cpl_propertylist *self, const char *after , | cpl_propertylist_insert_after_int(cpl_propertylist *self, const char *after , | |||
skipping to change at line 216 | skipping to change at line 245 | |||
const char *name, float value); | const char *name, float value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_after_double(cpl_propertylist *self, const char *af ter, | cpl_propertylist_insert_after_double(cpl_propertylist *self, const char *af ter, | |||
const char *name, double value); | const char *name, double value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_insert_after_string(cpl_propertylist *self, const char *af ter, | cpl_propertylist_insert_after_string(cpl_propertylist *self, const char *af ter, | |||
const char *name, const char *value); | const char *name, const char *value); | |||
#ifdef _Complex_I | ||||
cpl_error_code | ||||
cpl_propertylist_insert_after_float_complex(cpl_propertylist *self, | ||||
const char *after, const char * | ||||
name, | ||||
float complex value); | ||||
cpl_error_code | ||||
cpl_propertylist_insert_after_double_complex(cpl_propertylist *self, | ||||
const char *after, | ||||
const char *name, | ||||
double complex value); | ||||
#endif | ||||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_prepend_char(cpl_propertylist *self, const char *name, | cpl_propertylist_prepend_char(cpl_propertylist *self, const char *name, | |||
char value); | char value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_prepend_bool(cpl_propertylist *self, const char *name, | cpl_propertylist_prepend_bool(cpl_propertylist *self, const char *name, | |||
int value); | int value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_prepend_int(cpl_propertylist *self, const char *name, | cpl_propertylist_prepend_int(cpl_propertylist *self, const char *name, | |||
int value); | int value); | |||
skipping to change at line 242 | skipping to change at line 284 | |||
cpl_propertylist_prepend_float(cpl_propertylist *self, const char *name, | cpl_propertylist_prepend_float(cpl_propertylist *self, const char *name, | |||
float value); | float value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_prepend_double(cpl_propertylist *self, const char *name, | cpl_propertylist_prepend_double(cpl_propertylist *self, const char *name, | |||
double value); | double value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_prepend_string(cpl_propertylist *self, const char *name, | cpl_propertylist_prepend_string(cpl_propertylist *self, const char *name, | |||
const char *value); | const char *value); | |||
#ifdef _Complex_I | ||||
cpl_error_code | ||||
cpl_propertylist_prepend_float_complex(cpl_propertylist *self, | ||||
const char *name, | ||||
float complex value); | ||||
cpl_error_code | ||||
cpl_propertylist_prepend_double_complex(cpl_propertylist *self, | ||||
const char *name, | ||||
double complex value); | ||||
#endif | ||||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_append_char(cpl_propertylist *self, const char *name, | cpl_propertylist_append_char(cpl_propertylist *self, const char *name, | |||
char value); | char value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_append_bool(cpl_propertylist *self, const char *name, | cpl_propertylist_append_bool(cpl_propertylist *self, const char *name, | |||
int value); | int value); | |||
cpl_error_code | cpl_error_code | |||
skipping to change at line 271 | skipping to change at line 324 | |||
float value); | float value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_append_double(cpl_propertylist *self, const char *name, | cpl_propertylist_append_double(cpl_propertylist *self, const char *name, | |||
double value); | double value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_append_string(cpl_propertylist *self, const char *name, | cpl_propertylist_append_string(cpl_propertylist *self, const char *name, | |||
const char *value); | const char *value); | |||
#ifdef _Complex_I | ||||
cpl_error_code | ||||
cpl_propertylist_append_float_complex(cpl_propertylist *self, const char *n | ||||
ame, | ||||
float complex value); | ||||
cpl_error_code | ||||
cpl_propertylist_append_double_complex(cpl_propertylist *self, const char * | ||||
name, | ||||
double complex value); | ||||
#endif | ||||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_append(cpl_propertylist *self, | cpl_propertylist_append(cpl_propertylist *self, | |||
const cpl_propertylist *other); | const cpl_propertylist *other); | |||
int | int | |||
cpl_propertylist_erase(cpl_propertylist *self, const char *name); | cpl_propertylist_erase(cpl_propertylist *self, const char *name); | |||
int | int | |||
cpl_propertylist_erase_regexp(cpl_propertylist *self, const char *regexp, | cpl_propertylist_erase_regexp(cpl_propertylist *self, const char *regexp, | |||
int invert); | int invert); | |||
skipping to change at line 311 | skipping to change at line 374 | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_update_float(cpl_propertylist *self, const char *name, | cpl_propertylist_update_float(cpl_propertylist *self, const char *name, | |||
float value); | float value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_update_double(cpl_propertylist *self, const char *name, | cpl_propertylist_update_double(cpl_propertylist *self, const char *name, | |||
double value); | double value); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_update_string(cpl_propertylist *self, const char *name, | cpl_propertylist_update_string(cpl_propertylist *self, const char *name, | |||
const char *value); | const char *value); | |||
#ifdef _Complex_I | ||||
cpl_error_code | ||||
cpl_propertylist_update_float_complex(cpl_propertylist *self, const char *n | ||||
ame, | ||||
float complex value); | ||||
cpl_error_code | ||||
cpl_propertylist_update_double_complex(cpl_propertylist *self, const char * | ||||
name, | ||||
double complex value); | ||||
#endif | ||||
/* | /* | |||
* Working on properties | * Working on properties | |||
*/ | */ | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_copy_property(cpl_propertylist *self, | cpl_propertylist_copy_property(cpl_propertylist *self, | |||
const cpl_propertylist *other, | const cpl_propertylist *other, | |||
const char *name); | const char *name); | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_copy_property_regexp(cpl_propertylist *self, | cpl_propertylist_copy_property_regexp(cpl_propertylist *self, | |||
skipping to change at line 354 | skipping to change at line 426 | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_sort(cpl_propertylist *self, | cpl_propertylist_sort(cpl_propertylist *self, | |||
cpl_propertylist_compare_func compare); | cpl_propertylist_compare_func compare); | |||
/* | /* | |||
* Loading, saving and conversion operations. | * Loading, saving and conversion operations. | |||
*/ | */ | |||
cpl_propertylist * | cpl_propertylist * | |||
cpl_propertylist_load(const char *name, int position); | cpl_propertylist_load(const char *name, int position) CPL_ATTR_ALLOC; | |||
cpl_propertylist * | cpl_propertylist * | |||
cpl_propertylist_load_regexp(const char *name, int position, | cpl_propertylist_load_regexp(const char *name, int position, | |||
const char *regexp, int invert); | const char *regexp, int invert) CPL_ATTR_ALLOC ; | |||
cpl_error_code | cpl_error_code | |||
cpl_propertylist_save(const cpl_propertylist * self, const char * filename, | cpl_propertylist_save(const cpl_propertylist * self, const char * filename, | |||
unsigned mode) ; | unsigned mode) ; | |||
void cpl_propertylist_dump(const cpl_propertylist *self, FILE *stream); | void cpl_propertylist_dump(const cpl_propertylist *self, FILE *stream); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_PROPERTYLIST_H */ | #endif /* CPL_PROPERTYLIST_H */ | |||
End of changes. 14 change blocks. | ||||
9 lines changed or deleted | 92 lines changed or added | |||
cpl_recipe.h | cpl_recipe.h | |||
---|---|---|---|---|
/* $Id: cpl_recipe.h,v 1.6 2006/10/31 14:54:34 rpalsa Exp $ | /* $Id: cpl_recipe.h,v 1.7 2010/11/11 09:23: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-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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: llundin $ | |||
* $Date: 2006/10/31 14:54:34 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.6 $ | * $Revision: 1.7 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_RECIPE_H | #ifndef CPL_RECIPE_H | |||
#define CPL_RECIPE_H | #define CPL_RECIPE_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_plugin.h> | #include <cpl_plugin.h> | |||
#include <cpl_frameset.h> | #include <cpl_frameset.h> | |||
#include <cpl_parameterlist.h> | #include <cpl_parameterlist.h> | |||
#include <cpl_recipeconfig.h> | #include <cpl_recipeconfig.h> | |||
End of changes. 3 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
cpl_recipeconfig.h | cpl_recipeconfig.h | |||
---|---|---|---|---|
/* $Id: cpl_recipeconfig.h,v 1.2 2007/07/16 08:52:52 rpalsa Exp $ | /* $Id: cpl_recipeconfig.h,v 1.4 2010/11/11 10:31:52 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: llundin $ | |||
* $Date: 2007/07/16 08:52:52 $ | * $Date: 2010/11/11 10:31:52 $ | |||
* $Revision: 1.2 $ | * $Revision: 1.4 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_RECIPECONFIG_H | #ifndef CPL_RECIPECONFIG_H | |||
#define CPL_RECIPECONFIG_H | #define CPL_RECIPECONFIG_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#include <cpl_framedata.h> | #include <cpl_framedata.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
skipping to change at line 49 | skipping to change at line 49 | |||
* @brief | * @brief | |||
* The opaque recipe configuration object type. | * The opaque recipe configuration object type. | |||
*/ | */ | |||
typedef struct _cpl_recipeconfig_ cpl_recipeconfig; | typedef struct _cpl_recipeconfig_ cpl_recipeconfig; | |||
/* | /* | |||
* Create, copy and destroy operations | * Create, copy and destroy operations | |||
*/ | */ | |||
cpl_recipeconfig* cpl_recipeconfig_new(void); | cpl_recipeconfig* cpl_recipeconfig_new(void) CPL_ATTR_ALLOC; | |||
void cpl_recipeconfig_delete(cpl_recipeconfig* self); | void cpl_recipeconfig_delete(cpl_recipeconfig* self); | |||
void cpl_recipeconfig_clear(cpl_recipeconfig* self); | void cpl_recipeconfig_clear(cpl_recipeconfig* self); | |||
/* | /* | |||
* Non modifying operations | * Non modifying operations | |||
*/ | */ | |||
char** cpl_recipeconfig_get_tags(const cpl_recipeconfig* self); | char** cpl_recipeconfig_get_tags(const cpl_recipeconfig* self); | |||
char** cpl_recipeconfig_get_inputs(const cpl_recipeconfig* self, | char** cpl_recipeconfig_get_inputs(const cpl_recipeconfig* self, | |||
const char* tag); | const char* tag); | |||
End of changes. 4 change blocks. | ||||
7 lines changed or deleted | 7 lines changed or added | |||
cpl_recipedefine.h | cpl_recipedefine.h | |||
---|---|---|---|---|
/* $Id: cpl_recipedefine.h,v 1.8 2010/03/11 15:03:30 llundin Exp $ | /* $Id: cpl_recipedefine.h,v 1.13 2011/01/03 15:39:21 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: 2010/03/11 15:03:30 $ | * $Date: 2011/01/03 15:39:21 $ | |||
* $Revision: 1.8 $ | * $Revision: 1.13 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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> | |||
/*------------------------------------------------------------------------- | CPL_BEGIN_DECLS | |||
---- | ||||
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 | ||||
/* Needed to concatenate two macro arguments */ | ||||
#define CPL_CONCAT(a,b) a ## _ ## b | ||||
#define CPL_CONCAT2X(a,b) CPL_CONCAT(a,b) | ||||
#endif | ||||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_recipedefine | @ingroup cpl_recipedefine | |||
@brief Generate the recipe copyright and license text | @brief Generate the recipe copyright and license text (GPL v.2) | |||
@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 * eso_gpl_license = cpl_get_license(PACKAGE_NAME, "2005, 20 08"); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_get_license(PACKAGE_NAME, YEAR) \ | #define cpl_get_license(PACKAGE_NAME, YEAR) \ | |||
"This file is part of the " PACKAGE_NAME "\n" \ | "This file is part of the " PACKAGE_NAME "\n" \ | |||
"Copyright (C) " YEAR " European Southern Observatory\n" \ | "Copyright (C) " YEAR " European Southern Observatory\n" \ | |||
"\n" \ | "\n" \ | |||
"This program is free software; you can redistribute it and/or modify\n " \ | "This program is free software; you can redistribute it and/or modify\n " \ | |||
skipping to change at line 95 | skipping to change at line 80 | |||
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" \ | "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" \ | |||
"GNU General Public License for more details.\n" \ | "GNU General Public License for more details.\n" \ | |||
"\n" \ | "\n" \ | |||
"You should have received a copy of the GNU General Public License\n" \ | "You should have received a copy of the GNU General Public License\n" \ | |||
"along with this program; if not, write to the Free Software\n" \ | "along with this program; if not, write to the Free Software\n" \ | |||
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, \n" \ | "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, \n" \ | |||
"MA 02111-1307 USA" | "MA 02111-1307 USA" | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_recipedefine | @ingroup cpl_recipedefine | |||
@brief Define a standard CPL recipe | @brief Define a standard CPL recipe | |||
@param RECIPE_NAME The name as an identifier | @param RECIPE_NAME The name as an identifier | |||
@param RECIPE_VERSION The binary version number | @param RECIPE_VERSION The binary version number | |||
@param RECIPE_FILL_PARAMS A function call to fill the recipe paramete | @param RECIPE_AUTHOR The author as a string literal | |||
rlist | @param RECIPE_EMAIL The contact email as a string literal | |||
Must evaluate to zero if and only if succes | @param RECIPE_YEAR The copyright year as a string literal | |||
sful | @param RECIPE_SYNOPSIS The synopsis as a string literal | |||
@param RECIPE_AUTHOR The author as a string literal | @param RECIPE_DESCRIPTION The man-page as a string literal | |||
@param RECIPE_AUTHOR_EMAIL The author email as a string literal | ||||
@param RECIPE_YEAR The copyright year as a string literal | ||||
@param RECIPE_SYNOPSIS The synopsis as a string literal | ||||
@param RECIPE_DESCRIPTION The man-page as a string literal | ||||
A CPL-based recipe may use this macro to define its four mandatory | A CPL-based recipe may use this macro to define its four mandatory | |||
functions: cpl_plugin_get_info(), \<recipe\>_create(), \<recipe\>_exec() and | functions: cpl_plugin_get_info(), \<recipe\>_create(), \<recipe\>_exec() and | |||
\<recipe\>_destroy(), as well as declaring the actual data reduction | \<recipe\>_destroy(), as well as declaring the actual data reduction | |||
function, \<recipe\>() as | function, \<recipe\>() as | |||
@code | @code | |||
static int <recipe>(cpl_frameset *, const cpl_parameterlist *); | static int <recipe>(cpl_frameset *, const cpl_parameterlist *); | |||
@endcode | @endcode | |||
This may be done by defining a macro, e.g. in my_recipe.h: | The macro also declares the recipe-specific function that fills the | |||
recipe parameterlist with the supported parameters as | ||||
@code | ||||
static cpl_error_code <recipe>_fill_parameterlist(cpl_parameterlist *s | ||||
elf); | ||||
@endcode | ||||
A recipe that invokes cpl_recipedefine() must define this function. | ||||
The macro cpl_recipedefine() may be used by defining a macro, e.g. in | ||||
my_recipe.h: | ||||
@code | @code | |||
#define MY_RECIPE_DEFINE(NAME, FILL_PARAMS_FUNC, SYNOPSIS, DESCRIPTION) | #define MY_RECIPE_DEFINE(NAME, SYNOPSIS, DESCRIPTION) | |||
\ | \ | |||
CPL_RECIPE_DEFINE(NAME, MY_BINARY_VERSION, | cpl_recipe_define(NAME, MY_BINARY_VERSION, | |||
\ | \ | |||
FILL_PARAMS_FUNC(recipe->parameters), | ||||
\ | ||||
"Firstname Lastname", "2006, 2008", SYNOPSIS, DESCRIPTION) | "Firstname Lastname", "2006, 2008", SYNOPSIS, DESCRIPTION) | |||
@endcode | @endcode | |||
- and then by invoking this macro in each recipe: | - and then by invoking this macro in each recipe: | |||
@code | @code | |||
#include "my_recipe.h" | #include "my_recipe.h" | |||
MY_RECIPE_DEFINE(instrume_img_dark, | MY_RECIPE_DEFINE(instrume_img_dark, | |||
instrume_img_dark_fill_parameterlist, | ||||
"Dark recipe", | "Dark recipe", | |||
"instrume_img_dark -- imaging dark recipe.\n" | "instrume_img_dark -- imaging dark recipe.\n" | |||
" ... recipe man-page\n") | " ... recipe man-page\n"); | |||
static | ||||
cpl_error_code instrume_img_dark_fill_parameterlist(cpl_parameterlist *s | ||||
elf); | ||||
{ | ||||
// Fill the parameterlist with the parameters supported by the recipe | ||||
. | ||||
retun CPL_ERROR_NONE; | ||||
} | ||||
@endcode | @endcode | |||
where instrume_img_dark_fill_parameterlist() is a recipe specific functi | */ | |||
on, | /*------------------------------------------------------------------------- | |||
that takes an empty parameterlist and fills it with those parameters tha | ---*/ | |||
t | ||||
the recipe supports. | #define cpl_recipe_define(RECIPE_NAME, RECIPE_VERSION, RECIPE_AUTHOR, | |||
\ | ||||
RECIPE_EMAIL, RECIPE_YEAR, | ||||
\ | ||||
RECIPE_SYNOPSIS, RECIPE_DESCRIPTION) | ||||
\ | ||||
\ | ||||
/* The prototypes of the recipe create, exec and destroy functions */ | ||||
\ | ||||
static int CPL_CONCAT2X(RECIPE_NAME,create) (cpl_plugin * plugin); | ||||
\ | ||||
static int CPL_CONCAT2X(RECIPE_NAME,exec) (cpl_plugin * plugin); | ||||
\ | ||||
static int CPL_CONCAT2X(RECIPE_NAME,destroy)(cpl_plugin * plugin); | ||||
\ | ||||
\ | ||||
/* The prototype of the function called by the recipe exec function */ | ||||
\ | ||||
static int RECIPE_NAME(cpl_frameset *, const cpl_parameterlist *); | ||||
\ | ||||
\ | ||||
/* The prototype of the parameterlist filler function */ | ||||
\ | ||||
static cpl_error_code CPL_CONCAT2X(RECIPE_NAME,fill_parameterlist) | ||||
\ | ||||
(cpl_parameterlist *); | ||||
\ | ||||
\ | ||||
int cpl_plugin_get_info(cpl_pluginlist * list) | ||||
\ | ||||
{ | ||||
\ | ||||
/* Propagate error, if any. Return 1 on failure */ | ||||
\ | ||||
return cpl_recipedefine_init(list, CPL_VERSION_CODE, | ||||
\ | ||||
RECIPE_VERSION, | ||||
\ | ||||
#RECIPE_NAME, | ||||
\ | ||||
RECIPE_SYNOPSIS, | ||||
\ | ||||
RECIPE_DESCRIPTION, | ||||
\ | ||||
RECIPE_AUTHOR, | ||||
\ | ||||
RECIPE_EMAIL, | ||||
\ | ||||
cpl_get_license(PACKAGE_NAME, RECIPE_YEAR), | ||||
\ | ||||
CPL_CONCAT2X(RECIPE_NAME,create), | ||||
\ | ||||
CPL_CONCAT2X(RECIPE_NAME,exec), | ||||
\ | ||||
CPL_CONCAT2X(RECIPE_NAME,destroy)) | ||||
\ | ||||
? ((void)cpl_error_set_where(cpl_func), 1) : 0; | ||||
\ | ||||
} | ||||
\ | ||||
\ | ||||
/* The definition of the recipe create function */ | ||||
\ | ||||
static int CPL_CONCAT2X(RECIPE_NAME,create)(cpl_plugin * plugin) | ||||
\ | ||||
{ | ||||
\ | ||||
cpl_recipe * recipe = (cpl_recipe *)plugin; /* Needed for the fill | ||||
*/ \ | ||||
cpl_errorstate prestate = cpl_errorstate_get(); /* To check the fill */ | ||||
\ | ||||
\ | ||||
/* Propagate error, if any */ | ||||
\ | ||||
/* - Need two function calls to ensure plugin validity before the fill | ||||
*/ \ | ||||
return cpl_recipedefine_create(plugin) | ||||
\ | ||||
|| cpl_recipedefine_create_is_ok(prestate, | ||||
\ | ||||
CPL_CONCAT2X(RECIPE_NAME,fill_parameterlist)(recipe->parameter | ||||
s)) \ | ||||
? (int)cpl_error_set_where(cpl_func) : 0; | ||||
\ | ||||
} | ||||
\ | ||||
\ | ||||
/* The definition of the recipe exec function */ | ||||
\ | ||||
static int CPL_CONCAT2X(RECIPE_NAME,exec)(cpl_plugin * plugin) | ||||
\ | ||||
{ | ||||
\ | ||||
/* Propagate error, if any */ | ||||
\ | ||||
return cpl_recipedefine_exec(plugin, RECIPE_NAME) | ||||
\ | ||||
? (int)cpl_error_set_where(cpl_func) : 0; | ||||
\ | ||||
} | ||||
\ | ||||
\ | ||||
/* The definition of the recipe destroy function */ | ||||
\ | ||||
static int CPL_CONCAT2X(RECIPE_NAME,destroy)(cpl_plugin * plugin) | ||||
\ | ||||
{ | ||||
\ | ||||
/* Propagate error, if any */ | ||||
\ | ||||
return cpl_recipedefine_destroy(plugin) | ||||
\ | ||||
? (int)cpl_error_set_where(cpl_func) : 0; | ||||
\ | ||||
} | ||||
\ | ||||
\ | ||||
/* This dummy declaration requires the macro to be invoked as if it was | ||||
\ | ||||
a kind of function declaration, with a terminating ; */ | ||||
\ | ||||
extern int cpl_plugin_end | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
@hideinitializer | ||||
@ingroup cpl_recipedefine | ||||
@brief Define a standard CPL recipe | ||||
@param RECIPE_NAME The name as an identifier | ||||
@param RECIPE_VERSION The binary version number | ||||
@param RECIPE_FILL_PARAMS A function call to fill the recipe parameter | ||||
list. | ||||
Must evaluate to zero if and only if success | ||||
ful | ||||
@param RECIPE_AUTHOR The author as a string literal | ||||
@param RECIPE_AUTHOR_EMAIL The author email as a string literal | ||||
@param RECIPE_YEAR The copyright year as a string literal | ||||
@param RECIPE_SYNOPSIS The synopsis as a string literal | ||||
@param RECIPE_DESCRIPTION The man-page as a string literal | ||||
@deprecated Use cpl_recipe_define() | ||||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define CPL_RECIPE_DEFINE(RECIPE_NAME, RECIPE_VERSION, RECIPE_FILL_PARAMS, \ | #define CPL_RECIPE_DEFINE(RECIPE_NAME, RECIPE_VERSION, RECIPE_FILL_PARAMS, \ | |||
RECIPE_AUTHOR, RECIPE_AUTHOR_EMAIL, RECIPE_YEAR, \ | RECIPE_AUTHOR, RECIPE_AUTHOR_EMAIL, RECIPE_YEAR, \ | |||
RECIPE_SYNOPSIS, RECIPE_DESCRIPTION) \ | RECIPE_SYNOPSIS, RECIPE_DESCRIPTION) \ | |||
\ | \ | |||
/* The prototypes of the recipe create, exec and destroy functions */ \ | /* The prototypes of the recipe create, exec and destroy functions */ \ | |||
static int CPL_CONCAT2X(RECIPE_NAME,create) (cpl_plugin * plugin); \ | static int CPL_CONCAT2X(RECIPE_NAME,create) (cpl_plugin * plugin); \ | |||
skipping to change at line 219 | skipping to change at line 302 | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
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 | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(9, 10, 11, 12))) | __attribute__((nonnull(9, 10, 11, 12))) | |||
#endif | #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, cpl_error_code ); | |||
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 *); | |||
CPL_END_DECLS | ||||
#endif | #endif | |||
/* end of cpl_recipedefine.h */ | /* end of cpl_recipedefine.h */ | |||
End of changes. 16 change blocks. | ||||
54 lines changed or deleted | 203 lines changed or added | |||
cpl_stats.h | cpl_stats.h | |||
---|---|---|---|---|
/* $Id: cpl_stats.h,v 1.11 2008/10/17 14:24:01 llundin Exp $ | /* $Id: cpl_stats.h,v 1.13 2010/11/11 15:28:46 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2008/10/17 14:24:01 $ | * $Date: 2010/11/11 15:28:46 $ | |||
* $Revision: 1.11 $ | * $Revision: 1.13 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_STATS_H | #ifndef CPL_STATS_H | |||
#define CPL_STATS_H | #define CPL_STATS_H | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Includes | Includes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#include <stdio.h> | ||||
#include "cpl_image.h" | #include "cpl_image.h" | |||
#include <stdio.h> | ||||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Defines | Defines | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
/* 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 */ | |||
#define CPL_STATS_MIN ((unsigned) 1 << 1) | #define CPL_STATS_MIN ((unsigned) 1 << 1) | |||
#define CPL_STATS_MAX ((unsigned) 1 << 2) | #define CPL_STATS_MAX ((unsigned) 1 << 2) | |||
#define CPL_STATS_MEAN ((unsigned) 1 << 3) | #define CPL_STATS_MEAN ((unsigned) 1 << 3) | |||
#define CPL_STATS_MEDIAN ((unsigned) 1 << 4) | #define CPL_STATS_MEDIAN ((unsigned) 1 << 4) | |||
skipping to change at line 90 | skipping to change at line 90 | |||
double cpl_stats_get_centroid_y(const cpl_stats *); | double cpl_stats_get_centroid_y(const cpl_stats *); | |||
int cpl_stats_get_min_x(const cpl_stats *); | int cpl_stats_get_min_x(const cpl_stats *); | |||
int cpl_stats_get_min_y(const cpl_stats *); | int cpl_stats_get_min_y(const cpl_stats *); | |||
int cpl_stats_get_max_x(const cpl_stats *); | int cpl_stats_get_max_x(const cpl_stats *); | |||
int cpl_stats_get_max_y(const cpl_stats *); | int cpl_stats_get_max_y(const cpl_stats *); | |||
int cpl_stats_get_npix(const cpl_stats *); | int cpl_stats_get_npix(const cpl_stats *); | |||
void cpl_stats_delete(cpl_stats *); | void cpl_stats_delete(cpl_stats *); | |||
/* Statistics computations */ | /* Statistics computations */ | |||
cpl_stats * cpl_stats_new_from_image(const cpl_image *, unsigned); | cpl_stats * cpl_stats_new_from_image(const cpl_image *, | |||
unsigned) CPL_ATTR_ALLOC; | ||||
cpl_stats * cpl_stats_new_from_image_window(const cpl_image *, unsigned, in t, | cpl_stats * cpl_stats_new_from_image_window(const cpl_image *, unsigned, in t, | |||
int, int, int); | int, int, int) CPL_ATTR_ALLOC; | |||
cpl_error_code cpl_stats_dump(const cpl_stats *, unsigned, FILE *); | cpl_error_code cpl_stats_dump(const cpl_stats *, unsigned, FILE *); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
9 lines changed or deleted | 10 lines changed or added | |||
cpl_table.h | cpl_table.h | |||
---|---|---|---|---|
/* $Id: cpl_table.h,v 1.60 2009/12/07 10:38:44 cizzo Exp $ | /* $Id: cpl_table.h,v 1.65 2011/01/12 09:28:46 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-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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: cizzo $ | * $Author: cizzo $ | |||
* $Date: 2009/12/07 10:38:44 $ | * $Date: 2011/01/12 09:28:46 $ | |||
* $Revision: 1.60 $ | * $Revision: 1.65 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_TABLE_H | #ifndef CPL_TABLE_H | |||
#define CPL_TABLE_H | #define CPL_TABLE_H | |||
#include <stdio.h> | #include <stdio.h> | |||
#include "cpl_io.h" | #include "cpl_io.h" | |||
#include "cpl_type.h" | #include "cpl_type.h" | |||
#include "cpl_propertylist.h" | #include "cpl_propertylist.h" | |||
skipping to change at line 72 | skipping to change at line 72 | |||
cpl_error_code cpl_table_new_column(cpl_table *, const char *, cpl_type); | cpl_error_code cpl_table_new_column(cpl_table *, const char *, cpl_type); | |||
cpl_error_code cpl_table_new_column_array(cpl_table *, const char *, | cpl_error_code cpl_table_new_column_array(cpl_table *, const char *, | |||
cpl_type, int); | cpl_type, int); | |||
cpl_error_code cpl_table_set_column_savetype(cpl_table *, | cpl_error_code cpl_table_set_column_savetype(cpl_table *, | |||
const char *name, cpl_type); | const char *name, cpl_type); | |||
cpl_error_code cpl_table_wrap_int(cpl_table *, int *, const char *); | cpl_error_code cpl_table_wrap_int(cpl_table *, int *, const char *); | |||
cpl_error_code cpl_table_wrap_float(cpl_table *, float *, const char *); | cpl_error_code cpl_table_wrap_float(cpl_table *, float *, const char *); | |||
cpl_error_code cpl_table_wrap_double(cpl_table *, double *, const char *); | cpl_error_code cpl_table_wrap_double(cpl_table *, double *, const char *); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_table_wrap_float_complex(cpl_table *, | ||||
float complex *, const char *); | ||||
cpl_error_code cpl_table_wrap_double_complex(cpl_table *, | ||||
double complex *, const char * | ||||
); | ||||
#endif | ||||
cpl_error_code cpl_table_wrap_string(cpl_table *, char **, const char *); | cpl_error_code cpl_table_wrap_string(cpl_table *, char **, const char *); | |||
void *cpl_table_unwrap(cpl_table *, const char *); | void *cpl_table_unwrap(cpl_table *, const char *); | |||
cpl_error_code cpl_table_copy_structure(cpl_table *, const cpl_table *); | cpl_error_code cpl_table_copy_structure(cpl_table *, const cpl_table *); | |||
void cpl_table_delete(cpl_table *); | void cpl_table_delete(cpl_table *); | |||
/* | /* | |||
* Methods: | * Methods: | |||
skipping to change at line 113 | skipping to change at line 119 | |||
int *cpl_table_get_data_int(cpl_table *, const char *name); | int *cpl_table_get_data_int(cpl_table *, const char *name); | |||
const int *cpl_table_get_data_int_const(const cpl_table *, | const int *cpl_table_get_data_int_const(const cpl_table *, | |||
const char *name); | const char *name); | |||
float *cpl_table_get_data_float(cpl_table *, const char *name); | float *cpl_table_get_data_float(cpl_table *, const char *name); | |||
const float *cpl_table_get_data_float_const(const cpl_table *, | const float *cpl_table_get_data_float_const(const cpl_table *, | |||
const char *name); | const char *name); | |||
double *cpl_table_get_data_double(cpl_table *, const char *name); | double *cpl_table_get_data_double(cpl_table *, const char *name); | |||
const double *cpl_table_get_data_double_const(const cpl_table *, | const double *cpl_table_get_data_double_const(const cpl_table *, | |||
const char *name); | const char *name); | |||
#ifdef _Complex_I | ||||
float complex *cpl_table_get_data_float_complex(cpl_table *, const char *na | ||||
me); | ||||
const float complex *cpl_table_get_data_float_complex_const(const cpl_table | ||||
*, | ||||
const char *nam | ||||
e); | ||||
double complex *cpl_table_get_data_double_complex(cpl_table *, const char * | ||||
); | ||||
const double complex *cpl_table_get_data_double_complex_const(const cpl_tab | ||||
le *, | ||||
const char *) | ||||
; | ||||
#endif | ||||
char **cpl_table_get_data_string(cpl_table *, const char *name); | char **cpl_table_get_data_string(cpl_table *, const char *name); | |||
const char **cpl_table_get_data_string_const(const cpl_table *, | const char **cpl_table_get_data_string_const(const cpl_table *, | |||
const char *name); | const char *name); | |||
cpl_array **cpl_table_get_data_array(cpl_table *, const char *); | cpl_array **cpl_table_get_data_array(cpl_table *, const char *); | |||
const cpl_array **cpl_table_get_data_array_const(const cpl_table *, | const cpl_array **cpl_table_get_data_array_const(const cpl_table *, | |||
const char *); | const char *); | |||
double cpl_table_get(const cpl_table *, const char *, int, int *null); | double cpl_table_get(const cpl_table *, const char *, int, int *null); | |||
int cpl_table_get_int(const cpl_table *, const char *, int, int *null); | int cpl_table_get_int(const cpl_table *, const char *, int, int *null); | |||
float cpl_table_get_float(const cpl_table *, const char *, int, int *null); | float cpl_table_get_float(const cpl_table *, const char *, int, int *null); | |||
double cpl_table_get_double(const cpl_table *, const char *, int, int *null ); | double cpl_table_get_double(const cpl_table *, const char *, int, int *null ); | |||
#ifdef _Complex_I | ||||
double complex cpl_table_get_complex(const cpl_table *, | ||||
const char *, int, int *); | ||||
float complex cpl_table_get_float_complex(const cpl_table *, | ||||
const char *, int, int *null); | ||||
double complex cpl_table_get_double_complex(const cpl_table *, | ||||
const char *, int, int *null); | ||||
#endif | ||||
const char *cpl_table_get_string(const cpl_table *, const char *, int); | const char *cpl_table_get_string(const cpl_table *, const char *, int); | |||
const cpl_array *cpl_table_get_array(const cpl_table *, const char *, int); | const cpl_array *cpl_table_get_array(const cpl_table *, const char *, int); | |||
cpl_error_code cpl_table_set(cpl_table *, const char *, int, double); | cpl_error_code cpl_table_set(cpl_table *, const char *, int, double); | |||
cpl_error_code cpl_table_set_int(cpl_table *, const char *, int, int); | cpl_error_code cpl_table_set_int(cpl_table *, const char *, int, int); | |||
cpl_error_code cpl_table_set_float(cpl_table *, const char *, int, float); | cpl_error_code cpl_table_set_float(cpl_table *, const char *, int, float); | |||
cpl_error_code cpl_table_set_double(cpl_table *, const char *, int, double) ; | cpl_error_code cpl_table_set_double(cpl_table *, const char *, int, double) ; | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_table_set_complex(cpl_table *, | ||||
const char *, int, double complex); | ||||
cpl_error_code cpl_table_set_float_complex(cpl_table *, | ||||
const char *, int, float complex | ||||
); | ||||
cpl_error_code cpl_table_set_double_complex(cpl_table *, | ||||
const char *, int, double compl | ||||
ex); | ||||
#endif | ||||
cpl_error_code cpl_table_set_string(cpl_table *, const char *, int, | cpl_error_code cpl_table_set_string(cpl_table *, const char *, int, | |||
const char *); | const char *); | |||
cpl_error_code cpl_table_set_array(cpl_table *, const char *, int, | cpl_error_code cpl_table_set_array(cpl_table *, const char *, int, | |||
const cpl_array *); | const cpl_array *); | |||
cpl_error_code cpl_table_fill_column_window(cpl_table *, const char *, | cpl_error_code cpl_table_fill_column_window(cpl_table *, const char *, | |||
int, int, double); | int, int, double); | |||
cpl_error_code cpl_table_fill_column_window_int(cpl_table *, const char *, | cpl_error_code cpl_table_fill_column_window_int(cpl_table *, const char *, | |||
int, int, int); | int, int, int); | |||
cpl_error_code cpl_table_fill_column_window_float(cpl_table *, const char * , | cpl_error_code cpl_table_fill_column_window_float(cpl_table *, const char * , | |||
int, int, float); | int, int, float); | |||
cpl_error_code cpl_table_fill_column_window_double(cpl_table *, const char *, | cpl_error_code cpl_table_fill_column_window_double(cpl_table *, const char *, | |||
int, int, double); | int, int, double); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_table_fill_column_window_complex(cpl_table *, const char | ||||
*, | ||||
int, int, double complex); | ||||
cpl_error_code cpl_table_fill_column_window_float_complex(cpl_table *, | ||||
const char *, int, int, float complex); | ||||
cpl_error_code cpl_table_fill_column_window_double_complex(cpl_table *, | ||||
const char *, int, int, double complex); | ||||
#endif | ||||
cpl_error_code cpl_table_fill_column_window_string(cpl_table *, const char *, | cpl_error_code cpl_table_fill_column_window_string(cpl_table *, const char *, | |||
int, int, const char *); | int, int, const char *); | |||
cpl_error_code cpl_table_fill_column_window_array(cpl_table *, const char * , | cpl_error_code cpl_table_fill_column_window_array(cpl_table *, const char * , | |||
int, int, const cpl_array *); | int, int, const cpl_array *); | |||
cpl_error_code cpl_table_copy_data_int(cpl_table *, const char *, const int *); | cpl_error_code cpl_table_copy_data_int(cpl_table *, const char *, const int *); | |||
cpl_error_code cpl_table_copy_data_float(cpl_table *, const char *, | cpl_error_code cpl_table_copy_data_float(cpl_table *, const char *, | |||
const float *); | const float *); | |||
cpl_error_code cpl_table_copy_data_double(cpl_table *, const char *, | cpl_error_code cpl_table_copy_data_double(cpl_table *, const char *, | |||
const double *); | const double *); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_table_copy_data_float_complex(cpl_table *, const char *, | ||||
const float complex *); | ||||
cpl_error_code cpl_table_copy_data_double_complex(cpl_table *, const char * | ||||
, | ||||
const double complex *); | ||||
#endif | ||||
cpl_error_code cpl_table_copy_data_string(cpl_table *, const char *, | cpl_error_code cpl_table_copy_data_string(cpl_table *, const char *, | |||
const char **); | const char **); | |||
cpl_error_code cpl_table_shift_column(cpl_table *, const char *, int); | cpl_error_code cpl_table_shift_column(cpl_table *, const char *, int); | |||
cpl_error_code cpl_table_set_invalid(cpl_table *, const char *, int); | cpl_error_code cpl_table_set_invalid(cpl_table *, const char *, int); | |||
cpl_error_code cpl_table_set_column_invalid(cpl_table *, | cpl_error_code cpl_table_set_column_invalid(cpl_table *, | |||
const char *, int, int); | const char *, int, int); | |||
skipping to change at line 175 | skipping to change at line 219 | |||
int cpl_table_count_invalid(const cpl_table *, const char *); | int cpl_table_count_invalid(const cpl_table *, const char *); | |||
int cpl_table_has_invalid(const cpl_table *table, const char *name); | int cpl_table_has_invalid(const cpl_table *table, const char *name); | |||
int cpl_table_has_valid(const cpl_table *table, const char *name); | int cpl_table_has_valid(const cpl_table *table, const char *name); | |||
cpl_error_code cpl_table_fill_invalid_int(cpl_table *, const char *, | cpl_error_code cpl_table_fill_invalid_int(cpl_table *, const char *, | |||
int); | int); | |||
cpl_error_code cpl_table_fill_invalid_float(cpl_table *, const char *, | cpl_error_code cpl_table_fill_invalid_float(cpl_table *, const char *, | |||
float); | float); | |||
cpl_error_code cpl_table_fill_invalid_double(cpl_table *, const char *, | cpl_error_code cpl_table_fill_invalid_double(cpl_table *, const char *, | |||
double); | double); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_table_fill_invalid_float_complex(cpl_table *, const char | ||||
*, | ||||
float complex); | ||||
cpl_error_code cpl_table_fill_invalid_double_complex(cpl_table *, const cha | ||||
r *, | ||||
double complex); | ||||
#endif | ||||
cpl_error_code cpl_table_erase_column(cpl_table *, const char *); | cpl_error_code cpl_table_erase_column(cpl_table *, const char *); | |||
cpl_error_code cpl_table_move_column(cpl_table *, const char *, cpl_table * ); | cpl_error_code cpl_table_move_column(cpl_table *, const char *, cpl_table * ); | |||
cpl_error_code cpl_table_duplicate_column(cpl_table *, const char *, | cpl_error_code cpl_table_duplicate_column(cpl_table *, const char *, | |||
const cpl_table *, const char *); | const cpl_table *, const char *); | |||
cpl_error_code cpl_table_name_column(cpl_table *, const char *, const char *); | cpl_error_code cpl_table_name_column(cpl_table *, const char *, const char *); | |||
int cpl_table_has_column(const cpl_table *, const char *); | int cpl_table_has_column(const cpl_table *, const char *); | |||
const char *cpl_table_get_column_name(const cpl_table *); | const char *cpl_table_get_column_name(const cpl_table *); | |||
skipping to change at line 219 | skipping to change at line 269 | |||
const char *, const char *); | const char *, const char *); | |||
cpl_error_code cpl_table_multiply_columns(cpl_table *, | cpl_error_code cpl_table_multiply_columns(cpl_table *, | |||
const char *, const char *); | const char *, const char *); | |||
cpl_error_code cpl_table_divide_columns(cpl_table *, | cpl_error_code cpl_table_divide_columns(cpl_table *, | |||
const char *, const char *); | const char *, const char *); | |||
cpl_error_code cpl_table_add_scalar(cpl_table *, const char *, double); | cpl_error_code cpl_table_add_scalar(cpl_table *, const char *, double); | |||
cpl_error_code cpl_table_subtract_scalar(cpl_table *, const char *, double) ; | cpl_error_code cpl_table_subtract_scalar(cpl_table *, const char *, double) ; | |||
cpl_error_code cpl_table_multiply_scalar(cpl_table *, const char *, double) ; | cpl_error_code cpl_table_multiply_scalar(cpl_table *, const char *, double) ; | |||
cpl_error_code cpl_table_divide_scalar(cpl_table *, const char *, double); | cpl_error_code cpl_table_divide_scalar(cpl_table *, const char *, double); | |||
#ifdef _Complex_I | ||||
cpl_error_code cpl_table_add_scalar_complex(cpl_table *, | ||||
const char *, double complex); | ||||
cpl_error_code cpl_table_subtract_scalar_complex(cpl_table *, | ||||
const char *, double compl | ||||
ex); | ||||
cpl_error_code cpl_table_multiply_scalar_complex(cpl_table *, | ||||
const char *, double compl | ||||
ex); | ||||
cpl_error_code cpl_table_divide_scalar_complex(cpl_table *, | ||||
const char *, double complex | ||||
); | ||||
#endif | ||||
cpl_error_code cpl_table_abs_column(cpl_table *, const char *); | cpl_error_code cpl_table_abs_column(cpl_table *, const char *); | |||
cpl_error_code cpl_table_logarithm_column(cpl_table *, const char *, double ); | cpl_error_code cpl_table_logarithm_column(cpl_table *, const char *, double ); | |||
cpl_error_code cpl_table_power_column(cpl_table *, const char *, double); | cpl_error_code cpl_table_power_column(cpl_table *, const char *, double); | |||
cpl_error_code cpl_table_exponential_column(cpl_table *, const char *, doub le); | cpl_error_code cpl_table_exponential_column(cpl_table *, const char *, doub le); | |||
cpl_error_code cpl_table_conjugate_column(cpl_table *, const char *); | ||||
cpl_error_code cpl_table_real_column(cpl_table *, const char *); | ||||
cpl_error_code cpl_table_imag_column(cpl_table *, const char *); | ||||
cpl_error_code cpl_table_arg_column(cpl_table *, const char *); | ||||
cpl_error_code cpl_table_erase_invalid_rows(cpl_table *); | cpl_error_code cpl_table_erase_invalid_rows(cpl_table *); | |||
cpl_error_code cpl_table_erase_invalid(cpl_table *); | cpl_error_code cpl_table_erase_invalid(cpl_table *); | |||
double cpl_table_get_column_max(const cpl_table *, const char *); | double cpl_table_get_column_max(const cpl_table *, const char *); | |||
double cpl_table_get_column_min(const cpl_table *, const char *); | double cpl_table_get_column_min(const cpl_table *, const char *); | |||
cpl_error_code cpl_table_get_column_maxpos(const cpl_table *, | cpl_error_code cpl_table_get_column_maxpos(const cpl_table *, | |||
const char *, int *); | const char *, int *); | |||
cpl_error_code cpl_table_get_column_minpos(const cpl_table *, | cpl_error_code cpl_table_get_column_minpos(const cpl_table *, | |||
const char *, int *); | const char *, int *); | |||
#ifdef _Complex_I | ||||
double complex cpl_table_get_column_mean_complex(const cpl_table *, | ||||
const char *); | ||||
#endif | ||||
double cpl_table_get_column_mean(const cpl_table *, const char *); | double cpl_table_get_column_mean(const cpl_table *, const char *); | |||
double cpl_table_get_column_median(const cpl_table *, const char *); | double cpl_table_get_column_median(const cpl_table *, const char *); | |||
double cpl_table_get_column_stdev(const cpl_table *, const char *); | double cpl_table_get_column_stdev(const cpl_table *, const char *); | |||
cpl_error_code cpl_table_sort(cpl_table *, const cpl_propertylist *); | cpl_error_code cpl_table_sort(cpl_table *, const cpl_propertylist *); | |||
int cpl_table_and_selected_window(cpl_table *, int, int); | int cpl_table_and_selected_window(cpl_table *, int, int); | |||
int cpl_table_or_selected_window(cpl_table *, int, int); | int cpl_table_or_selected_window(cpl_table *, int, int); | |||
int cpl_table_not_selected(cpl_table *); | int cpl_table_not_selected(cpl_table *); | |||
skipping to change at line 262 | skipping to change at line 330 | |||
int cpl_table_and_selected_int(cpl_table *, const char *, | int cpl_table_and_selected_int(cpl_table *, const char *, | |||
cpl_table_select_operator, int); | cpl_table_select_operator, int); | |||
int cpl_table_or_selected_int(cpl_table *, const char *, | int cpl_table_or_selected_int(cpl_table *, const char *, | |||
cpl_table_select_operator, int); | cpl_table_select_operator, int); | |||
int cpl_table_and_selected_float(cpl_table *, const char *, | int cpl_table_and_selected_float(cpl_table *, const char *, | |||
cpl_table_select_operator, float); | cpl_table_select_operator, float); | |||
int cpl_table_or_selected_float(cpl_table *, const char *, | int cpl_table_or_selected_float(cpl_table *, const char *, | |||
cpl_table_select_operator, float); | cpl_table_select_operator, float); | |||
int cpl_table_and_selected_double(cpl_table *, const char *, | int cpl_table_and_selected_double(cpl_table *, const char *, | |||
cpl_table_select_operator, double); | cpl_table_select_operator, double); | |||
int cpl_table_or_selected_double(cpl_table *, const char *, | int cpl_table_or_selected_double(cpl_table *, const char *, | |||
cpl_table_select_operator, double); | cpl_table_select_operator, double); | |||
#ifdef _Complex_I | ||||
int cpl_table_and_selected_float_complex(cpl_table *, const char *, | ||||
cpl_table_select_operator, float comple | ||||
x); | ||||
int cpl_table_or_selected_float_complex(cpl_table *, const char *, | ||||
cpl_table_select_operator, float comple | ||||
x); | ||||
int cpl_table_and_selected_double_complex(cpl_table *, const char *, | ||||
cpl_table_select_operator, double comp | ||||
lex); | ||||
int cpl_table_or_selected_double_complex(cpl_table *, const char *, | ||||
cpl_table_select_operator, double comp | ||||
lex); | ||||
#endif | ||||
int cpl_table_and_selected_string(cpl_table *, const char *, | int cpl_table_and_selected_string(cpl_table *, const char *, | |||
cpl_table_select_operator, const char *); | cpl_table_select_operator, const char *); | |||
int cpl_table_or_selected_string(cpl_table *, const char *, | int cpl_table_or_selected_string(cpl_table *, const char *, | |||
cpl_table_select_operator, const char *); | cpl_table_select_operator, const char *); | |||
int cpl_table_and_selected(cpl_table *, const char *, | int cpl_table_and_selected(cpl_table *, const char *, | |||
cpl_table_select_operator, const char *); | cpl_table_select_operator, const char *); | |||
int cpl_table_or_selected(cpl_table *, const char *, | int cpl_table_or_selected(cpl_table *, const char *, | |||
cpl_table_select_operator, const char *); | cpl_table_select_operator, const char *); | |||
End of changes. 15 change blocks. | ||||
6 lines changed or deleted | 103 lines changed or added | |||
cpl_test.h | cpl_test.h | |||
---|---|---|---|---|
/* $Id: cpl_test.h,v 1.43 2010/02/26 14:05:00 llundin Exp $ | /* $Id: cpl_test.h,v 1.58 2011/02/10 12:54:53 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/02/26 14:05:00 $ | * $Date: 2011/02/10 12:54:53 $ | |||
* $Revision: 1.43 $ | * $Revision: 1.58 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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 54 | skipping to change at line 54 | |||
#include <cpl_imagelist.h> | #include <cpl_imagelist.h> | |||
#include <cpl_polynomial.h> | #include <cpl_polynomial.h> | |||
#include <cpl_errorstate.h> | #include <cpl_errorstate.h> | |||
#include <errno.h> | #include <errno.h> | |||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Defines | Defines | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
#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_TEST_FITS | #ifndef CPL_TEST_FITS | |||
#define CPL_TEST_FITS "CPL_TEST_FITS" | #define CPL_TEST_FITS "CPL_TEST_FITS" | |||
#endif | #endif | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Initialize CPL + CPL messaging + unit test | @brief Initialize CPL + CPL messaging + unit test | |||
@param REPORT The email address for the error message e.g. PACKAGE_BUGR EPORT | @param REPORT The email address for the error message e.g. PACKAGE_BUGR EPORT | |||
@param LEVEL The default messaging level, e.g. CPL_MSG_WARNING | @param LEVEL The default messaging level, e.g. CPL_MSG_WARNING | |||
@return void | @return void | |||
@see cpl_init() | @see cpl_init() | |||
@note This macro should be used at the beginning of main() of a unit te st | @note This macro should be used at the beginning of main() of a unit te st | |||
instead of cpl_init() and before any other CPL function call. | instead of cpl_init() and before any other CPL function call. | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_init(REPORT, LEVEL) \ | #define cpl_test_init(REPORT, LEVEL) \ | |||
cpl_test_init_macro(__FILE__, REPORT, LEVEL) | cpl_test_init_macro(__FILE__, REPORT, LEVEL) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Evaluate an expression and increment an internal counter if zero | @brief Evaluate an expression and increment an internal counter if zero | |||
@param bool The expression to evaluate, side-effects are allowed | @param bool The expression to evaluate, side-effects are allowed | |||
@note A zero value of the expression is a failure, other values are no t | @note A zero value of the expression is a failure, other values are no t | |||
@return void | @return void | |||
@see cpl_test_init() | @see cpl_test_init() | |||
@note This macro should be used for unit tests | @note This macro should be used for unit tests | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test(myfunc()); // myfunc() is expected to return non-zero | cpl_test(myfunc()); // myfunc() is expected to return non-zero | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test(bool) do { \ | #define cpl_test(bool) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_macro(cpl_test_errno, cpl_test_time, cpl_test_flops, \ | |||
cpl_test_macro(cpl_test_errno, cpl_test_state, \ | cpl_test_state, (bool) ? 1 : 0, CPL_TRUE, #bool, \ | |||
(bool) ? 1 : 0, CPL_TRUE, #bool, cpl_func, \ | cpl_func, __FILE__, __LINE__); \ | |||
__FILE__, __LINE__); \ | ||||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Evaluate an expression and increment an internal counter if non- zero | @brief Evaluate an expression and increment an internal counter if non- zero | |||
@param zero The numerical expression to evaluate, side-effects are al lowed | @param zero The numerical expression to evaluate, side-effects are al lowed | |||
@note A zero value of the expression is a success, other values are no t | @note A zero value of the expression is a success, other values are no t | |||
@return void | @return void | |||
@see cpl_test() | @see cpl_test() | |||
@note This macro should be used for unit tests | @note This macro should be used for unit tests | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_zero(myfunc()); // myfunc() is expected to return zero | cpl_test_zero(myfunc()); // myfunc() is expected to return zero | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_zero(zero) do { \ | #define cpl_test_zero(zero) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_macro(cpl_test_errno, cpl_test_time, cpl_test_flops, \ | |||
cpl_test_macro(cpl_test_errno, cpl_test_state, \ | cpl_test_state, (zero) ? 1 : 0, CPL_FALSE, \ | |||
(zero) ? 1 : 0, CPL_FALSE, #zero, \ | #zero, cpl_func, __FILE__, __LINE__); \ | |||
cpl_func, __FILE__, __LINE__); \ | ||||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if a pointer is NULL and update an internal counter on failu re | @brief Test if a pointer is NULL and update an internal counter on failu re | |||
@param pointer The NULL-pointer to check, side-effects are allowed | @param pointer The NULL-pointer to check, side-effects are allowed | |||
@see cpl_test() | @see cpl_test() | |||
@return void | @return void | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_null(pointer); // pointer is expected to be NULL | cpl_test_null(pointer); // pointer is expected to be NULL | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_null(pointer) do { \ | #define cpl_test_null(pointer) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_null_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_null_macro(cpl_test_errno, cpl_test_state, pointer, \ | cpl_test_flops, cpl_test_state, pointer, \ | |||
#pointer, cpl_func, __FILE__, __LINE__); \ | #pointer, cpl_func, __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if a pointer is non-NULL | @brief Test if a pointer is non-NULL | |||
@param pointer The pointer to check, side-effects are allowed | @param pointer The pointer to check, side-effects are allowed | |||
@see cpl_test_nonnull() | @see cpl_test_nonnull() | |||
@return void | @return void | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_nonnull(pointer); // pointer is expected to be non-NULL | cpl_test_nonnull(pointer); // pointer is expected to be non-NULL | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_nonnull(pointer) do { \ | #define cpl_test_nonnull(pointer) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_nonnull_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_nonnull_macro(cpl_test_errno, cpl_test_state, \ | cpl_test_flops, cpl_test_state, \ | |||
pointer, #pointer, cpl_func, \ | pointer, #pointer, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | ||||
@brief Test and if necessary reset the CPL errorstate | ||||
@param errorstate The expected CPL errorstate | ||||
@see cpl_test() | ||||
@note After the test, the CPL errorstate is set to the provided state | ||||
@return void | ||||
This function is useful for verifying that a successful call to a functio | ||||
n | ||||
does not modify any pre-existing errors. | ||||
Example of usage: | ||||
@code | ||||
const cpl_error_code error = cpl_error_set(cpl_func, CPL_ERROR_EOL); | ||||
cpl_errorstate prestate = cpl_errorstate_get(); | ||||
const cpl_error_code ok = my_func(); // Expected to succeed | ||||
cpl_test_errorstate(prestate); // Verify that no additional errors occur | ||||
red | ||||
cpl_test_error(CPL_ERROR_EOL); // Reset error | ||||
cpl_test_eq(ok, CPL_ERROR_NONE); // Verify that my_func() succeeded | ||||
@endcode | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define cpl_test_errorstate(errorstate) do { \ | ||||
const int cpl_test_errno = errno; \ | ||||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | ||||
cpl_test_errorstate_macro(cpl_test_errno, cpl_test_time, \ | ||||
cpl_test_flops, cpl_test_state, \ | ||||
errorstate, #errorstate, cpl_func, \ | ||||
__FILE__, __LINE__); \ | ||||
} while (0) | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test and reset the CPL error code | @brief Test and reset the CPL error code | |||
@param error The expected CPL error code (incl. CPL_ERROR_NONE) | @param error The expected CPL error code (incl. CPL_ERROR_NONE) | |||
@see cpl_test() | @see cpl_test() | |||
@note After the test, the CPL errorstate is reset | @note After the test, the CPL errorstate is reset | |||
@return void | @return void | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
skipping to change at line 219 | skipping to change at line 263 | |||
// The errorstate has been reset. | // The errorstate has been reset. | |||
cpl_test( !my_func(p) ); // my_func(p) is expected to return zero | cpl_test( !my_func(p) ); // my_func(p) is expected to return zero | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_error(error) do { \ | #define cpl_test_error(error) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_error_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_error_macro(cpl_test_errno, cpl_test_state, error, \ | cpl_test_flops, cpl_test_state, error, \ | |||
#error, cpl_func, __FILE__, __LINE__); \ | #error, cpl_func, __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two error expressions are equal and reset the CPL error c ode | @brief Test if two error expressions are equal and reset the CPL error c ode | |||
@param first The first value in the comparison | @param first The first value in the comparison | |||
@param second The second value in the comparison | @param second The second value in the comparison | |||
@see cpl_test_error | @see cpl_test_error | |||
@note If the two CPL error expressions are equal they will also be test ed | @note If the two CPL error expressions are equal they will also be test ed | |||
against the current CPL error code. After the test(s), the CPL | against the current CPL error code. After the test(s), the CPL | |||
errorstate is reset. | errorstate is reset. | |||
Example of usage: | Example of usage: | |||
skipping to change at line 256 | skipping to change at line 303 | |||
error = my_func(p); // Successful call | error = my_func(p); // Successful call | |||
cpl_test_eq_error(error, CPL_ERROR_NONE); | cpl_test_eq_error(error, CPL_ERROR_NONE); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_eq_error(first, second) do { \ | #define cpl_test_eq_error(first, second) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_eq_error_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_eq_error_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, cpl_func, \ | #first, second, #second, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two integer expressions are equal | @brief Test if two integer expressions are equal | |||
@param first The first value in the comparison, side-effects are al | @param first The first value in the comparison, side-effects are allowe | |||
lowed | d | |||
@param second The second value in the comparison, side-effects are a | @param second The second value in the comparison, side-effects are allow | |||
llowed | ed | |||
@see cpl_test() | @see cpl_test() | |||
@return void | @return void | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_eq(computed, expected); | cpl_test_eq(computed, expected); | |||
@endcode | @endcode | |||
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; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_eq_macro(cpl_test_errno, cpl_test_time, cpl_test_flops, \ | |||
cpl_test_eq_macro(cpl_test_errno, cpl_test_state, first, #first, \ | cpl_test_state, first, #first, \ | |||
second, #second, cpl_func, __FILE__, __LINE__); \ | second, #second, cpl_func, __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@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 | @param first The first value in the comparison, side-effects are allowe | |||
lowed | d | |||
@param second The second value in the comparison, side-effects are a | @param second The second value in the comparison, side-effects are allow | |||
llowed | ed | |||
@see cpl_test_eq() | @see cpl_test_eq() | |||
@return void | @return void | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
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; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_noneq_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_noneq_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, cpl_func, \ | #first, second, #second, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@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 | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_eq_ptr(computed, expected); | cpl_test_eq_ptr(computed, expected); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_eq_ptr(first, second) do { \ | #define cpl_test_eq_ptr(first, second) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_eq_ptr_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_eq_ptr_macro(cpl_test_errno, cpl_test_state, first, #first | cpl_test_flops, cpl_test_state, first, \ | |||
, \ | #first, second, #second, cpl_func, \ | |||
second, #second, cpl_func, __FILE__, __LINE__ | __FILE__, __LINE__); \ | |||
); \ | ||||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two pointer expressions are not equal | @brief Test if two pointer expressions are not 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_ptr() | @see cpl_test_eq_ptr() | |||
@return void | @return void | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_noneq_ptr(computed, wrong); | cpl_test_noneq_ptr(computed, wrong); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_noneq_ptr(first, second) do { \ | #define cpl_test_noneq_ptr(first, second) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_noneq_ptr_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_noneq_ptr_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, cpl_func, \ | #first, second, #second, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two strings are equal | @brief Test if two strings are equal | |||
@param first The first string or NULL of the comparison | @param first The first string or NULL of the comparison | |||
@param second The second string or NULL of the comparison | @param second The second string or NULL of the comparison | |||
@note One or two NULL pointer(s) is considered a failure. | @note One or two NULL pointer(s) is considered a failure. | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_eq_string(computed, expected); | cpl_test_eq_string(computed, expected); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_eq_string(first, second) do { \ | #define cpl_test_eq_string(first, second) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_eq_string_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_eq_string_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, cpl_func, \ | #first, second, #second, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
@hideinitializer | ||||
@ingroup cpl_test | ||||
@brief Test if two strings are not equal | ||||
@param first The first string or NULL of the comparison | ||||
@param second The second string or NULL of the comparison | ||||
@note One or two NULL pointer(s) is considered a failure. | ||||
Example of usage: | ||||
@code | ||||
cpl_test_noneq_string(computed, expected); | ||||
@endcode | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define cpl_test_noneq_string(first, second) do { \ | ||||
const int cpl_test_errno = errno; \ | ||||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | ||||
cpl_test_noneq_string_macro(cpl_test_errno, cpl_test_time, \ | ||||
cpl_test_flops, cpl_test_state, \ | ||||
first, #first, second, #second, \ | ||||
cpl_func, __FILE__, __LINE__); \ | ||||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if a file is valid FITS using an external verification utili ty | @brief Test if a file is valid FITS using an external verification utili ty | |||
@param fitsfile The file to verify, NULL causes failure | @param fitsfile The file to verify, NULL causes failure | |||
@note The external verification utility is specified with the environemt | @note The external verification utility is specified with the environemt | |||
variable CPL_TEST_FITS, if is not set the test will pass on any | variable CPL_TEST_FITS, if is not set the test will pass on any | |||
non-NULL file. | non-NULL file. | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
skipping to change at line 426 | skipping to change at line 521 | |||
@code | @code | |||
cpl_test_fits(fitsfile); | cpl_test_fits(fitsfile); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_fits(fitsfile) do { \ | #define cpl_test_fits(fitsfile) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_fits_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_fits_macro(cpl_test_errno, cpl_test_state, fitsfile, \ | cpl_test_flops, cpl_test_state, fitsfile, \ | |||
#fitsfile, cpl_func, __FILE__, __LINE__); | #fitsfile, cpl_func, __FILE__, __LINE__); \ | |||
\ | ||||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two CPL masks are equal | @brief Test if two CPL masks are equal | |||
@param first The first mask or NULL of the comparison | @param first The first mask or NULL of the comparison | |||
@param second The second mask or NULL of the comparison | @param second The second mask or NULL of the comparison | |||
@note One or two NULL pointer(s) is considered a failure. | @note One or two NULL pointer(s) is considered a failure. | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
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; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_eq_mask_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_eq_mask_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, cpl_func, \ | #first, second, #second, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@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() | |||
@note This macro should be used for unit tests | @note This macro should be used for unit tests | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_leq(fabs(myfunc(&p)), DBL_EPSILON); | cpl_test_leq(fabs(myfunc(&p)), DBL_EPSILON); | |||
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; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_leq_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_leq_macro(cpl_test_errno, cpl_test_state, value, \ | cpl_test_flops, cpl_test_state, value, \ | |||
#value, tolerance, #tolerance, cpl_func, \ | #value, tolerance, #tolerance, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@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() | |||
@note This macro should be used for unit tests | @note This macro should be used for unit tests | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
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; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_lt_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_lt_macro(cpl_test_errno, cpl_test_state, value, \ | cpl_test_flops, cpl_test_state, value, \ | |||
#value, tolerance, #tolerance, cpl_func, \ | #value, tolerance, #tolerance, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two numerical expressions are within a given absolute tol | @brief Test if two numerical expressions are within a given absolute tole | |||
erance | rance | |||
@param first The first value in the comparison, side-effects are al | @param first The first value in the comparison, side-effects are allo | |||
lowed | wed | |||
@param second The second value in the comparison, side-effects are a | @param second The second value in the comparison, side-effects are all | |||
llowed | owed | |||
@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 | |||
@see cpl_test() | @see cpl_test() | |||
@return void | ||||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_abs(computed, expected, DBL_EPSILON); | cpl_test_abs(computed, expected, DBL_EPSILON); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_abs(first, second, tolerance) do { \ | #define cpl_test_abs(first, second, tolerance) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_abs_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_abs_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, tolerance, \ | #first, second, #second, tolerance, \ | |||
#tolerance, cpl_func, __FILE__, __LINE__); \ | #tolerance, cpl_func, __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
#ifdef _Complex_I | ||||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | ||||
@brief Test if two complex expressions are within a given absolute tolera | ||||
nce | ||||
@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 tolerance A non-negative tolerance | ||||
@note If the tolerance is negative, the test will always fail | ||||
@see cpl_test() | ||||
Example of usage: | ||||
@code | ||||
cpl_test_abs_complex(computed, expected, DBL_EPSILON); | ||||
@endcode | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define cpl_test_abs_complex(first, second, tolerance) do { \ | ||||
const int cpl_test_errno = errno; \ | ||||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | ||||
cpl_test_abs_complex_macro(cpl_test_errno, cpl_test_time, \ | ||||
cpl_test_flops, cpl_test_state, first, \ | ||||
#first, second, #second, tolerance, \ | ||||
#tolerance, cpl_func, __FILE__, __LINE__); \ | ||||
} while (0) | ||||
#endif | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two vectors are identical within a given (absolute) toler ance | @brief Test if two vectors are identical within a given (absolute) toler ance | |||
@param first The first vector in the comparison | @param first The first vector in the comparison | |||
@param second The second vector of identical size in the comparison | @param second The second vector of identical size in the comparison | |||
@param tolerance A non-negative tolerance | @param tolerance A non-negative tolerance | |||
@return void | @return void | |||
@see cpl_test_abs() | @see cpl_test_abs() | |||
@note The test will fail if one or both the vectors are NULL | @note The test will fail if one or both the vectors are NULL | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_vector_abs(first, second, tolerance) do { \ | #define cpl_test_vector_abs(first, second, tolerance) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_vector_abs_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_vector_abs_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, \ | |||
#first, second, #second, tolerance, \ | first, #first, second, #second, \ | |||
#tolerance, cpl_func, __FILE__, __LINE__ | tolerance, #tolerance, cpl_func, \ | |||
); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | ||||
@brief Test if two matrices are identical within a given (absolute) tole | ||||
rance | ||||
@param first The first matrix in the comparison | ||||
@param second The second matrix of identical size in the comparison | ||||
@param tolerance A non-negative tolerance | ||||
@return void | ||||
@see cpl_test_abs() | ||||
@note The test will fail if one or both the matrices are NULL | ||||
*/ | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
#define cpl_test_matrix_abs(first, second, tolerance) do { \ | ||||
const int cpl_test_errno = errno; \ | ||||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | ||||
cpl_test_matrix_abs_macro(cpl_test_errno, cpl_test_time, \ | ||||
cpl_test_flops, cpl_test_state, \ | ||||
first, #first, second, #second, \ | ||||
tolerance, #tolerance, cpl_func, \ | ||||
__FILE__, __LINE__); \ | ||||
} while (0) | ||||
/*------------------------------------------------------------------------- | ||||
---*/ | ||||
/** | ||||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two numerical arrays are identical within a given (absolu te) | @brief Test if two numerical arrays are identical within a given (absolu te) | |||
tolerance | tolerance | |||
@param first The first array in the comparison | @param first The first array in the comparison | |||
@param second The second array of identical size in the comparison | @param second The second array of identical size in the comparison | |||
@param tolerance A non-negative tolerance | @param tolerance A non-negative tolerance | |||
@return void | @return void | |||
@see cpl_test_abs() | @see cpl_test_abs() | |||
@note The test will fail if one or both the arrays are NULL or of a | @note The test will fail if one or both the arrays are NULL or of a | |||
non-numerical type | non-numerical type | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_array_abs(first, second, tolerance) do { \ | #define cpl_test_array_abs(first, second, tolerance) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_array_abs_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_array_abs_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, tolerance, \ | #first, second, #second, tolerance, \ | |||
#tolerance, cpl_func, __FILE__, __LINE__) ; \ | #tolerance, cpl_func, __FILE__, __LINE__) ; \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two images are identical within a given (absolute) tolera nce | @brief Test if two images are identical within a given (absolute) tolera nce | |||
@param first The first image in the comparison | @param first The first image in the comparison | |||
@param second The second image of identical size in the comparison | @param second The second image of identical size in the comparison | |||
@param tolerance A non-negative tolerance | @param tolerance A non-negative tolerance | |||
@return void | @return void | |||
@see cpl_test_abs() | @see cpl_test_abs() | |||
@note The test will fail if one or both the images are NULL | @note The test will fail if one or both the images are NULL | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_image_abs(first, second, tolerance) do { \ | #define cpl_test_image_abs(first, second, tolerance) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_image_abs_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_image_abs_macro(cpl_test_errno, cpl_test_state, first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
#first, second, #second, tolerance, \ | #first, second, #second, tolerance, \ | |||
#tolerance, cpl_func, __FILE__, __LINE__) ; \ | #tolerance, cpl_func, __FILE__, __LINE__) ; \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two imagelists are identical within a given (absolute) | @brief Test if two imagelists are identical within a given (absolute) | |||
tolerance | tolerance | |||
@param first The first imagelist in the comparison | @param first The first imagelist in the comparison | |||
@param second The second imagelist of identical size in the compari son | @param second The second imagelist of identical size in the compari son | |||
@param tolerance A non-negative tolerance | @param tolerance A non-negative tolerance | |||
@return void | @return void | |||
@see cpl_test_image_abs() | @see cpl_test_image_abs() | |||
@note The test will fail if one or both the imagelists are NULL | @note The test will fail if one or both the imagelists are NULL | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_imagelist_abs(first, second, tolerance) do { \ | #define cpl_test_imagelist_abs(first, second, tolerance) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_imagelist_abs_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_imagelist_abs_macro(cpl_test_errno, cpl_test_state, \ | cpl_test_flops, cpl_test_state, \ | |||
first, #first, second, #second, \ | first, #first, second, #second, \ | |||
tolerance, #tolerance, cpl_func, \ | tolerance, #tolerance, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two polynomials are identical within a given (absolute) | @brief Test if two polynomials are identical within a given (absolute) | |||
tolerance | tolerance | |||
@param first The first polynomial in the comparison | @param first The first polynomial in the comparison | |||
@param second The second polynomial in the comparison | @param second The second polynomial in the comparison | |||
@param tolerance A non-negative tolerance | @param tolerance A non-negative tolerance | |||
@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; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_polynomial_abs_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_polynomial_abs_macro(cpl_test_errno, cpl_test_state, \ | cpl_test_flops, cpl_test_state, \ | |||
first, #first, second, #second, \ | first, #first, second, #second, \ | |||
tolerance, #tolerance, cpl_func, \ | tolerance, #tolerance, cpl_func, \ | |||
__FILE__, __LINE__); \ | __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if two numerical expressions are within a given relative tol | @brief Test if two numerical expressions are within a given relative tole | |||
erance | rance | |||
@param first The first value in the comparison, side-effects are al | @param first The first value in the comparison, side-effects are allo | |||
lowed | wed | |||
@param second The second value in the comparison, side-effects are a | @param second The second value in the comparison, side-effects are all | |||
llowed | owed | |||
@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 | @note If the tolerance is negative or if one but not both of the two val | |||
lues | ues | |||
is zero, the test will always fail. if both values are zero, the | is zero, the test will always fail. if both values are zero, the t | |||
test | est | |||
will succeed for any non-negative tolerance. The test is commutat | will succeed for any non-negative tolerance. The test is commutati | |||
ive | ve | |||
in the two values. | in the two values. | |||
@see cpl_test() | @see cpl_test() | |||
@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. | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
cpl_test_rel(computed, expected, 0.001); | cpl_test_rel(computed, expected, 0.001); | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_rel(first, second, tolerance) do { \ | #define cpl_test_rel(first, second, tolerance) do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_rel_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_rel_macro(cpl_test_errno, cpl_test_state, first, #first, \ | cpl_test_flops, cpl_test_state, first, \ | |||
second, #second, tolerance, #tolerance, \ | #first, second, #second, tolerance, \ | |||
cpl_func, __FILE__, __LINE__); \ | #tolerance, cpl_func, __FILE__, __LINE__); \ | |||
} while (0) | } while (0) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Test if the memory system is empty | @brief Test if the memory system is empty | |||
@see cpl_memory_is_empty() | @see cpl_memory_is_empty() | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_test_memory_is_empty() do { \ | #define cpl_test_memory_is_empty() do { \ | |||
const int cpl_test_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | ||||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | |||
errno = 0; \ | cpl_test_memory_is_empty_macro(cpl_test_errno, cpl_test_time, \ | |||
cpl_test_memory_is_empty_macro(cpl_test_errno, cpl_test_state, \ | cpl_test_flops, cpl_test_state, \ | |||
cpl_func, __FILE__, __LINE__) | cpl_func, __FILE__, __LINE__) | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
/** | /** | |||
@hideinitializer | ||||
@ingroup cpl_test | @ingroup cpl_test | |||
@brief Evaluate an expression and return if it fails | @brief Evaluate an expression and return if it fails | |||
@param bool The (boolean) expression to evaluate, side-effects are al lowed | @param bool The (boolean) expression to evaluate, side-effects are al lowed | |||
@note A zero value of the expression is a failure, other values are no t | @note A zero value of the expression is a failure, other values are no t | |||
@return void | @return void | |||
@see cpl_test() | @see cpl_test() | |||
@note This macro should be used for unit tests that cannot continue aft er | @note This macro should be used for unit tests that cannot continue aft er | |||
a failure. | a failure. | |||
Example of usage: | Example of usage: | |||
@code | @code | |||
int main (void) | int main (void) | |||
{ | { | |||
cpl_test_init(CPL_MSG_WARNING); | cpl_test_init(CPL_MSG_WARNING); | |||
cpl_test(myfunc(&p)); | cpl_test(myfunc(&p)); | |||
cpl_assert(p != NULL); | cpl_test_assert(p != NULL); | |||
cpl_test(*p); | cpl_test(*p); | |||
return cpl_test_end(0); | return cpl_test_end(0); | |||
} | } | |||
@endcode | @endcode | |||
*/ | */ | |||
/*------------------------------------------------------------------------- ---*/ | /*------------------------------------------------------------------------- ---*/ | |||
#define cpl_assert(bool) do { \ | #define cpl_test_assert(bool) do { \ | |||
const int cpl_assert_errno = errno; \ | const int cpl_test_errno = errno; \ | |||
cpl_errorstate cpl_assert_state = cpl_errorstate_get(); \ | const cpl_flops cpl_test_flops = cpl_test_get_flops(); \ | |||
const double cpl_test_time = cpl_test_get_walltime(); \ | ||||
cpl_errorstate cpl_test_state = cpl_errorstate_get(); \ | ||||
/* Evaluate bool just once */ \ | /* Evaluate bool just once */ \ | |||
const cpl_boolean cpl_assert_ok = (bool) ? CPL_TRUE : CPL_FALSE; \ | const cpl_boolean cpl_test_ok = (bool) ? CPL_TRUE : CPL_FALSE; \ | |||
cpl_test_macro(cpl_assert_errno, cpl_assert_state, cpl_assert_ok, \ | cpl_test_macro(cpl_test_errno, cpl_test_time, cpl_test_flops, \ | |||
CPL_TRUE, #bool, cpl_func, __FILE__, __LINE__); \ | cpl_test_state, cpl_test_ok, CPL_TRUE, #bool, \ | |||
if (cpl_assert_ok == CPL_FALSE) return cpl_test_end(0); \ | cpl_func, __FILE__, __LINE__); \ | |||
if (cpl_test_ok == CPL_FALSE) return cpl_test_end(0); \ | ||||
} while (0) | } while (0) | |||
/* Acceptable error margin */ | /* Deprecated. Do not use */ | |||
/* Should be set to 1.0 in development, can be set to 2.0 in deliveries */ | #define cpl_assert cpl_test_assert | |||
#ifndef cpl_error_margin | #ifndef cpl_error_margin | |||
/* Deprecated. Do not use */ | ||||
#define cpl_error_margin 2.0 | #define cpl_error_margin 2.0 | |||
#endif | #endif | |||
typedef unsigned long long int cpl_flops; | ||||
/*------------------------------------------------------------------------- ---- | /*------------------------------------------------------------------------- ---- | |||
Function prototypes | Function prototypes | |||
-------------------------------------------------------------------------- ---*/ | -------------------------------------------------------------------------- ---*/ | |||
void cpl_test_init_macro(const char *, const char *, cpl_msg_severity) | void cpl_test_init_macro(const char *, const char *, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | cpl_msg_severity) CPL_ATTR_NONNULL; | |||
__attribute__((nonnull)) | ||||
#endif | ||||
; | ||||
int cpl_test_end(int); | int cpl_test_end(int); | |||
void cpl_test_macro(int, cpl_errorstate, int, cpl_boolean, const char *, | void cpl_test_macro(int, double, cpl_flops, cpl_errorstate, int, cpl_boolea | |||
const char *, const char *, unsigned) | n, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | const char *, const char *, | |||
__attribute__((nonnull)) | const char *, unsigned) CPL_ATTR_NONNULL; | |||
#endif | ||||
; | ||||
void cpl_test_error_macro(int, cpl_errorstate, cpl_error_code, const char * | void cpl_test_errorstate_macro(int, double, cpl_flops, cpl_errorstate, | |||
, | cpl_errorstate, const char *, const char *, | |||
const char *, const char *, unsigned) | const char *, unsigned) CPL_ATTR_NONNULL; | |||
#ifdef CPL_HAVE_GNUC_NONNULL | ||||
__attribute__((nonnull)) | ||||
#endif | ||||
; | ||||
void cpl_test_eq_error_macro(int, cpl_errorstate, cpl_error_code, const cha | void cpl_test_error_macro(int, double, cpl_flops, cpl_errorstate, | |||
r *, | cpl_error_code, const char *, const char *, | |||
cpl_error_code, const char *, | const char *, unsigned) CPL_ATTR_NONNULL; | |||
const char *, const char *, unsigned) | ||||
#ifdef CPL_HAVE_GNUC_NONNULL | ||||
__attribute__((nonnull)) | ||||
#endif | ||||
; | ||||
void cpl_test_null_macro(int, cpl_errorstate, const void *, const char *, | void cpl_test_eq_error_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const char *, unsigned) | cpl_error_code, const char *, cpl_error_code, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | const char *, const char *, | |||
__attribute__((nonnull(4, 5, 6))) | const char *, unsigned) CPL_ATTR_NONNULL; | |||
#endif | ||||
; | ||||
void cpl_test_nonnull_macro(int, cpl_errorstate, const void *, const char * | ||||
, | ||||
const char *, const char *, unsigned) | ||||
#ifdef CPL_HAVE_GNUC_NONNULL | ||||
__attribute__((nonnull(4, 5, 6))) | ||||
#endif | ||||
; | ||||
void cpl_test_eq_macro(int, cpl_errorstate, int, const char *, int, | ||||
const char *, const char *, const char *, unsigned) | ||||
#ifdef CPL_HAVE_GNUC_NONNULL | ||||
__attribute__((nonnull)) | ||||
#endif | ||||
; | ||||
void cpl_test_noneq_macro(int, cpl_errorstate, int, const char *, int, | void cpl_test_null_macro(int, double, cpl_flops, cpl_errorstate, const void | |||
const char *, const char *, const char *, unsigne | *, | |||
d) | const char *, const char *, const char *, unsigned | |||
#ifdef CPL_HAVE_GNUC_NONNULL | ) | |||
__attribute__((nonnull)) | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(6, 7, 8))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_nonnull_macro(int, double, cpl_flops, cpl_errorstate, | ||||
void cpl_test_eq_ptr_macro(int, cpl_errorstate, const void *, const char *, | const void *, const char *, const char *, | |||
const void *, const char *, const char *, | const char *, unsigned) | |||
const char *, unsigned) | #ifdef CPL_HAVE_ATTR_NONNULL | |||
#ifdef CPL_HAVE_GNUC_NONNULL | __attribute__((nonnull(6, 7, 8))) | |||
__attribute__((nonnull(4, 6, 7, 8))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_eq_macro(int, double, cpl_flops, cpl_errorstate, int, | ||||
const char *, int, const char *, const char *, | ||||
const char *, unsigned) CPL_ATTR_NONNULL; | ||||
void cpl_test_noneq_ptr_macro(int, cpl_errorstate, const void *, const char | void cpl_test_noneq_macro(int, double, cpl_flops, cpl_errorstate, int, | |||
*, | const char *, int, const char *, const char *, | |||
const void *, const char *, const char *, | const char *, unsigned) CPL_ATTR_NONNULL; | |||
const char *, unsigned) | ||||
#ifdef CPL_HAVE_GNUC_NONNULL | void cpl_test_eq_ptr_macro(int, double, cpl_flops, cpl_errorstate, const vo | |||
__attribute__((nonnull(4, 6, 7, 8))) | id *, | |||
const char *, const void *, const char *, | ||||
const char *, const char *, unsigned) | ||||
#ifdef CPL_HAVE_ATTR_NONNULL | ||||
__attribute__((nonnull(6, 8, 9, 10))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_eq_string_macro(int, cpl_errorstate, const char *, const cha | void cpl_test_noneq_ptr_macro(int, double, cpl_flops, cpl_errorstate, | |||
r *, | const void *, const char *, const void *, | |||
const char *, const char *, const char *, | const char *, const char *, const char *, | |||
const char *, unsigned) | unsigned) | |||
#ifdef CPL_HAVE_GNUC_NONNULL | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(4, 6, 7, 8))) | __attribute__((nonnull(6, 8, 9, 10))) | |||
#endif | #endif | |||
; | ; | |||
void cpl_test_fits_macro(int, cpl_errorstate, const char *, const char *, | void cpl_test_eq_string_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const char *, unsigned) | const char *, const char *, const char *, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | const char *, const char *, const char *, | |||
__attribute__((nonnull(4, 5, 6))) | unsigned) | |||
#ifdef CPL_HAVE_ATTR_NONNULL | ||||
__attribute__((nonnull(6, 8, 9, 10))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_eq_mask_macro(int, cpl_errorstate, const cpl_mask *, | void cpl_test_noneq_string_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const cpl_mask *, const char *, | const char *, const char *, const char *, | |||
const char *, const char *, unsigned) | const char *, const char *, const char *, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | unsigned) | |||
__attribute__((nonnull(4, 6, 7, 8))) | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(6, 8, 9, 10))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_leq_macro(int, cpl_errorstate, double, const char *, double, | void cpl_test_fits_macro(int, double, cpl_flops, cpl_errorstate, const char | |||
const char *, const char *, const char *, unsigned) | *, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | const char *, const char *, const char *, unsigned | |||
__attribute__((nonnull)) | ) | |||
#ifdef CPL_HAVE_ATTR_NONNULL | ||||
__attribute__((nonnull(6, 7, 8))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_lt_macro(int, cpl_errorstate, double, const char *, double, | void cpl_test_eq_mask_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const char *, const char *, unsigned) | const cpl_mask *, const char *, const cpl_mask | |||
#ifdef CPL_HAVE_GNUC_NONNULL | *, | |||
__attribute__((nonnull)) | const char *, const char *, const char *, unsig | |||
ned) | ||||
#ifdef CPL_HAVE_ATTR_NONNULL | ||||
__attribute__((nonnull(6, 8, 9, 10))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_abs_macro(int, cpl_errorstate, double, const char *, double, | void cpl_test_leq_macro(int, double, cpl_flops, cpl_errorstate, double, | |||
const char *, double, const char *, const char *, | const char *, double, const char *, const char *, | |||
const char *, unsigned) | const char *, unsigned) CPL_ATTR_NONNULL; | |||
#ifdef CPL_HAVE_GNUC_NONNULL | ||||
__attribute__((nonnull)) | void cpl_test_lt_macro(int, double, cpl_flops, cpl_errorstate, double, | |||
const char *, double, const char *, const char *, | ||||
const char *, unsigned) CPL_ATTR_NONNULL; | ||||
void cpl_test_abs_macro(int, double, cpl_flops, cpl_errorstate, double, | ||||
const char *, double, const char *, double, | ||||
const char *, const char *, const char *, | ||||
unsigned) CPL_ATTR_NONNULL; | ||||
#ifdef _Complex_I | ||||
void cpl_test_abs_complex_macro(int, double, cpl_flops, cpl_errorstate, | ||||
double complex, const char *, | ||||
double complex, const char *, double, | ||||
const char *, const char *, const char *, | ||||
unsigned) CPL_ATTR_NONNULL; | ||||
#endif | #endif | |||
; | ||||
void cpl_test_rel_macro(int, cpl_errorstate, double, const char *, double, | void cpl_test_rel_macro(int, double, cpl_flops, cpl_errorstate, double, | |||
const char *, double, const char *, const char *, | const char *, double, const char *, double, | |||
const char *, unsigned) | const char *, const char *, const char *, | |||
#ifdef CPL_HAVE_GNUC_NONNULL | unsigned) CPL_ATTR_NONNULL; | |||
__attribute__((nonnull)) | ||||
void cpl_test_vector_abs_macro(int, double, cpl_flops, cpl_errorstate, | ||||
const cpl_vector *, const char *, | ||||
const cpl_vector *, const char *, | ||||
double, const char *, const char *, | ||||
const char *, unsigned) | ||||
#ifdef CPL_HAVE_ATTR_NONNULL | ||||
__attribute__((nonnull(6, 8, 10, 11, 12))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_vector_abs_macro(int, cpl_errorstate, const cpl_vector *, | void cpl_test_matrix_abs_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const cpl_vector *, const char | const cpl_matrix *, const char *, | |||
*, | const cpl_matrix *, const char *, | |||
double, const char *, const char *, const cha | double, const char *, const char *, | |||
r *, | const char *, unsigned) | |||
unsigned) | #ifdef CPL_HAVE_ATTR_NONNULL | |||
#ifdef CPL_HAVE_GNUC_NONNULL | __attribute__((nonnull(6, 8, 10, 11, 12))) | |||
__attribute__((nonnull(4, 6, 8, 9, 10))) | ||||
#endif | #endif | |||
; | ; | |||
void cpl_test_array_abs_macro(int, cpl_errorstate, const cpl_array *, | void cpl_test_array_abs_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const cpl_array *, const char * | const cpl_array *, const char *, | |||
, | const cpl_array *, const char *, double, | |||
double, const char *, const char *, const cha | const char *, const char *, const char *, | |||
r *, | ||||
unsigned) | unsigned) | |||
#ifdef CPL_HAVE_GNUC_NONNULL | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(4, 6, 8, 9, 10))) | __attribute__((nonnull(6, 8, 10, 11, 12))) | |||
#endif | #endif | |||
; | ; | |||
void cpl_test_image_abs_macro(int, cpl_errorstate, const cpl_image *, | void cpl_test_image_abs_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, const cpl_image *, const char * | const cpl_image *, const char *, | |||
, | const cpl_image *, const char *, double, | |||
double, const char *, const char *, const cha | const char *, const char *, const char *, | |||
r *, | ||||
unsigned) | unsigned) | |||
#ifdef CPL_HAVE_GNUC_NONNULL | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(4, 6, 8, 9, 10))) | __attribute__((nonnull(6, 8, 10, 11, 12))) | |||
#endif | #endif | |||
; | ; | |||
void cpl_test_imagelist_abs_macro(int, cpl_errorstate, | void cpl_test_imagelist_abs_macro(int, double, cpl_flops, cpl_errorstate, | |||
const cpl_imagelist *, | const cpl_imagelist *, | |||
const char *, | const char *, | |||
const cpl_imagelist *, | const cpl_imagelist *, | |||
const char *, | const char *, | |||
double, const char *, | double, const char *, | |||
const char *, const char *, | const char *, const char *, | |||
unsigned ) | unsigned ) | |||
#ifdef CPL_HAVE_GNUC_NONNULL | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(4, 6, 8, 9, 10))) | __attribute__((nonnull(6, 8, 10, 11, 12))) | |||
#endif | #endif | |||
; | ; | |||
void cpl_test_polynomial_abs_macro(int, cpl_errorstate, const cpl_polynomia | void cpl_test_polynomial_abs_macro(int, double, cpl_flops, cpl_errorstate, | |||
l *, | const cpl_polynomial *, | |||
const char *, const cpl_polynomial *, | const char *, const cpl_polynomial *, | |||
const char *, double, const char *, | const char *, double, const char *, | |||
const char *, const char *, unsigned) | const char *, const char *, unsigned) | |||
#ifdef CPL_HAVE_GNUC_NONNULL | #ifdef CPL_HAVE_ATTR_NONNULL | |||
__attribute__((nonnull(4, 6, 8, 9, 10))) | __attribute__((nonnull(6, 8, 10, 11, 12))) | |||
#endif | #endif | |||
; | ; | |||
void cpl_test_memory_is_empty_macro(int, cpl_errorstate, const char *, | void cpl_test_memory_is_empty_macro(int, double, cpl_flops, cpl_errorstate, | |||
const char *, unsigned) | const char *, const char *, unsigned) | |||
#ifdef CPL_HAVE_GNUC_NONNULL | CPL_ATTR_NONNULL; | |||
__attribute__((nonnull)) | ||||
#endif | ||||
; | ||||
double cpl_test_get_cputime(void); | double cpl_test_get_cputime(void); | |||
double cpl_test_get_walltime(void); | double cpl_test_get_walltime(void); | |||
size_t cpl_test_get_bytes_vector(const cpl_vector *) | size_t cpl_test_get_bytes_vector(const cpl_vector *) CPL_ATTR_PURE; | |||
#ifdef __GNUC__ | size_t cpl_test_get_bytes_matrix(const cpl_matrix *) CPL_ATTR_PURE; | |||
__attribute__((pure)) | size_t cpl_test_get_bytes_image(const cpl_image *) CPL_ATTR_PURE; | |||
#endif | size_t cpl_test_get_bytes_imagelist(const cpl_imagelist *) CPL_ATTR_PURE; | |||
; | ||||
size_t cpl_test_get_bytes_matrix(const cpl_matrix *) | cpl_flops cpl_test_get_flops(void) CPL_ATTR_PURE; | |||
#ifdef __GNUC__ | ||||
__attribute__((pure)) | ||||
#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. 118 change blocks. | ||||
271 lines changed or deleted | 463 lines changed or added | |||
cpl_type.h | cpl_type.h | |||
---|---|---|---|---|
/* $Id: cpl_type.h,v 1.15 2009/10/19 07:44:57 cizzo Exp $ | /* $Id: cpl_type.h,v 1.17 2010/11/11 09:23: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-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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: cizzo $ | * $Author: llundin $ | |||
* $Date: 2009/10/19 07:44:57 $ | * $Date: 2010/11/11 09:23:18 $ | |||
* $Revision: 1.15 $ | * $Revision: 1.17 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_TYPE_H | #ifndef CPL_TYPE_H | |||
#define CPL_TYPE_H | #define CPL_TYPE_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
/** | /** | |||
skipping to change at line 169 | skipping to change at line 169 | |||
typedef enum _cpl_type_ cpl_type; | typedef enum _cpl_type_ cpl_type; | |||
enum _cpl_boolean_ { | enum _cpl_boolean_ { | |||
CPL_FALSE = 0, | CPL_FALSE = 0, | |||
CPL_TRUE = !CPL_FALSE | CPL_TRUE = !CPL_FALSE | |||
}; | }; | |||
typedef enum _cpl_boolean_ cpl_boolean; | typedef enum _cpl_boolean_ cpl_boolean; | |||
size_t cpl_type_get_sizeof(cpl_type type) | size_t cpl_type_get_sizeof(cpl_type type) CPL_ATTR_CONST; | |||
#ifdef __GNUC__ | ||||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
const char * cpl_type_get_name(cpl_type type); | const char * cpl_type_get_name(cpl_type type); | |||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_TYPE_H */ | #endif /* CPL_TYPE_H */ | |||
End of changes. 4 change blocks. | ||||
11 lines changed or deleted | 7 lines changed or added | |||
cpl_vector.h | cpl_vector.h | |||
---|---|---|---|---|
/* $Id: cpl_vector.h,v 1.59 2010/03/11 17:17:18 llundin Exp $ | /* $Id: cpl_vector.h,v 1.62 2010/12/13 11:02:43 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2010/03/11 17:17:18 $ | * $Date: 2010/12/13 11:02:43 $ | |||
* $Revision: 1.59 $ | * $Revision: 1.62 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#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 110 | skipping to change at line 100 | |||
CPL_FIT_CENTROID = 1 << 1, | CPL_FIT_CENTROID = 1 << 1, | |||
CPL_FIT_STDEV = 1 << 2, | CPL_FIT_STDEV = 1 << 2, | |||
CPL_FIT_AREA = 1 << 3, | CPL_FIT_AREA = 1 << 3, | |||
CPL_FIT_OFFSET = 1 << 4, | CPL_FIT_OFFSET = 1 << 4, | |||
CPL_FIT_ALL = (1 << 1) | | CPL_FIT_ALL = (1 << 1) | | |||
(1 << 2) | | (1 << 2) | | |||
(1 << 3) | | (1 << 3) | | |||
(1 << 4) | (1 << 4) | |||
} cpl_fit_mode; | } cpl_fit_mode; | |||
typedef enum { | ||||
/* Must use these values for backwards compatability of cpl_vector_sort | ||||
() */ | ||||
CPL_SORT_DESCENDING = -1, | ||||
CPL_SORT_ASCENDING = 1 | ||||
} cpl_sort_direction; | ||||
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_ATTR_ALLOC; | |||
#ifdef CPL_HAVE_GNUC_UNUSED_RESULT | cpl_vector * cpl_vector_wrap(int, double *) CPL_ATTR_ALLOC; | |||
__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 *) CPL_ATTR_ALLOC; | |||
#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) CPL_ATTR_ALLOC; | |||
#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 *) CPL_ATTR_ALLOC; | |||
#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); | |||
/* Basic operations */ | /* Basic operations */ | |||
cpl_error_code cpl_vector_add(cpl_vector *, const cpl_vector *); | cpl_error_code cpl_vector_add(cpl_vector *, const cpl_vector *); | |||
cpl_error_code cpl_vector_subtract(cpl_vector *, const cpl_vector *); | cpl_error_code cpl_vector_subtract(cpl_vector *, const cpl_vector *); | |||
cpl_error_code cpl_vector_multiply(cpl_vector *, const cpl_vector *); | cpl_error_code cpl_vector_multiply(cpl_vector *, const cpl_vector *); | |||
cpl_error_code cpl_vector_divide(cpl_vector *, const cpl_vector *); | cpl_error_code cpl_vector_divide(cpl_vector *, const cpl_vector *); | |||
double cpl_vector_product(const cpl_vector *, const cpl_vector *); | double cpl_vector_product(const cpl_vector *, const cpl_vector *); | |||
cpl_error_code cpl_vector_sort(cpl_vector *, int); | cpl_error_code cpl_vector_sort(cpl_vector *, cpl_sort_direction); | |||
cpl_error_code cpl_vector_add_scalar(cpl_vector *, double); | cpl_error_code cpl_vector_add_scalar(cpl_vector *, double); | |||
cpl_error_code cpl_vector_subtract_scalar(cpl_vector *, double); | cpl_error_code cpl_vector_subtract_scalar(cpl_vector *, double); | |||
cpl_error_code cpl_vector_multiply_scalar(cpl_vector *, double); | cpl_error_code cpl_vector_multiply_scalar(cpl_vector *, double); | |||
cpl_error_code cpl_vector_divide_scalar(cpl_vector *, double); | cpl_error_code cpl_vector_divide_scalar(cpl_vector *, double); | |||
cpl_error_code cpl_vector_logarithm(cpl_vector *, double); | cpl_error_code cpl_vector_logarithm(cpl_vector *, double); | |||
cpl_error_code cpl_vector_exponential(cpl_vector *, double); | cpl_error_code cpl_vector_exponential(cpl_vector *, double); | |||
cpl_error_code cpl_vector_power(cpl_vector *, double); | cpl_error_code cpl_vector_power(cpl_vector *, double); | |||
cpl_error_code cpl_vector_fill(cpl_vector *, double); | cpl_error_code cpl_vector_fill(cpl_vector *, double); | |||
cpl_error_code cpl_vector_sqrt(cpl_vector *); | cpl_error_code cpl_vector_sqrt(cpl_vector *); | |||
int cpl_vector_find(const cpl_vector *, double); | int cpl_vector_find(const cpl_vector *, double); | |||
cpl_vector * cpl_vector_extract(const cpl_vector *, int, int, int); | cpl_vector * cpl_vector_extract(const cpl_vector *, int, | |||
int, int) CPL_ATTR_ALLOC; | ||||
/* Statistics on cpl_vector */ | /* Statistics on cpl_vector */ | |||
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_ATTR_ALLOC; | |||
#ifdef CPL_HAVE_GNUC_UNUSED_RESULT | cpl_vector * cpl_vector_filter_median_create(const cpl_vector *, | |||
__attribute__((warn_unused_result, malloc)) | int) CPL_ATTR_ALLOC; | |||
#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 *, | |||
cpl_matrix **); | cpl_matrix **); | |||
/* FIXME: Will disappear. Do not use in new code! */ | cpl_vector * cpl_vector_new_lss_kernel(double, double) CPL_ATTR_DEPRECATED; | |||
cpl_vector * cpl_vector_new_lss_kernel(double, double) | ||||
#ifdef __GNUC__ | ||||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
cpl_error_code cpl_vector_convolve_symmetric(cpl_vector *, const cpl_vector *) | cpl_error_code cpl_vector_convolve_symmetric(cpl_vector *, const cpl_vector *) | |||
#ifdef __GNUC__ | CPL_ATTR_DEPRECATED; | |||
__attribute__((deprecated)) | ||||
#endif | ||||
; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif | #endif | |||
End of changes. 14 change blocks. | ||||
78 lines changed or deleted | 25 lines changed or added | |||
cpl_version.h | cpl_version.h | |||
---|---|---|---|---|
skipping to change at line 30 | skipping to change at line 30 | |||
/* | /* | |||
* Do not edit this file! This file was automatically generated. | * Do not edit this file! This file was automatically generated. | |||
* All changes to this file might be lost! | * All changes to this file might be lost! | |||
*/ | */ | |||
#ifndef CPL_VERSION_H | #ifndef CPL_VERSION_H | |||
#define CPL_VERSION_H | #define CPL_VERSION_H | |||
#include <cpl_macros.h> | #include <cpl_macros.h> | |||
#define CPL_VERSION_STRING "5.2.0" | #define CPL_VERSION_STRING "5.3.1" | |||
#define CPL_VERSION_CODE 328192 | #define CPL_VERSION_CODE 328449 | |||
#define CPL_VERSION(major, minor, micro) \ | #define CPL_VERSION(major, minor, micro) \ | |||
(((major) * 65536) + ((minor) * 256) + (micro)) | (((major) * 65536) + ((minor) * 256) + (micro)) | |||
CPL_BEGIN_DECLS | CPL_BEGIN_DECLS | |||
unsigned int cpl_version_get_major(void) | unsigned int cpl_version_get_major(void) CPL_ATTR_CONST; | |||
#ifdef __GNUC__ | unsigned int cpl_version_get_minor(void) CPL_ATTR_CONST; | |||
__attribute__((const)) | unsigned int cpl_version_get_micro(void) CPL_ATTR_CONST; | |||
#endif | ||||
; | ||||
unsigned int cpl_version_get_minor(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
unsigned int cpl_version_get_micro(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
unsigned int cpl_version_get_interface_age(void) | unsigned int cpl_version_get_interface_age(void) CPL_ATTR_CONST; | |||
#ifdef __GNUC__ | unsigned int cpl_version_get_binary_age(void) CPL_ATTR_CONST; | |||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
unsigned int cpl_version_get_binary_age(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
const char *cpl_version_get_version(void) | const char *cpl_version_get_version(void) CPL_ATTR_CONST; | |||
#ifdef __GNUC__ | unsigned int cpl_version_get_binary_version(void) CPL_ATTR_CONST; | |||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
unsigned int cpl_version_get_binary_version(void) | ||||
#ifdef __GNUC__ | ||||
__attribute__((const)) | ||||
#endif | ||||
; | ||||
CPL_END_DECLS | CPL_END_DECLS | |||
#endif /* CPL_VERSION_H */ | #endif /* CPL_VERSION_H */ | |||
End of changes. 4 change blocks. | ||||
37 lines changed or deleted | 9 lines changed or added | |||
cpl_wcs.h | cpl_wcs.h | |||
---|---|---|---|---|
/* $Id: cpl_wcs.h,v 1.11 2009/08/05 09:32:57 llundin Exp $ | /* $Id: cpl_wcs.h,v 1.13 2010/11/11 10:32:10 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, | |||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/08/05 09:32:57 $ | * $Date: 2010/11/11 10:32:10 $ | |||
* $Revision: 1.11 $ | * $Revision: 1.13 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CPL_WCS_H | #ifndef CPL_WCS_H | |||
#define CPL_WCS_H | #define CPL_WCS_H | |||
#include "cpl_error.h" | #include "cpl_error.h" | |||
#include "cpl_propertylist.h" | #include "cpl_propertylist.h" | |||
#include "cpl_matrix.h" | #include "cpl_matrix.h" | |||
#include "cpl_array.h" | #include "cpl_array.h" | |||
skipping to change at line 66 | skipping to change at line 66 | |||
typedef enum cpl_wcs_platesol_fitmode cpl_wcs_platesol_fitmode; | typedef enum cpl_wcs_platesol_fitmode cpl_wcs_platesol_fitmode; | |||
enum cpl_wcs_platesol_outmode { | enum cpl_wcs_platesol_outmode { | |||
CPL_WCS_MV_CRVAL, | CPL_WCS_MV_CRVAL, | |||
CPL_WCS_MV_CRPIX}; | CPL_WCS_MV_CRPIX}; | |||
typedef enum cpl_wcs_platesol_outmode cpl_wcs_platesol_outmode; | typedef enum cpl_wcs_platesol_outmode cpl_wcs_platesol_outmode; | |||
/* Function prototypes */ | /* Function prototypes */ | |||
cpl_wcs *cpl_wcs_new_from_propertylist(const cpl_propertylist *plist); | cpl_wcs *cpl_wcs_new_from_propertylist(const cpl_propertylist *plist) | |||
CPL_ATTR_ALLOC; | ||||
void cpl_wcs_delete(cpl_wcs *wcs); | void cpl_wcs_delete(cpl_wcs *wcs); | |||
cpl_error_code cpl_wcs_convert(const cpl_wcs *wcs, const cpl_matrix *from, | cpl_error_code cpl_wcs_convert(const cpl_wcs *wcs, const cpl_matrix *from, | |||
cpl_matrix **to, cpl_array **status, | cpl_matrix **to, cpl_array **status, | |||
cpl_wcs_trans_mode transform); | cpl_wcs_trans_mode transform); | |||
cpl_error_code cpl_wcs_platesol(const cpl_propertylist *ilist, | cpl_error_code cpl_wcs_platesol(const cpl_propertylist *ilist, | |||
const cpl_matrix *cel, | const cpl_matrix *cel, | |||
const cpl_matrix *xy, int niter, float thre sh, | const cpl_matrix *xy, int niter, float thre sh, | |||
cpl_wcs_platesol_fitmode fitmode, | cpl_wcs_platesol_fitmode fitmode, | |||
cpl_wcs_platesol_outmode outmode, | cpl_wcs_platesol_outmode outmode, | |||
cpl_propertylist **olist); | cpl_propertylist **olist); | |||
End of changes. 4 change blocks. | ||||
6 lines changed or deleted | 7 lines changed or added | |||
cxdeque.h | cxdeque.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: scastro $ | |||
* $Date: 2007/07/04 12:14:04 $ | * $Date: 2007/07/04 12:14:04 $ | |||
* $Revision: 1.2 $ | * $Revision: 1.2 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_DEQUE_H | #ifndef CX_DEQUE_H | |||
#define CX_DEQUE_H | #define CX_DEQUE_H | |||
#include <cxmemory.h> | #include <cxmemory.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
typedef struct _cx_deque_ cx_deque; | typedef struct _cx_deque_ cx_deque; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxfileutils.h | cxfileutils.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: rpalsa $ | |||
* $Date: 2006/06/12 09:57:33 $ | * $Date: 2006/06/12 09:57:33 $ | |||
* $Revision: 1.3 $ | * $Revision: 1.3 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_FILEUTILS_H | #ifndef CX_FILEUTILS_H | |||
#define CX_FILEUTILS_H | #define CX_FILEUTILS_H | |||
#include <cxtypes.h> | #include <cxtypes.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
cxlong cx_path_max(const cxchar *); | cxlong cx_path_max(const cxchar *); | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxlist.h | cxlist.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: rpalsa $ | |||
* $Date: 2006/06/12 09:57:33 $ | * $Date: 2006/06/12 09:57:33 $ | |||
* $Revision: 1.3 $ | * $Revision: 1.3 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_LIST_H | #ifndef CX_LIST_H | |||
#define CX_LIST_H | #define CX_LIST_H | |||
#include <cxmemory.h> | #include <cxmemory.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
typedef struct _cx_lnode_ *cx_list_iterator; | typedef struct _cx_lnode_ *cx_list_iterator; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxmacros.h | cxmacros.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: scastro $ | * $Author: scastro $ | |||
* $Date: 2007/12/12 12:09:41 $ | * $Date: 2007/12/12 12:09:41 $ | |||
* $Revision: 1.6 $ | * $Revision: 1.6 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
/* | /* | |||
* This file MUST not include any other cext header file. | * This file MUST not include any other cext header file. | |||
*/ | */ | |||
#ifndef CX_MACROS_H | #ifndef CX_MACROS_H | |||
#define CX_MACROS_H | #define CX_MACROS_H | |||
/* | /* | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxmap.h | cxmap.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: rpalsa $ | |||
* $Date: 2006/06/12 09:57:33 $ | * $Date: 2006/06/12 09:57:33 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.4 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_MAP_H | #ifndef CX_MAP_H | |||
#define CX_MAP_H | #define CX_MAP_H | |||
#include <cxmemory.h> | #include <cxmemory.h> | |||
#include <cxtree.h> | #include <cxtree.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxmemory.h | cxmemory.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/03/25 13:01:22 $ | * $Date: 2009/03/25 13:01:22 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.4 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_MEMORY_H | #ifndef CX_MEMORY_H | |||
#define CX_MEMORY_H | #define CX_MEMORY_H | |||
#include <cxtypes.h> | #include <cxtypes.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
struct _cx_memory_vtable_ { | struct _cx_memory_vtable_ { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxmessages.h | cxmessages.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/07 15:48:15 $ | * $Date: 2009/12/07 15:48:15 $ | |||
* $Revision: 1.9 $ | * $Revision: 1.9 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_MESSAGES_H | #ifndef CX_MESSAGES_H | |||
#define CX_MESSAGES_H | #define CX_MESSAGES_H | |||
#include <stdarg.h> | #include <stdarg.h> | |||
#include <cxmacros.h> | #include <cxmacros.h> | |||
#include <cxtypes.h> | #include <cxtypes.h> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxmultimap.h | cxmultimap.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: rpalsa $ | |||
* $Date: 2006/06/12 09:57:33 $ | * $Date: 2006/06/12 09:57:33 $ | |||
* $Revision: 1.5 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_MULTIMAP_H | #ifndef CX_MULTIMAP_H | |||
#define CX_MULTIMAP_H | #define CX_MULTIMAP_H | |||
#include <cxmemory.h> | #include <cxmemory.h> | |||
#include <cxtree.h> | #include <cxtree.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxslist.h | cxslist.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: rpalsa $ | |||
* $Date: 2006/06/12 09:54:44 $ | * $Date: 2006/06/12 09:54:44 $ | |||
* $Revision: 1.6 $ | * $Revision: 1.6 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_SLIST_H | #ifndef CX_SLIST_H | |||
#define CX_SLIST_H | #define CX_SLIST_H | |||
#include <cxmemory.h> | #include <cxmemory.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
typedef struct _cx_slnode_ *cx_slist_iterator; | typedef struct _cx_slnode_ *cx_slist_iterator; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxstring.h | cxstring.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/07 15:48:15 $ | * $Date: 2009/12/07 15:48:15 $ | |||
* $Revision: 1.7 $ | * $Revision: 1.7 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_STRING_H_ | #ifndef CX_STRING_H_ | |||
#define CX_STRING_H_ 1 | #define CX_STRING_H_ 1 | |||
#include <stdarg.h> | #include <stdarg.h> | |||
#include <string.h> | #include <string.h> | |||
#include <ctype.h> | #include <ctype.h> | |||
#include <cxtypes.h> | #include <cxtypes.h> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxstrutils.h | cxstrutils.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/07 15:48:15 $ | * $Date: 2009/12/07 15:48:15 $ | |||
* $Revision: 1.5 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_STRUTILS_H | #ifndef CX_STRUTILS_H | |||
#define CX_STRUTILS_H | #define CX_STRUTILS_H | |||
#include <stdarg.h> | #include <stdarg.h> | |||
#include <cxtypes.h> | #include <cxtypes.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxtree.h | cxtree.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: rpalsa $ | * $Author: rpalsa $ | |||
* $Date: 2006/06/12 09:54:44 $ | * $Date: 2006/06/12 09:54:44 $ | |||
* $Revision: 1.4 $ | * $Revision: 1.4 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_TREE_H | #ifndef CX_TREE_H | |||
#define CX_TREE_H | #define CX_TREE_H | |||
#include <cxmemory.h> | #include <cxmemory.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
typedef struct _cx_tnode_ *cx_tree_iterator; | typedef struct _cx_tnode_ *cx_tree_iterator; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxutils.h | cxutils.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* 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 U SA | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 U SA | |||
*/ | */ | |||
/* | /* | |||
* $Author: llundin $ | * $Author: llundin $ | |||
* $Date: 2009/12/07 15:48:15 $ | * $Date: 2009/12/07 15:48:15 $ | |||
* $Revision: 1.5 $ | * $Revision: 1.5 $ | |||
* $Name: cpl-5_2_0 $ | * $Name: cpl-5_3_0-BRANCH $ | |||
*/ | */ | |||
#ifndef CX_UTILS_H | #ifndef CX_UTILS_H | |||
#define CX_UTILS_H | #define CX_UTILS_H | |||
#include <stdarg.h> | #include <stdarg.h> | |||
#include <cxtypes.h> | #include <cxtypes.h> | |||
CX_BEGIN_DECLS | CX_BEGIN_DECLS | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||