This commit is contained in:
John Kerl 2020-09-11 16:23:15 -04:00
parent 60450b5b4f
commit eaedc80f77

View file

@ -1557,86 +1557,3 @@ func MlrvalVariadicMax(mlrvals []*Mlrval) Mlrval {
return retval
}
}
//// ----------------------------------------------------------------
//func max_f_ff(ma, mb *Mlrval) Mlrval {
// float64 a = ma.floatval;
// float64 b = mb.floatval;
// return MlrvalFromFloat64(math.Max(a, b));
//}
//
//func max_f_fi(ma, mb *Mlrval) Mlrval {
// float64 a = ma.floatval;
// float64 b = (float64)mb.intval;
// return MlrvalFromFloat64(math.Max(a, b));
//}
//
//func max_f_if(ma, mb *Mlrval) Mlrval {
// float64 a = (float64)ma.intval;
// float64 b = mb.floatval;
// return MlrvalFromFloat64(math.Max(a, b));
//}
//
//func max_i_ii(ma, mb *Mlrval) Mlrval {
// int64 a = ma.intval;
// int64 b = mb.intval;
// return MlrvalFromInt64(a > b ? a : b);
//}
//
//func max_b_bb(ma, mb *Mlrval) Mlrval {
// int a = ma.boolval;
// int b = mb.boolval;
// return mv_from_bool(a > b ? a : b);
//}
//
//func max_s_ss(ma, mb *Mlrval) Mlrval {
// char* a = ma.printrep;
// char* b = mb.printrep;
// int c = strcmp(a, b);
// if (c >= 0) {
// mv_free(pb);
// return *pa;
// } else {
// mv_free(pa);
// return *pb;
// }
//}
//
//// Sort rules (same for min, max, and comparator):
//// * NUMERICS < BOOL < STRINGS < ERROR < ABSENT
//// * error == error (singleton type)
//// * absent == absent (singleton type)
//// * string compares on strings
//// * numeric compares on numbers
//// * false < true
//// Exceptions for min & max:
//// * absent-null always loses
//// * empty-null always loses against numbers
//static mv_binary_func_t* max_dispositions[MT_DIM][MT_DIM] = {
// // ERROR ABSENT EMPTY STRING INT FLOAT BOOL ARRAY MAP
// /*ERROR*/ {_erro, _erro, _erro, _erro, _erro, _erro, _erro},
// /*ABSENT*/ {_erro, _absn, _2___, _2f__, _2___, _2___, _2___},
// /*EMPTY*/ {_erro, _1___, _void, _2f__, _2___, _2___, _2___},
// /*STRING*/ {_erro, _1f__, _1f__, max_s_ss, _1f__, _1f__, _1f__},
// /*INT*/ {_erro, _1___, _1___, _2f__, max_i_ii, max_f_if, _2___},
// /*FLOAT*/ {_erro, _1___, _1___, _2f__, max_f_fi, max_f_ff, _2___},
// /*BOOL*/ {_erro, _1___, _1___, _2f__, _1___, _1___, max_b_bb},
// };
//
//mv_t x_xx_max_func(mv_t* pval1, mv_t* pval2) {
// return (max_dispositions[pval1->type][pval2->type])(pval1,pval2);
//}
//
//mv_t variadic_max_func(mv_t* pvals, int nvals) {
// if (nvals == 0) {
// return mv_empty();
// } else {
// mv_t rv = pvals[0];
// for (int i = 1; i < nvals; i++) {
// rv = x_xx_max_func(&rv, &pvals[i]);
// // Disposition-matrix entries for max all free their non-return arguments
// }
// return rv;
// }
//}
//