Lines Matching refs:w2

114                        const FloatWeightTpl<T> &w2) {
118 volatile T v2 = w2.Value();
123 const FloatWeightTpl<double> &w2) {
124 return operator==<double>(w1, w2);
128 const FloatWeightTpl<float> &w2) {
129 return operator==<float>(w1, w2);
134 const FloatWeightTpl<T> &w2) {
135 return !(w1 == w2);
139 const FloatWeightTpl<double> &w2) {
140 return operator!=<double>(w1, w2);
144 const FloatWeightTpl<float> &w2) {
145 return operator!=<float>(w1, w2);
150 const FloatWeightTpl<T> &w2,
152 return w1.Value() <= w2.Value() + delta && w2.Value() <= w1.Value() + delta;
243 const TropicalWeightTpl<T> &w2) {
244 if (!w1.Member() || !w2.Member())
246 return w1.Value() < w2.Value() ? w1 : w2;
250 const TropicalWeightTpl<float> &w2) {
251 return Plus<float>(w1, w2);
255 const TropicalWeightTpl<double> &w2) {
256 return Plus<double>(w1, w2);
261 const TropicalWeightTpl<T> &w2) {
262 if (!w1.Member() || !w2.Member())
264 T f1 = w1.Value(), f2 = w2.Value();
268 return w2;
274 const TropicalWeightTpl<float> &w2) {
275 return Times<float>(w1, w2);
279 const TropicalWeightTpl<double> &w2) {
280 return Times<double>(w1, w2);
285 const TropicalWeightTpl<T> &w2,
287 if (!w1.Member() || !w2.Member())
289 T f1 = w1.Value(), f2 = w2.Value();
299 const TropicalWeightTpl<float> &w2,
301 return Divide<float>(w1, w2, typ);
305 const TropicalWeightTpl<double> &w2,
307 return Divide<double>(w1, w2, typ);
372 const LogWeightTpl<T> &w2) {
373 T f1 = w1.Value(), f2 = w2.Value();
375 return w2;
385 const LogWeightTpl<float> &w2) {
386 return Plus<float>(w1, w2);
390 const LogWeightTpl<double> &w2) {
391 return Plus<double>(w1, w2);
396 const LogWeightTpl<T> &w2) {
397 if (!w1.Member() || !w2.Member())
399 T f1 = w1.Value(), f2 = w2.Value();
403 return w2;
409 const LogWeightTpl<float> &w2) {
410 return Times<float>(w1, w2);
414 const LogWeightTpl<double> &w2) {
415 return Times<double>(w1, w2);
420 const LogWeightTpl<T> &w2,
422 if (!w1.Member() || !w2.Member())
424 T f1 = w1.Value(), f2 = w2.Value();
434 const LogWeightTpl<float> &w2,
436 return Divide<float>(w1, w2, typ);
440 const LogWeightTpl<double> &w2,
442 return Divide<double>(w1, w2, typ);
504 const MinMaxWeightTpl<T> &w1, const MinMaxWeightTpl<T> &w2) {
505 if (!w1.Member() || !w2.Member())
507 return w1.Value() < w2.Value() ? w1 : w2;
511 const MinMaxWeightTpl<float> &w1, const MinMaxWeightTpl<float> &w2) {
512 return Plus<float>(w1, w2);
516 const MinMaxWeightTpl<double> &w1, const MinMaxWeightTpl<double> &w2) {
517 return Plus<double>(w1, w2);
523 const MinMaxWeightTpl<T> &w1, const MinMaxWeightTpl<T> &w2) {
524 if (!w1.Member() || !w2.Member())
526 return w1.Value() >= w2.Value() ? w1 : w2;
530 const MinMaxWeightTpl<float> &w1, const MinMaxWeightTpl<float> &w2) {
531 return Times<float>(w1, w2);
535 const MinMaxWeightTpl<double> &w1, const MinMaxWeightTpl<double> &w2) {
536 return Times<double>(w1, w2);
542 const MinMaxWeightTpl<T> &w2,
544 if (!w1.Member() || !w2.Member())
546 // min(w1, x) = w2, w1 >= w2 => min(w1, x) = w2, x = w2
547 return w1.Value() >= w2.Value() ? w1 : FloatLimits<T>::NumberBad();
551 const MinMaxWeightTpl<float> &w2,
553 return Divide<float>(w1, w2, typ);
557 const MinMaxWeightTpl<double> &w2,
559 return Divide<double>(w1, w2, typ);