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


Reply via email to