I've done some diagrams, in order to check if
you agree with the semantics of these SpanSet
functions.
Some of these operations can be interpreted
in more than one way. If you think something
should be different, please let me know.
This is the notation used:
[aaa] - a closed spanset or span
(aaa) - an open set
[aaa) - semi-open set
() - empty set
dt - a datetime object
---
> next( $dt )
given: [ aaaaaa bbbbbb ]
^dt
returns: [bbbbbb]
given: [ aaabbb ]
^dt
returns: [aaabbb]
could also be: (bbb]
given: [ aaa ]
^dt
returns: ()
---
> previous( $dt )
given: [ aaaaaa bbbbbb ]
^dt
returns: [aaaaaa]
given: [ aaabbb ]
^dt
returns: [aaabbb]
could also be: [aaa)
given: [ aaa ]
^dt
returns: ()
---
> current( $dt )
given: [ aaaaaa bbbbbb ]
^dt
returns: [aaaaaa]
given: [ aaabbb ]
^dt
returns: [aaabbb]
could also be: dt
given: [ aaa ]
^dt
returns: ()
given: [ aaa ]
^dt
returns: [aaa]
---
> closest( $dt )
given: [ aaaaaa bbbbbb ]
^dt
returns: [aaaaaa]
given: [ aaaaaa ]
^dt
returns: [aaaaaa]
could also be: dt
---
> as_list
given: [ aaaaaa bbbbbb ]
returns: [aaaaaa],[bbbbbb]
---
- Flavio S. Glock