charts.lines: fix edge cases for fix-left-chunk and fix-right-chunk
parent
42e0224258
commit
ce403e1f75
|
@ -79,6 +79,8 @@ IN: charts.lines.tests
|
|||
-3 3 fix-left-chunk
|
||||
] unit-test
|
||||
|
||||
! TODO: add more tests for the recently discovered bugs in fix-left-chunk and fix-right-chunk
|
||||
|
||||
! fix-right-chunk: y coord = top limit
|
||||
{
|
||||
{ { 5 3 } { 6 0 } }
|
||||
|
@ -192,8 +194,8 @@ IN: charts.lines.tests
|
|||
! single-element sequences, same x coord
|
||||
{
|
||||
{
|
||||
{ { 0 0 } }
|
||||
{ { 0 3 } }
|
||||
{ { 0 0 } { 0 3 } }
|
||||
{ { 0 3 } { 0 0 } }
|
||||
}
|
||||
} [
|
||||
{ { 0 -2 } { 0 0 } { 0 5 } { 0 3 } { 0 -1 } } { 0 3 }
|
||||
|
|
|
@ -127,7 +127,10 @@ ALIAS: y second
|
|||
:: fix-left-chunk ( left right ymin ymax -- left' )
|
||||
left last :> left-point
|
||||
right first :> right-point
|
||||
left-point y { [ ymin = ] [ ymax = ] } 1|| [
|
||||
left-point y right-point y {
|
||||
[ { [ drop ymin = ] [ > ] } 2&& ]
|
||||
[ { [ drop ymax = ] [ < ] } 2&& ]
|
||||
} 2|| [
|
||||
left
|
||||
] [
|
||||
left-point y right-point y > ymin ymax ? :> y-coord
|
||||
|
@ -143,7 +146,10 @@ ALIAS: y second
|
|||
:: fix-right-chunk ( left right ymin ymax -- right' )
|
||||
left last :> left-point
|
||||
right first :> right-point
|
||||
right-point y { [ ymin = ] [ ymax = ] } 1|| [
|
||||
left-point y right-point y {
|
||||
[ { [ ymin = nip ] [ < ] } 2&& ]
|
||||
[ { [ ymax = nip ] [ > ] } 2&& ]
|
||||
} 2|| [
|
||||
right
|
||||
] [
|
||||
left-point y right-point y < ymin ymax ? :> y-coord
|
||||
|
|
Loading…
Reference in New Issue