Mercurial > hg > x
diff procedures.cpp @ 3:42c078b19e9a
* Replace null-pointer hack with use of standard macro offsetof(struct,member)
author | Chris Cannam |
---|---|
date | Tue, 05 Oct 2010 16:18:52 +0100 |
parents | fc19d45615d1 |
children | 5f3c32dc6e17 |
line wrap: on
line diff
--- a/procedures.cpp Tue Oct 05 11:04:40 2010 +0100 +++ b/procedures.cpp Tue Oct 05 16:18:52 2010 +0100 @@ -2,6 +2,7 @@ #include <math.h> #include <string.h> +#include <stddef.h> #include "procedures.h" #include "matrix.h" #include "opt.h" @@ -1424,8 +1425,8 @@ int HxPeak2(double*& hps, double*& vhps, double (*F)(double, void*), double (*dF)(double, void*), double(*ddF)(double, void*), void* params, double st, double en, double epf) { struct l_hx {int N; union {double B; struct {int k1; int k2;};}; cdouble* x; double dhxpeak; double hxpeak;} *p=(l_hx *)params; - int dfshift=int(&((l_hx*)0)->dhxpeak); - int fshift=int(&((l_hx*)0)->hxpeak); + int dfshift=offsetof(l_hx, dhxpeak); + int fshift=offsetof(l_hx, hxpeak); double B=p->B; int count=0; @@ -2411,7 +2412,7 @@ double Romberg(int n, double(*f)(double, void*), double a, double b, void* params) { int np=1; - double* r1=new double[n+1];. + double* r1=new double[n+1]; double* r2=new double[n+1]; double h=b-a, *swp; r1[1]=h*(f(a, params)+f(b, params))/2;