/*#define errn_AAAA 1*/
/*#define ERR_PR(N) -(((N)<<8)+ errn_AAAA )*/
#define ERR_PR(N) (N)
#define ERROR_RET(FLAG, NUM) if (FLAG) return (NUM)
#define ERROR_RET1(FLAG) if (FLAG) return (FLAG)
#define ERR_TXT "lsqfit: least square fit program written by Francesco \'SkZ\' Mauro Copyright 2007\n\
Any use and redistribution of this software must be authorized by the author\n\n\
lsqfit find least square fit with errors for planes passing through the origin of axes.\n\n\
OPTIONS:\n\
-i inputfile : If you don't give anything standard input and standerd output will be used (actually due a problem, it's not possible to use the stdinput. Sorry)\n-o output \n\n\
--list=list-of-columns-to-be-used\n\
For the list of columns, put a comma-separeted list and/or a tilde-separeted interval of the columns you want to be used (if you don't put a number before or after the ~, it's assumed the first or the last column); \nthere mustn't be spaces! \n\
The data are read so: first 2 column are y and err_y, following column are pairs of x_i and err_xi. If you need a constant, put a column of 1 and a column of 0 as error.\n\
You can tell the program to insert columns of constant value or use a constant value putting a 'c' follow by the value. You can tell the program to do simple operations writing the operazion between [].\nYou may need to put the list between \"\" or \'\'.\n\n\
[a?b] or [?a] with ? the operation: + - * / have their normal meaning, ^ is power, a#b --> sqrt(a*a+b*b), a@b --> abs(a)+abs(b)\nYou can use also unary oparation like l for natural logarithm and L for base-10 logarithm\n\n\
Examples: 1,4,3,7,c1,c0 [l2],c.01,4~6,c0 1~6,7,6,8,6 \'~\' [1+3],[2#4],[5-7],[6@8],c1,c0 [c2^1],c1,[2/c3],~3\n\n\
-a alpha -b beta \nalpha and beta are the coefficient for the \'Stetson\'-weighting function f=1/(1+[|y_i-y(x_i)|/(alpha*sigma)]^beta).\nPut beta=0 or alpha=0 for no weight-correction. Good value are:\nalpha=2-2.5\nbeta=2-4\n\n\
-n maximum-number-of-iteration\n\
-s minimum-required-sigma : maybe not useful, but it's used to say when \"it's almost zero\""
/* You can give the value of (oldcoeff-coeff)/coeff to decide when the program has done enough iteration.\nExit value is the number of iteration done.\nDefault value are:\nenough=%f\nmax iteration=%ld\ */