From 95c362e0b192be810e857d9c23a4fa3a238df566 Mon Sep 17 00:00:00 2001 From: John Kerl Date: Wed, 12 May 2021 22:57:31 -0400 Subject: [PATCH] Disposition matrices/vectors for null type --- go/src/types/mlrval_functions_booleans.go | 126 +++++++++++----------- 1 file changed, 66 insertions(+), 60 deletions(-) diff --git a/go/src/types/mlrval_functions_booleans.go b/go/src/types/mlrval_functions_booleans.go index 2b548bccf..2381ddd30 100644 --- a/go/src/types/mlrval_functions_booleans.go +++ b/go/src/types/mlrval_functions_booleans.go @@ -212,82 +212,88 @@ var eq_dispositions = [MT_DIM][MT_DIM]BinaryFunc{} func init() { eq_dispositions = [MT_DIM][MT_DIM]BinaryFunc{ - // . ERROR ABSENT VOID STRING INT FLOAT BOOL ARRAY MAP - /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, - /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, - /*VOID */ {_erro, _absn, eq_b_ss, eq_b_ss, eq_b_sx, eq_b_sx, _fals, _fals, _fals}, - /*STRING */ {_erro, _absn, eq_b_ss, eq_b_ss, eq_b_sx, eq_b_sx, _fals, _fals, _fals}, - /*INT */ {_erro, _absn, eq_b_xs, eq_b_xs, eq_b_ii, eq_b_if, _fals, _fals, _fals}, - /*FLOAT */ {_erro, _absn, eq_b_xs, eq_b_xs, eq_b_fi, eq_b_ff, _fals, _fals, _fals}, - /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, eq_b_bb, _fals, _fals}, - /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, eq_b_aa, _fals}, - /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, eq_b_mm}, + // . ERROR ABSENT NULL VOID STRING INT FLOAT BOOL ARRAY MAP + /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, + /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, + /*NULL */ {_erro, _absn, _true, _fals, _fals, _fals, _fals, _fals, _fals, _fals}, + /*VOID */ {_erro, _absn, _fals, eq_b_ss, eq_b_ss, eq_b_sx, eq_b_sx, _fals, _fals, _fals}, + /*STRING */ {_erro, _absn, _fals, eq_b_ss, eq_b_ss, eq_b_sx, eq_b_sx, _fals, _fals, _fals}, + /*INT */ {_erro, _absn, _fals, eq_b_xs, eq_b_xs, eq_b_ii, eq_b_if, _fals, _fals, _fals}, + /*FLOAT */ {_erro, _absn, _fals, eq_b_xs, eq_b_xs, eq_b_fi, eq_b_ff, _fals, _fals, _fals}, + /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, eq_b_bb, _fals, _fals}, + /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, eq_b_aa, _fals}, + /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _fals, eq_b_mm}, } } var ne_dispositions = [MT_DIM][MT_DIM]BinaryFunc{ - // . ERROR ABSENT VOID STRING INT FLOAT BOOL ARRAY MAP - /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, - /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, - /*VOID */ {_erro, _absn, ne_b_ss, ne_b_ss, ne_b_sx, ne_b_sx, _true, _true, _true}, - /*STRING */ {_erro, _absn, ne_b_ss, ne_b_ss, ne_b_sx, ne_b_sx, _true, _true, _true}, - /*INT */ {_erro, _absn, ne_b_xs, ne_b_xs, ne_b_ii, ne_b_if, _true, _true, _true}, - /*FLOAT */ {_erro, _absn, ne_b_xs, ne_b_xs, ne_b_fi, ne_b_ff, _true, _true, _true}, - /*BOOL */ {_erro, _absn, _true, _true, _true, _true, ne_b_bb, _true, _true}, - /*ARRAY */ {_erro, _absn, _true, _true, _true, _true, _true, ne_b_aa, _true}, - /*MAP */ {_erro, _absn, _true, _true, _true, _true, _true, _true, ne_b_mm}, + // . ERROR ABSENT NULL VOID STRING INT FLOAT BOOL ARRAY MAP + /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, + /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, + /*NULL */ {_erro, _absn, _fals, _true, _true, _true, _true, _true, _true, _true}, + /*VOID */ {_erro, _absn, _true, ne_b_ss, ne_b_ss, ne_b_sx, ne_b_sx, _true, _true, _true}, + /*STRING */ {_erro, _absn, _true, ne_b_ss, ne_b_ss, ne_b_sx, ne_b_sx, _true, _true, _true}, + /*INT */ {_erro, _absn, _true, ne_b_xs, ne_b_xs, ne_b_ii, ne_b_if, _true, _true, _true}, + /*FLOAT */ {_erro, _absn, _true, ne_b_xs, ne_b_xs, ne_b_fi, ne_b_ff, _true, _true, _true}, + /*BOOL */ {_erro, _absn, _true, _true, _true, _true, _true, ne_b_bb, _true, _true}, + /*ARRAY */ {_erro, _absn, _true, _true, _true, _true, _true, _true, ne_b_aa, _true}, + /*MAP */ {_erro, _absn, _true, _true, _true, _true, _true, _true, _true, ne_b_mm}, } var gt_dispositions = [MT_DIM][MT_DIM]BinaryFunc{ - // . ERROR ABSENT VOID STRING INT FLOAT BOOL ARRAY MAP - /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, - /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, - /*VOID */ {_erro, _absn, gt_b_ss, gt_b_ss, gt_b_sx, gt_b_sx, _fals, _fals, _fals}, - /*STRING */ {_erro, _absn, gt_b_ss, gt_b_ss, gt_b_sx, gt_b_sx, _fals, _fals, _fals}, - /*INT */ {_erro, _absn, gt_b_xs, gt_b_xs, gt_b_ii, gt_b_if, _fals, _fals, _fals}, - /*FLOAT */ {_erro, _absn, gt_b_xs, gt_b_xs, gt_b_fi, gt_b_ff, _fals, _fals, _fals}, - /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, gt_b_bb, _fals, _fals}, - /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, - /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, + // . ERROR ABSENT NULL VOID STRING INT FLOAT BOOL ARRAY MAP + /*ERROR */ {_erro, _erro, _fals, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, + /*ABSENT */ {_erro, _absn, _true, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, + /*NULL */ {_true, _fals, _fals, _true, _true, _true, _true, _true, _absn, _absn}, + /*VOID */ {_erro, _absn, _fals, gt_b_ss, gt_b_ss, gt_b_sx, gt_b_sx, _fals, _fals, _fals}, + /*STRING */ {_erro, _absn, _fals, gt_b_ss, gt_b_ss, gt_b_sx, gt_b_sx, _fals, _fals, _fals}, + /*INT */ {_erro, _absn, _fals, gt_b_xs, gt_b_xs, gt_b_ii, gt_b_if, _fals, _fals, _fals}, + /*FLOAT */ {_erro, _absn, _fals, gt_b_xs, gt_b_xs, gt_b_fi, gt_b_ff, _fals, _fals, _fals}, + /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, gt_b_bb, _fals, _fals}, + /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, + /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, } var ge_dispositions = [MT_DIM][MT_DIM]BinaryFunc{ - // . ERROR ABSENT VOID STRING INT FLOAT BOOL ARRAY MAP - /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, - /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, - /*VOID */ {_erro, _absn, ge_b_ss, ge_b_ss, ge_b_sx, ge_b_sx, _fals, _fals, _fals}, - /*STRING */ {_erro, _absn, ge_b_ss, ge_b_ss, ge_b_sx, ge_b_sx, _fals, _fals, _fals}, - /*INT */ {_erro, _absn, ge_b_xs, ge_b_xs, ge_b_ii, ge_b_if, _fals, _fals, _fals}, - /*FLOAT */ {_erro, _absn, ge_b_xs, ge_b_xs, ge_b_fi, ge_b_ff, _fals, _fals, _fals}, - /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, ge_b_bb, _fals, _fals}, - /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, - /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, + // . ERROR ABSENT NULL VOID STRING INT FLOAT BOOL ARRAY MAP + /*ERROR */ {_erro, _erro, _fals, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, + /*ABSENT */ {_erro, _absn, _true, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, + /*NULL */ {_true, _fals, _true, _true, _true, _true, _true, _true, _absn, _absn}, + /*VOID */ {_erro, _absn, _fals, ge_b_ss, ge_b_ss, ge_b_sx, ge_b_sx, _fals, _fals, _fals}, + /*STRING */ {_erro, _absn, _fals, ge_b_ss, ge_b_ss, ge_b_sx, ge_b_sx, _fals, _fals, _fals}, + /*INT */ {_erro, _absn, _fals, ge_b_xs, ge_b_xs, ge_b_ii, ge_b_if, _fals, _fals, _fals}, + /*FLOAT */ {_erro, _absn, _fals, ge_b_xs, ge_b_xs, ge_b_fi, ge_b_ff, _fals, _fals, _fals}, + /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, ge_b_bb, _fals, _fals}, + /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, + /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, } var lt_dispositions = [MT_DIM][MT_DIM]BinaryFunc{ - // . ERROR ABSENT VOID STRING INT FLOAT BOOL ARRAY MAP - /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, - /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, - /*VOID */ {_erro, _absn, lt_b_ss, lt_b_ss, lt_b_sx, lt_b_sx, _fals, _fals, _fals}, - /*STRING */ {_erro, _absn, lt_b_ss, lt_b_ss, lt_b_sx, lt_b_sx, _fals, _fals, _fals}, - /*INT */ {_erro, _absn, lt_b_xs, lt_b_xs, lt_b_ii, lt_b_if, _fals, _fals, _fals}, - /*FLOAT */ {_erro, _absn, lt_b_xs, lt_b_xs, lt_b_fi, lt_b_ff, _fals, _fals, _fals}, - /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, lt_b_bb, _fals, _fals}, - /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, - /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, + // . ERROR ABSENT NULL VOID STRING INT FLOAT BOOL ARRAY MAP + /*ERROR */ {_erro, _erro, _true, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, + /*ABSENT */ {_erro, _absn, _fals, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, + /*NULL */ {_fals, _true, _fals, _fals, _fals, _fals, _fals, _fals, _absn, _absn}, + /*VOID */ {_erro, _absn, _true, lt_b_ss, lt_b_ss, lt_b_sx, lt_b_sx, _fals, _fals, _fals}, + /*STRING */ {_erro, _absn, _true, lt_b_ss, lt_b_ss, lt_b_sx, lt_b_sx, _fals, _fals, _fals}, + /*INT */ {_erro, _absn, _true, lt_b_xs, lt_b_xs, lt_b_ii, lt_b_if, _fals, _fals, _fals}, + /*FLOAT */ {_erro, _absn, _true, lt_b_xs, lt_b_xs, lt_b_fi, lt_b_ff, _fals, _fals, _fals}, + /*BOOL */ {_erro, _absn, _true, _fals, _fals, _fals, _fals, lt_b_bb, _fals, _fals}, + /*ARRAY */ {_erro, _absn, _absn, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, + /*MAP */ {_erro, _absn, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, } var le_dispositions = [MT_DIM][MT_DIM]BinaryFunc{ - // . ERROR ABSENT VOID STRING INT FLOAT BOOL ARRAY MAP - /*ERROR */ {_erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, - /*ABSENT */ {_erro, _absn, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, - /*VOID */ {_erro, _absn, le_b_ss, le_b_ss, le_b_sx, le_b_sx, _fals, _fals, _fals}, - /*STRING */ {_erro, _absn, le_b_ss, le_b_ss, le_b_sx, le_b_sx, _fals, _fals, _fals}, - /*INT */ {_erro, _absn, le_b_xs, le_b_xs, le_b_ii, le_b_if, _fals, _fals, _fals}, - /*FLOAT */ {_erro, _absn, le_b_xs, le_b_xs, le_b_fi, le_b_ff, _fals, _fals, _fals}, - /*BOOL */ {_erro, _absn, _fals, _fals, _fals, _fals, le_b_bb, _fals, _fals}, - /*ARRAY */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, - /*MAP */ {_erro, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, + // . ERROR ABSENT NULL VOID STRING INT FLOAT BOOL ARRAY MAP + /*ERROR */ {_erro, _erro, _true, _erro, _erro, _erro, _erro, _erro, _erro, _erro}, + /*ABSENT */ {_erro, _absn, _fals, _absn, _absn, _absn, _absn, _absn, _absn, _absn}, + /*NULL */ {_fals, _true, _true, _fals, _fals, _fals, _fals, _fals, _absn, _absn}, + /*VOID */ {_erro, _absn, _true, le_b_ss, le_b_ss, le_b_sx, le_b_sx, _fals, _fals, _fals}, + /*STRING */ {_erro, _absn, _true, le_b_ss, le_b_ss, le_b_sx, le_b_sx, _fals, _fals, _fals}, + /*INT */ {_erro, _absn, _true, le_b_xs, le_b_xs, le_b_ii, le_b_if, _fals, _fals, _fals}, + /*FLOAT */ {_erro, _absn, _true, le_b_xs, le_b_xs, le_b_fi, le_b_ff, _fals, _fals, _fals}, + /*BOOL */ {_erro, _absn, _true, _fals, _fals, _fals, _fals, le_b_bb, _fals, _fals}, + /*ARRAY */ {_erro, _absn, _absn, _fals, _fals, _fals, _fals, _fals, _erro, _fals}, + /*MAP */ {_erro, _absn, _absn, _fals, _fals, _fals, _fals, _fals, _fals, _erro}, } func MlrvalEquals(input1, input2 *Mlrval) *Mlrval {