• Home
  • Raw
  • Download

Lines Matching refs:m1

95   ArrayType m1 = ArrayType::Random(rows, cols),  in array()  local
98 ArrayType m4 = m1; // copy constructor in array()
99 VERIFY_IS_APPROX(m1, m4); in array()
108 VERIFY_IS_APPROX(m1 + s1, s1 + m1); in array()
109 VERIFY_IS_APPROX(m1 + s1, ArrayType::Constant(rows,cols,s1) + m1); in array()
110 VERIFY_IS_APPROX(s1 - m1, (-m1)+s1 ); in array()
111 VERIFY_IS_APPROX(m1 - s1, m1 - ArrayType::Constant(rows,cols,s1)); in array()
112 VERIFY_IS_APPROX(s1 - m1, ArrayType::Constant(rows,cols,s1) - m1); in array()
113 VERIFY_IS_APPROX((m1*Scalar(2)) - s2, (m1+m1) - ArrayType::Constant(rows,cols,s2) ); in array()
114 m3 = m1; in array()
116 VERIFY_IS_APPROX(m3, m1 + s2); in array()
117 m3 = m1; in array()
119 VERIFY_IS_APPROX(m3, m1 - s1); in array()
122 m3 = m1; in array()
123 …ArrayType::Map(m1.data(), m1.rows(), m1.cols()) -= ArrayType::Map(m2.data(), m2.rows(), m2.cols()); in array()
124 VERIFY_IS_APPROX(m1, m3 - m2); in array()
126 m3 = m1; in array()
127 …ArrayType::Map(m1.data(), m1.rows(), m1.cols()) += ArrayType::Map(m2.data(), m2.rows(), m2.cols()); in array()
128 VERIFY_IS_APPROX(m1, m3 + m2); in array()
130 m3 = m1; in array()
131 …ArrayType::Map(m1.data(), m1.rows(), m1.cols()) *= ArrayType::Map(m2.data(), m2.rows(), m2.cols()); in array()
132 VERIFY_IS_APPROX(m1, m3 * m2); in array()
134 m3 = m1; in array()
137 …ArrayType::Map(m1.data(), m1.rows(), m1.cols()) /= ArrayType::Map(m2.data(), m2.rows(), m2.cols()); in array()
138 VERIFY_IS_APPROX(m1, m3 / m2); in array()
141 VERIFY_IS_APPROX(m1.abs().colwise().sum().sum(), m1.abs().sum()); in array()
142 VERIFY_IS_APPROX(m1.abs().rowwise().sum().sum(), m1.abs().sum()); in array()
144 VERIFY_IS_MUCH_SMALLER_THAN(abs(m1.colwise().sum().sum() - m1.sum()), m1.abs().sum()); in array()
145 VERIFY_IS_MUCH_SMALLER_THAN(abs(m1.rowwise().sum().sum() - m1.sum()), m1.abs().sum()); in array()
146 …if (!internal::isMuchSmallerThan(abs(m1.sum() - (m1+m2).sum()), m1.abs().sum(), test_precision<Sca… in array()
147 VERIFY_IS_NOT_APPROX(((m1+m2).rowwise().sum()).sum(), m1.sum()); in array()
148 …VERIFY_IS_APPROX(m1.colwise().sum(), m1.colwise().redux(internal::scalar_sum_op<Scalar,Scalar>())); in array()
151 m3 = m1; in array()
152 VERIFY_IS_APPROX(m3.colwise() += cv1, m1.colwise() + cv1); in array()
153 m3 = m1; in array()
154 VERIFY_IS_APPROX(m3.colwise() -= cv1, m1.colwise() - cv1); in array()
155 m3 = m1; in array()
156 VERIFY_IS_APPROX(m3.rowwise() += rv1, m1.rowwise() + rv1); in array()
157 m3 = m1; in array()
158 VERIFY_IS_APPROX(m3.rowwise() -= rv1, m1.rowwise() - rv1); in array()
194 VERIFY_IS_APPROX(m1.pow(2), m1.square()); in array()
195 VERIFY_IS_APPROX(pow(m1,2), m1.square()); in array()
196 VERIFY_IS_APPROX(m1.pow(3), m1.cube()); in array()
197 VERIFY_IS_APPROX(pow(m1,3), m1.cube()); in array()
198 VERIFY_IS_APPROX((-m1).pow(3), -m1.cube()); in array()
199 VERIFY_IS_APPROX(pow(2*m1,3), 8*m1.cube()); in array()
201 VERIFY_IS_APPROX(Eigen::pow(m1,exponents), m1.square()); in array()
202 VERIFY_IS_APPROX(m1.pow(exponents), m1.square()); in array()
203 VERIFY_IS_APPROX(Eigen::pow(2*m1,exponents), 4*m1.square()); in array()
204 VERIFY_IS_APPROX((2*m1).pow(exponents), 4*m1.square()); in array()
205 VERIFY_IS_APPROX(Eigen::pow(m1,2*exponents), m1.square().square()); in array()
206 VERIFY_IS_APPROX(m1.pow(2*exponents), m1.square().square()); in array()
207 VERIFY_IS_APPROX(Eigen::pow(m1(0,0), exponents), ArrayType::Constant(rows,cols,m1(0,0)*m1(0,0))); in array()
270 ArrayType m1 = ArrayType::Random(rows, cols), in comparisons() local
273 m4 = m1; in comparisons()
277 VERIFY(((m1 + Scalar(1)) > m1).all()); in comparisons()
278 VERIFY(((m1 - Scalar(1)) < m1).all()); in comparisons()
281 m3 = m1; in comparisons()
283 VERIFY(! (m1 < m3).all() ); in comparisons()
284 VERIFY(! (m1 > m3).all() ); in comparisons()
286 VERIFY(!(m1 > m2 && m1 < m2).any()); in comparisons()
287 VERIFY((m1 <= m2 || m1 >= m2).all()); in comparisons()
290 VERIFY( (m1 != (m1(r,c)+1) ).any() ); in comparisons()
291 VERIFY( (m1 > (m1(r,c)-1) ).any() ); in comparisons()
292 VERIFY( (m1 < (m1(r,c)+1) ).any() ); in comparisons()
293 VERIFY( (m1 == m1(r,c) ).any() ); in comparisons()
296 VERIFY( ( (m1(r,c)+1) != m1).any() ); in comparisons()
297 VERIFY( ( (m1(r,c)-1) < m1).any() ); in comparisons()
298 VERIFY( ( (m1(r,c)+1) > m1).any() ); in comparisons()
299 VERIFY( ( m1(r,c) == m1).any() ); in comparisons()
302 VERIFY_IS_APPROX( (m1<m2).select(m1,m2), m1.cwiseMin(m2) ); in comparisons()
303 VERIFY_IS_APPROX( (m1>m2).select(m1,m2), m1.cwiseMax(m2) ); in comparisons()
304 Scalar mid = (m1.cwiseAbs().minCoeff() + m1.cwiseAbs().maxCoeff())/Scalar(2); in comparisons()
307 m3(i,j) = abs(m1(i,j))<mid ? 0 : m1(i,j); in comparisons()
308 VERIFY_IS_APPROX( (m1.abs()<ArrayType::Constant(rows,cols,mid)) in comparisons()
309 .select(ArrayType::Zero(rows,cols),m1), m3); in comparisons()
311 VERIFY_IS_APPROX( (m1.abs()<ArrayType::Constant(rows,cols,mid)) in comparisons()
312 .select(0,m1), m3); in comparisons()
313 VERIFY_IS_APPROX( (m1.abs()>=ArrayType::Constant(rows,cols,mid)) in comparisons()
314 .select(m1,0), m3); in comparisons()
316 VERIFY_IS_APPROX( (m1.abs()<mid).select(0,m1), m3); in comparisons()
319 VERIFY(((m1.abs()+1)>RealScalar(0.1)).count() == rows*cols); in comparisons()
322 VERIFY( (m1<RealScalar(0) && m1>RealScalar(0)).count() == 0); in comparisons()
323 VERIFY( (m1<RealScalar(0) || m1>=RealScalar(0)).count() == rows*cols); in comparisons()
324 RealScalar a = m1.abs().mean(); in comparisons()
325 VERIFY( (m1<-a || m1>a).count() == (m1.abs()>a).count()); in comparisons()
330 …VERIFY_IS_APPROX(((m1.abs()+1)>RealScalar(0.1)).colwise().count(), ArrayOfIndices::Constant(cols,r… in comparisons()
331 …VERIFY_IS_APPROX(((m1.abs()+1)>RealScalar(0.1)).rowwise().count(), ArrayOfIndices::Constant(rows, … in comparisons()
344 ArrayType m1 = ArrayType::Random(rows, cols), in array_real() local
347 m4 = m1; in array_real()
354 VERIFY_IS_APPROX(m1.sin(), sin(m1)); in array_real()
355 VERIFY_IS_APPROX(m1.cos(), cos(m1)); in array_real()
356 VERIFY_IS_APPROX(m1.tan(), tan(m1)); in array_real()
357 VERIFY_IS_APPROX(m1.asin(), asin(m1)); in array_real()
358 VERIFY_IS_APPROX(m1.acos(), acos(m1)); in array_real()
359 VERIFY_IS_APPROX(m1.atan(), atan(m1)); in array_real()
360 VERIFY_IS_APPROX(m1.sinh(), sinh(m1)); in array_real()
361 VERIFY_IS_APPROX(m1.cosh(), cosh(m1)); in array_real()
362 VERIFY_IS_APPROX(m1.tanh(), tanh(m1)); in array_real()
364 VERIFY_IS_APPROX(m1.tanh().atanh(), atanh(tanh(m1))); in array_real()
365 VERIFY_IS_APPROX(m1.sinh().asinh(), asinh(sinh(m1))); in array_real()
366 VERIFY_IS_APPROX(m1.cosh().acosh(), acosh(cosh(m1))); in array_real()
368 VERIFY_IS_APPROX(m1.logistic(), logistic(m1)); in array_real()
370 VERIFY_IS_APPROX(m1.arg(), arg(m1)); in array_real()
371 VERIFY_IS_APPROX(m1.round(), round(m1)); in array_real()
372 VERIFY_IS_APPROX(m1.rint(), rint(m1)); in array_real()
373 VERIFY_IS_APPROX(m1.floor(), floor(m1)); in array_real()
374 VERIFY_IS_APPROX(m1.ceil(), ceil(m1)); in array_real()
375 VERIFY((m1.isNaN() == (Eigen::isnan)(m1)).all()); in array_real()
376 VERIFY((m1.isInf() == (Eigen::isinf)(m1)).all()); in array_real()
377 VERIFY((m1.isFinite() == (Eigen::isfinite)(m1)).all()); in array_real()
379 VERIFY_IS_APPROX(m1.abs(), abs(m1)); in array_real()
380 VERIFY_IS_APPROX(m1.abs2(), abs2(m1)); in array_real()
381 VERIFY_IS_APPROX(m1.square(), square(m1)); in array_real()
382 VERIFY_IS_APPROX(m1.cube(), cube(m1)); in array_real()
383 VERIFY_IS_APPROX(cos(m1+RealScalar(3)*m2), cos((m1+RealScalar(3)*m2).eval())); in array_real()
384 VERIFY_IS_APPROX(m1.sign(), sign(m1)); in array_real()
385 VERIFY((m1.sqrt().sign().isNaN() == (Eigen::isnan)(sign(sqrt(m1)))).all()); in array_real()
398 VERIFY((!(m1>m2) == (m1<=m2)).all()); in array_real()
400 VERIFY_IS_APPROX(sin(m1.asin()), m1); in array_real()
401 VERIFY_IS_APPROX(cos(m1.acos()), m1); in array_real()
402 VERIFY_IS_APPROX(tan(m1.atan()), m1); in array_real()
403 VERIFY_IS_APPROX(sinh(m1), Scalar(0.5)*(exp(m1)-exp(-m1))); in array_real()
404 VERIFY_IS_APPROX(cosh(m1), Scalar(0.5)*(exp(m1)+exp(-m1))); in array_real()
405 VERIFY_IS_APPROX(tanh(m1), (Scalar(0.5)*(exp(m1)-exp(-m1)))/(Scalar(0.5)*(exp(m1)+exp(-m1)))); in array_real()
406 VERIFY_IS_APPROX(logistic(m1), (Scalar(1)/(Scalar(1)+exp(-m1)))); in array_real()
407 VERIFY_IS_APPROX(arg(m1), ((m1<Scalar(0)).template cast<Scalar>())*Scalar(std::acos(Scalar(-1)))); in array_real()
408 VERIFY((round(m1) <= ceil(m1) && round(m1) >= floor(m1)).all()); in array_real()
409 VERIFY((rint(m1) <= ceil(m1) && rint(m1) >= floor(m1)).all()); in array_real()
410 VERIFY(((ceil(m1) - round(m1)) <= Scalar(0.5) || (round(m1) - floor(m1)) <= Scalar(0.5)).all()); in array_real()
411 VERIFY(((ceil(m1) - round(m1)) <= Scalar(1.0) && (round(m1) - floor(m1)) <= Scalar(1.0)).all()); in array_real()
412 VERIFY(((ceil(m1) - rint(m1)) <= Scalar(0.5) || (rint(m1) - floor(m1)) <= Scalar(0.5)).all()); in array_real()
413 VERIFY(((ceil(m1) - rint(m1)) <= Scalar(1.0) && (rint(m1) - floor(m1)) <= Scalar(1.0)).all()); in array_real()
414 VERIFY((Eigen::isnan)((m1*Scalar(0))/Scalar(0)).all()); in array_real()
416 …VERIFY(((Eigen::isfinite)(m1) && (!(Eigen::isfinite)(m1*Scalar(0)/Scalar(0))) && (!(Eigen::isfinit… in array_real()
418 VERIFY((abs(m1) == m1 || abs(m1) == -m1).all()); in array_real()
420 VERIFY_IS_APPROX(m1.absolute_difference(m2), (m1 > m2).select(m1 - m2, m2 - m1)); in array_real()
421 VERIFY_IS_APPROX( m1.sign(), -(-m1).sign() ); in array_real()
422 VERIFY_IS_APPROX( m1*m1.sign(),m1.abs()); in array_real()
423 VERIFY_IS_APPROX(m1.sign() * m1.abs(), m1); in array_real()
425 …VERIFY_IS_APPROX(numext::abs2(numext::real(m1)) + numext::abs2(numext::imag(m1)), numext::abs2(m1)… in array_real()
426 VERIFY_IS_APPROX(numext::abs2(Eigen::real(m1)) + numext::abs2(Eigen::imag(m1)), numext::abs2(m1)); in array_real()
428 VERIFY_IS_APPROX(numext::real(m1), m1); in array_real()
435 VERIFY_IS_APPROX(m1.exp() * m2.exp(), exp(m1+m2)); in array_real()
436 VERIFY_IS_APPROX(m1.exp(), exp(m1)); in array_real()
437 VERIFY_IS_APPROX(m1.exp() / m2.exp(),(m1-m2).exp()); in array_real()
439 VERIFY_IS_APPROX(m1.expm1(), expm1(m1)); in array_real()
449 m3 = (m1.square()<NumTraits<Scalar>::epsilon()).select(Scalar(1),m3); in array_real()
459 m1 += ArrayType::Constant(rows,cols,Scalar(tiny)); in array_real()
460 VERIFY_IS_APPROX(s1/m1, s1 * m1.inverse()); in array_real()
463 m3 = m1; in array_real()
465 VERIFY_IS_APPROX(m3, m1.transpose()); in array_real()
467 VERIFY_IS_APPROX(m3, m1); in array_real()
478 ArrayType m1 = ArrayType::Random(rows, cols), in array_complex() local
480 m4 = m1; in array_complex()
489 m2(i,j) = sqrt(m1(i,j)); in array_complex()
492 VERIFY_IS_APPROX(m1.sin(), sin(m1)); in array_complex()
493 VERIFY_IS_APPROX(m1.cos(), cos(m1)); in array_complex()
494 VERIFY_IS_APPROX(m1.tan(), tan(m1)); in array_complex()
495 VERIFY_IS_APPROX(m1.sinh(), sinh(m1)); in array_complex()
496 VERIFY_IS_APPROX(m1.cosh(), cosh(m1)); in array_complex()
497 VERIFY_IS_APPROX(m1.tanh(), tanh(m1)); in array_complex()
498 VERIFY_IS_APPROX(m1.logistic(), logistic(m1)); in array_complex()
499 VERIFY_IS_APPROX(m1.arg(), arg(m1)); in array_complex()
500 VERIFY((m1.isNaN() == (Eigen::isnan)(m1)).all()); in array_complex()
501 VERIFY((m1.isInf() == (Eigen::isinf)(m1)).all()); in array_complex()
502 VERIFY((m1.isFinite() == (Eigen::isfinite)(m1)).all()); in array_complex()
504 VERIFY_IS_APPROX(m1.log(), log(m1)); in array_complex()
505 VERIFY_IS_APPROX(m1.log10(), log10(m1)); in array_complex()
506 VERIFY_IS_APPROX(m1.log2(), log2(m1)); in array_complex()
507 VERIFY_IS_APPROX(m1.abs(), abs(m1)); in array_complex()
508 VERIFY_IS_APPROX(m1.abs2(), abs2(m1)); in array_complex()
509 VERIFY_IS_APPROX(m1.sqrt(), sqrt(m1)); in array_complex()
510 VERIFY_IS_APPROX(m1.square(), square(m1)); in array_complex()
511 VERIFY_IS_APPROX(m1.cube(), cube(m1)); in array_complex()
512 VERIFY_IS_APPROX(cos(m1+RealScalar(3)*m2), cos((m1+RealScalar(3)*m2).eval())); in array_complex()
513 VERIFY_IS_APPROX(m1.sign(), sign(m1)); in array_complex()
516 VERIFY_IS_APPROX(m1.exp() * m2.exp(), exp(m1+m2)); in array_complex()
517 VERIFY_IS_APPROX(m1.exp(), exp(m1)); in array_complex()
518 VERIFY_IS_APPROX(m1.exp() / m2.exp(),(m1-m2).exp()); in array_complex()
520 VERIFY_IS_APPROX(m1.expm1(), expm1(m1)); in array_complex()
521 VERIFY_IS_APPROX(expm1(m1), exp(m1) - 1.); in array_complex()
523 VERIFY_IS_APPROX(expm1(10. * m1), exp(10. * m1) - 1.); in array_complex()
525 VERIFY_IS_APPROX(sinh(m1), 0.5*(exp(m1)-exp(-m1))); in array_complex()
526 VERIFY_IS_APPROX(cosh(m1), 0.5*(exp(m1)+exp(-m1))); in array_complex()
527 VERIFY_IS_APPROX(tanh(m1), (0.5*(exp(m1)-exp(-m1)))/(0.5*(exp(m1)+exp(-m1)))); in array_complex()
528 VERIFY_IS_APPROX(logistic(m1), (1.0/(1.0 + exp(-m1)))); in array_complex()
532 m3(i,j) = std::atan2(m1(i,j).imag(), m1(i,j).real()); in array_complex()
533 VERIFY_IS_APPROX(arg(m1), m3); in array_complex()
536 VERIFY((Eigen::isnan)(m1*zero/zero).all()); in array_complex()
555 …VERIFY(((Eigen::isfinite)(m1) && (!(Eigen::isfinite)(m1*zero/zero)) && (!(Eigen::isfinite)(m1/zero… in array_complex()
558 VERIFY_IS_APPROX(conj(m1.conjugate()), m1); in array_complex()
559 VERIFY_IS_APPROX(abs(m1), sqrt(square(m1.real())+square(m1.imag()))); in array_complex()
560 VERIFY_IS_APPROX(abs(m1), sqrt(abs2(m1))); in array_complex()
561 VERIFY_IS_APPROX(log10(m1), log(m1)/log(10)); in array_complex()
562 VERIFY_IS_APPROX(log2(m1), log(m1)/log(2)); in array_complex()
564 VERIFY_IS_APPROX( m1.sign(), -(-m1).sign() ); in array_complex()
565 VERIFY_IS_APPROX( m1.sign() * m1.abs(), m1); in array_complex()
571 m1 += ArrayType::Constant(rows,cols,Scalar(tiny)); in array_complex()
572 VERIFY_IS_APPROX(s1/m1, s1 * m1.inverse()); in array_complex()
575 m2 = m1; in array_complex()
577 VERIFY_IS_APPROX(m2, m1.transpose()); in array_complex()
579 VERIFY_IS_APPROX(m2, m1); in array_complex()
594 ArrayType m1 = ArrayType::Random(rows, cols); in min_max() local
597 Scalar maxM1 = m1.maxCoeff(); in min_max()
598 Scalar minM1 = m1.minCoeff(); in min_max()
600 …VERIFY_IS_APPROX(ArrayType::Constant(rows,cols, minM1), (m1.min)(ArrayType::Constant(rows,cols, mi… in min_max()
601 VERIFY_IS_APPROX(m1, (m1.min)(ArrayType::Constant(rows,cols, maxM1))); in min_max()
603 …VERIFY_IS_APPROX(ArrayType::Constant(rows,cols, maxM1), (m1.max)(ArrayType::Constant(rows,cols, ma… in min_max()
604 VERIFY_IS_APPROX(m1, (m1.max)(ArrayType::Constant(rows,cols, minM1))); in min_max()
607 VERIFY_IS_APPROX(ArrayType::Constant(rows,cols, minM1), (m1.min)( minM1)); in min_max()
608 VERIFY_IS_APPROX(m1, (m1.min)( maxM1)); in min_max()
610 VERIFY_IS_APPROX(ArrayType::Constant(rows,cols, maxM1), (m1.max)( maxM1)); in min_max()
611 VERIFY_IS_APPROX(m1, (m1.max)( minM1)); in min_max()
615 if (m1.size() > 1 && !NumTraits<Scalar>::IsInteger) { in min_max()
616 m1(0,0) = NumTraits<Scalar>::quiet_NaN(); in min_max()
617 maxM1 = m1.template maxCoeff<PropagateNaN>(); in min_max()
618 minM1 = m1.template minCoeff<PropagateNaN>(); in min_max()
622 maxM1 = m1.template maxCoeff<PropagateNumbers>(); in min_max()
623 minM1 = m1.template minCoeff<PropagateNumbers>(); in min_max()
650 ArrayType m1 = ArrayType::Random(rows, cols), in array_integer() local
653 m2 = m1.template shiftLeft<2>(); in array_integer()
654 VERIFY( (m2 == m1.unaryExpr(shift_left<2>())).all() ); in array_integer()
655 m2 = m1.template shiftLeft<9>(); in array_integer()
656 VERIFY( (m2 == m1.unaryExpr(shift_left<9>())).all() ); in array_integer()
658 m2 = m1.template shiftRight<2>(); in array_integer()
659 VERIFY( (m2 == m1.unaryExpr(arithmetic_shift_right<2>())).all() ); in array_integer()
660 m2 = m1.template shiftRight<9>(); in array_integer()
661 VERIFY( (m2 == m1.unaryExpr(arithmetic_shift_right<9>())).all() ); in array_integer()