59 vector[i]=const_elem ;
64 range_fill_vector(vector, vlen, start);
69 random_vector(vector, vlen, min_value, max_value);
74 randperm(vector, vlen);
79 return SGVector<T>(clone_vector(vector, vlen), vlen);
84 ASSERT(vector && (index>=0) && (index<vlen));
90 ASSERT(vector && (index>=0) && (index<vlen));
91 vector[index]=p_element;
99 memset(&vector[vlen], 0, (n-vlen)*
sizeof(T));
108 for (int32_t i=0; i<vlen; i++)
116 for (int32_t i=0; i<vlen; i++)
122 SG_SPRINT(
"SGVector '%p' of size: %d\n", vector, vlen);
127 vector=((
SGVector*)(&orig))->vector;
145 const char* prefix)
const
147 display_vector(vector, vlen, name, prefix);
163 for (int32_t i=0; i<n; i++)
164 SG_SPRINT(
"%s%d%s", prefix, vector[i] ? 1 : 0, i==n-1?
"" :
",");
174 for (int32_t i=0; i<n; i++)
175 SG_SPRINT(
"%s%c%s", prefix, vector[i], i==n-1?
"" :
",");
185 for (int32_t i=0; i<n; i++)
186 SG_SPRINT(
"%s%d%s", prefix, vector[i], i==n-1?
"" :
",");
196 for (int32_t i=0; i<n; i++)
197 SG_SPRINT(
"%s%d%s", prefix, vector[i], i==n-1?
"" :
",");
207 for (int32_t i=0; i<n; i++)
208 SG_SPRINT(
"%s%d%s", prefix, vector[i], i==n-1?
"" :
",");
218 for (int32_t i=0; i<n; i++)
219 SG_SPRINT(
"%s%d%s", prefix, vector[i], i==n-1?
"" :
",");
229 for (int32_t i=0; i<n; i++)
230 SG_SPRINT(
"%s%d%s", prefix, vector[i], i==n-1?
"" :
",");
240 for (int32_t i=0; i<n; i++)
241 SG_SPRINT(
"%s%d%s", prefix, vector[i], i==n-1?
"" :
",");
252 for (int32_t i=0; i<n; i++)
253 SG_SPRINT(
"%s%lld%s", prefix, vector[i], i==n-1?
"" :
",");
263 for (int32_t i=0; i<n; i++)
264 SG_SPRINT(
"%s%llu%s", prefix, vector[i], i==n-1?
"" :
",");
274 for (int32_t i=0; i<n; i++)
275 SG_SPRINT(
"%s%g%s", prefix, vector[i], i==n-1?
"" :
",");
285 for (int32_t i=0; i<n; i++)
286 SG_SPRINT(
"%s%.18g%s", prefix, vector[i], i==n-1?
"" :
",");
292 const char* name,
const char* prefix)
296 for (int32_t i=0; i<n; i++)
298 SG_SPRINT(
"%s%.36Lg%s", prefix, (
long double) vector[i],
310 cblas_daxpy(n, scalar, vec2, skip, vec1, skip);
312 for (int32_t i=0; i<n; i++)
313 vec1[i]+=scalar*vec2[i];
323 cblas_saxpy(n, scalar, vec2, skip, vec1, skip);
325 for (int32_t i=0; i<n; i++)
326 vec1[i]+=scalar*vec2[i];
335 Eigen::Map<const Eigen::VectorXd> ev1(v1,n);
336 Eigen::Map<const Eigen::VectorXd> ev2(v2,n);
341 r = cblas_ddot(n, v1, skip, v2, skip);
343 for (int32_t i=0; i<n; i++)
355 Eigen::Map<const Eigen::VectorXf> ev1(v1,n);
356 Eigen::Map<const Eigen::VectorXf> ev2(v2,n);
361 r = cblas_sdot(n, v1, skip, v2, skip);
363 for (int32_t i=0; i<n; i++)
374 for (int32_t i=0; i<len; i++)
375 vec[i]=CMath::random(min_value, max_value);
382 for (int32_t i = 0; i < n; i++)
391 for (int32_t i = 0; i < n; i++)
392 CMath::swap(vec[i], vec[CMath::random(i, n-1)]);
405 CMath::swap(vec.
vector[i],
428 for (int32_t i=0; i<len; i++)
431 return CMath::sqrt(result);
438 for (int32_t i=0; i<len; i++)
441 return CMath::sqrt(result);
448 for (int32_t i=0; i<len; i++)
451 return CMath::sqrt(result);
458 for (int32_t i=0; i<len; i++)
461 return CMath::sqrt(result);
468 for (int32_t i=0; i<len; i++)
471 return CMath::sqrt(result);
478 for (int32_t i=0; i<len; i++)
481 return CMath::sqrt(result);
488 for (int32_t i=0; i<len; i++)
491 return CMath::sqrt(result);
498 for (int32_t i=0; i<len; i++)
501 return CMath::sqrt(result);
508 for (int32_t i=0; i<len; i++)
511 return CMath::sqrt(result);
519 norm = cblas_dnrm2(n, v, 1);
521 norm = CMath::sqrt(SGVector::dot(v, v, n));
530 for (int32_t i=0; i<len; i++)
533 return CMath::sqrt(result);
541 for (int32_t i=0;i<len; ++i)
542 result+=CMath::abs(x[i]);
552 for (int32_t i=0; i<len; i++)
553 result+=CMath::pow(fabs(x[i]), q);
563 return CMath::pow((
float64_t) qsq(x, len, q), 1.0/q);
573 for (int32_t i=1; i<len; i++)
574 minv=CMath::min(vec[i], minv);
586 for (int32_t i=1; i<len; i++)
587 maxv=CMath::max(vec[i], maxv);
597 for (int32_t i=0; i<len; i++)
598 result+=CMath::abs(vec[i]);
607 return CMath::abs(x-y)<precision;
613 CMath::qsort(output, size);
616 for (int32_t i=0; i<size; i++)
618 if (i==0 || output[i]!=output[i-1])
619 output[j++]=output[i];
630 for (
index_t i=0; i < vlen; ++i)
631 if (vector[i] == elem)
639 scale_vector(alpha, vector, vlen);
646 for (
index_t i = 0 ; i < vlen ; ++i )