]> granicus.if.org Git - liblinear/commitdiff
Remove a redundant array in Hv functions
authorWei-Lin Chiang <b02902056@ntu.edu.tw>
Wed, 7 Sep 2016 04:54:09 +0000 (12:54 +0800)
committerWei-Lin Chiang <b02902056@ntu.edu.tw>
Wed, 7 Sep 2016 04:58:54 +0000 (12:58 +0800)
linear.cpp

index 2ec2541866135628a261aa78aa648360f8c20245..e1d12e3a11f8274a7c4e772b30c58093e0d2bbfc 100644 (file)
@@ -173,7 +173,6 @@ void l2r_lr_fun::Hv(double *s, double *Hs)
        int i;
        int l=prob->l;
        int w_size=get_nr_variable();
-       double *wa = new double[l];
        feature_node **x=prob->x;
 
        for(i=0;i<w_size;i++)
@@ -181,15 +180,14 @@ void l2r_lr_fun::Hv(double *s, double *Hs)
        for(i=0;i<l;i++)
        {
                feature_node * const xi=x[i];
-               wa[i] = sparse_operator::dot(s, xi);
+               double xTs = sparse_operator::dot(s, xi);
 
-               wa[i] = C[i]*D[i]*wa[i];
+               xTs = C[i]*D[i]*xTs;
 
-               sparse_operator::axpy(wa[i], xi, Hs);
+               sparse_operator::axpy(xTs, xi, Hs);
        }
        for(i=0;i<w_size;i++)
                Hs[i] = s[i] + Hs[i];
-       delete[] wa;
 }
 
 void l2r_lr_fun::Xv(double *v, double *Xv)
@@ -309,7 +307,6 @@ void l2r_l2_svc_fun::Hv(double *s, double *Hs)
 {
        int i;
        int w_size=get_nr_variable();
-       double *wa = new double[sizeI];
        feature_node **x=prob->x;
 
        for(i=0;i<w_size;i++)
@@ -317,15 +314,14 @@ void l2r_l2_svc_fun::Hv(double *s, double *Hs)
        for(i=0;i<sizeI;i++)
        {
                feature_node * const xi=x[I[i]];
-               wa[i] = sparse_operator::dot(s, xi);
+               double xTs = sparse_operator::dot(s, xi);
 
-               wa[i] = C[I[i]]*wa[i];
+               xTs = C[I[i]]*xTs;
 
-               sparse_operator::axpy(wa[i], xi, Hs);
+               sparse_operator::axpy(xTs, xi, Hs);
        }
        for(i=0;i<w_size;i++)
                Hs[i] = s[i] + 2*Hs[i];
-       delete[] wa;
 }
 
 void l2r_l2_svc_fun::Xv(double *v, double *Xv)