13.07.2014 Views

pdf - Madagascar

pdf - Madagascar

pdf - Madagascar

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6<br />

seabeam/interpolate.c<br />

1 /∗ Multi−dimensional missing data i n t e r p o l a t i o n . ∗/<br />

2<br />

3 #include <br />

4<br />

5 int main ( int argc , char∗ argv [ ] )<br />

6 {<br />

7 int na , ia , n i t e r , n , i ;<br />

8 float a0 , ∗mm, ∗ zero ;<br />

9 bool prec , ∗known ;<br />

10 char ∗ l a g f i l e ;<br />

11 s f f i l t e r aa ;<br />

12 s f f i l e in , out , f i l t , lag , mask ;<br />

13<br />

14 s f i n i t ( argc , argv ) ;<br />

15 in = s f i n p u t ( ” in ” ) ;<br />

16 f i l t = s f i n p u t ( ” f i l t ” ) ;<br />

17 /∗ f i l t e r f o r i n v e r s e model covariance ∗/<br />

18 out = s f o u t p u t ( ” out ” ) ;<br />

19<br />

20 n = s f f i l e s i z e ( in ) ;<br />

21<br />

22 i f ( ! s f g e t b o o l ( ” prec ”,& prec ) ) prec=true ;<br />

23 /∗ I f y , use p r e c o n d i t i o n i n g ∗/<br />

24 i f ( ! s f g e t i n t ( ” n i t e r ”,& n i t e r ) ) n i t e r =100;<br />

25 /∗ Number o f i t e r a t i o n s ∗/<br />

26<br />

27 i f ( ! s f h i s t i n t ( f i l t , ”n1”,&na ) ) s f e r r o r ( ”No n1=” ) ;<br />

28 aa = s f a l l o c a t e h e l i x ( na ) ;<br />

29<br />

30 i f ( ! s f h i s t f l o a t ( f i l t , ”a0”,&a0 ) ) a0 =1.;<br />

31<br />

32 /∗ Get f i l t e r l a g s ∗/<br />

33 i f (NULL == ( l a g f i l e = s f h i s t s t r i n g ( f i l t , ” l a g ” ) ) ) {<br />

34 for ( i a =0; i a < na ; i a++) {<br />

35 aa−>l a g [ i a ]= i a +1;<br />

36 }<br />

37 } else {<br />

38 l a g = s f i n p u t ( l a g f i l e ) ;<br />

39 s f i n t r e a d ( aa−>lag , na , l a g ) ;<br />

40 s f f i l e c l o s e ( l a g ) ;<br />

41 }<br />

42<br />

43 /∗ Get f i l t e r v a l u e s ∗/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!