Jump to content

User:Crissov/Collapsing

From Wikipedia, the free encyclopedia

When to do what

[edit]
collapseColsOptin collapseColsOptout hasClass(Cols[i], 'collapsible') hasClass(Cols[i], 'nocollapse') CollapseCols[i]
0 0 0 0 CollapseCols isn’t used for 00xy
0 0 0 1 CollapseCols isn’t used for 00xy, error: x0y1 should never happen
0 0 1 0 CollapseCols isn’t used for 00xy, error: 0x1y should never happen
0 0 1 1 CollapseCols isn’t used for 00xy, error: 0x1y and x0y1 should never happen, authors mustn’t do xy11
0 1 0 0 1
0 1 0 1 0
0 1 1 0 error: 0x1y should never happen
0 1 1 1 error: 0x1y should never happen, authors mustn’t do xy11
1 0 0 0 0
1 0 0 1 error: x0y1 should never happen
1 0 1 0 1
1 0 1 1 error: x0y1 should never happen, authors mustn’t do xy11
1 1 0 0 1 default
1 1 0 1 0
1 1 1 0 1
1 1 1 1 0 authors mustn’t do xy11


0 || 1 || 0 || 0 = 1
1 || 0 || 1 || 0 = 1
1 || 1 || 0 || 0 = 1 (default)
1 || 1 || 1 || 0 = 1
0 || 1 || 0 || 1 = 0
1 || 1 || 0 || 1 = 0
1 || 0 || 0 || 0 = 0
1 || 1 || 1 || 1 = 0
A    B    a    b


0 = B¬ab || A(Bab || ¬B¬a¬b)
1 otherwise


=> ¬(B¬ab || A(Bab || ¬B¬a¬b))
=  ¬(B¬ab || A(B=a=b))
=  ¬(B¬ab || ABab || A¬B¬a¬b)
=  ¬(B¬ab) && ¬(ABab || A¬B¬a¬b)
=  (¬B|a|¬b) && (¬A || ¬(Bab || ¬B¬a¬b) )
=  (¬B|a|¬b) && (¬A || ( ¬(Bab) && ¬(¬B¬a¬b) ) )
=  (¬B|a|¬b) && (¬A || ( ¬(Bab) && (B|a|b) ) )
= ¬( Bb( ¬A¬a || A ) || ¬B¬bA¬a )
= ¬( Bb( ¬A¬a || A ) || ¬(B|b|¬A|a) )
= ¬(Bb( ¬A¬a || A )) && (B|b|¬A|a)
for ( var i = 0; i < Cols.length; i++ ) {
  var collapsible = hasClass(Cols[i], 'collapsible');
  var nocollapse  = hasClass(Cols[i], 'nocollapse');
  CollapseCols[i] = !( ( collapseColsOptout
                      && !collapsible 
                      &&  nocollapse
                       )
                    || ( collapseColsOptin 
                      && ( ( collapseColsOptout == collapsible ) 
                        && ( collapseColsOptout == nocollapse  ) 
                     ) ) );
}