*! version 1.0.0 23oct1997 STB-43 dm55 program define _gfill version 5.0 local type "`1'" mac shift local var1 "`1'" mac shift mac shift parse "`*'", parse("( )") mac shift local lexp "" while "`1'" != ")" { confirm number `1' local lexp "`lexp' `1'" mac shift } mac shift parse "`*'" local k : word count `lexp' local k2 = round(`k'/ 2, 1) local k3 = `k2' + 1 parse "`lexp'", parse(" ") local i 1 quietly generate `type' `var1' = . while `i' <= `k' { quietly replace `var1' = `1' in `i' local i = `i'+1 mac shift } tempvar diff quietly { gen `diff' = `var1'[_n+1] - `var1'[_n] replace `diff' = `diff'[_n-`k2'] in `k3'/l replace `var1' = `var1'[_n-1] + `diff'[_n-1] in `k3'/l drop `diff' } end