/* 
* 
* Copyright (C) 2013 UMPC
* 
* This file is part of CLaRiNet.
*  
* CLaRiNet is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* 
* CLaRiNet is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with CLaRiNet.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef FINITESIZESCALING_H
#define FINITESIZESCALING_H

#ifdef __cplusplus
extern "C" {
#endif
	int RecursionNoe ( int n, double * p , int * g , int * h , double * _Pn ) ;
#ifdef __cplusplus
}
#endif


double logCoeffBinom ( int n , int k ) ;
int nLogx ( int n , double x , double * _res );


#ifdef __cplusplus
extern "C" {
#endif
	int RecursionBohmMohanty ( int n, double * w , int * c , double * _Qn );
#ifdef __cplusplus
}
#endif


#ifdef __cplusplus
extern "C" {
#endif
	int RecursionBohmMohanty2 ( int n, int i0 , double L , double H , double * _Qn );
#ifdef __cplusplus
}
#endif


double BerkJonesLike ( double phat, double p );


#ifdef __cplusplus
extern "C" {
#endif
	int ZeroBJ ( double Fn , double lambda , double x1, double x2, double tol , int ITMAX , double * _res ) ;
#ifdef __cplusplus
}
#endif


#ifdef __cplusplus
extern "C" {
#endif
	int CoverageLevel ( int n , int i0 , double Fn , double lambda , int ITMAX , double tol , double * _L , double * _H , double * _cl );
#ifdef __cplusplus
}
#endif


#ifdef __cplusplus
extern "C" {
#endif
	int PointWiseConfidence ( int n , int i0 , double Fn , double alpha , double UBlambda , int ITMAX_BM , int ITMAX_BJ , double * _L , double * _H , double * _cl );
#ifdef __cplusplus
}
#endif


#endif
