// version 1.0.0 14Feb2018 import com.stata.sfi.*; public class MyCalcs { public static int myWork(String args[]) { int rc ; MyMatrix bmat, vmat ; String bname, vname, nname ; MyLong nObs ; if (args.length < 3) { SFIToolkit.errorln("Too few arguments") ; return 198 ; } else { bname = args[0] ; vname = args[1] ; nname = args[2] ; } int nVariables = Data.getParsedVarCount(); long firstObs = Data.getObsParsedIn1(); long lastObs = Data.getObsParsedIn2(); // create and initialize vector for sample averages bmat = new MyMatrix(1, nVariables); // create and initialize matrix for VCE vmat = new MyMatrix(nVariables, nVariables); // create and initialize MyLong for sample size nObs = new MyLong(0) ; // Put sample averages in bmat rc = MyCalcsW.myAve(bmat, firstObs, lastObs, nVariables, nObs) ; if (rc>0) return(rc) ; // Put VCE in vmat rc = MyCalcsW.myV(bmat, vmat, firstObs, lastObs, nVariables, nObs) ; if (rc>0) return(rc) ; // Copy sample average from bmat to Stata matrix bname rc = bmat.copyJavatoStataMatrix(bname) ; if (rc>0) return(rc) ; // Copy VCE from vmat to Stata matrix vname rc = vmat.copyJavatoStataMatrix(vname) ; if (rc>0) return(rc) ; // Copy sample size from n to Stata scalar nname rc = Scalar.setValue(nname, (double) nObs.getValue()) ; if (rc>0) return(rc) ; return(rc); } }