Skip to content

Generate the TNumber OO surface#79

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:feat/generate-tnumber-oo
Jul 23, 2026
Merged

Generate the TNumber OO surface#79
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:feat/generate-tnumber-oo

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

This extends the OO layer generator to emit one interface per object-model class along an inheritance chain, and adds GeneratedTNumber extends GeneratedTemporal for the number-temporal surface.

The generator projects a list of ClassSpecs; each emits its interface and inherits its superclass surface, so a subclass adds only its own methods. The imports an interface needs are read back from its body, so a surface carries no unused import. TNumber contributes TBox marshalling — a TBox return wrapped through the hand type, a TBox argument forwarded as its inner pointer — while the value-span returns wait for the concrete numeric subclasses, whose span type is base-dependent.

GeneratedTemporal regenerates unchanged (97 methods). GeneratedTNumber emits 13 methods (integral, twavg, abs, trend, angularDifference, deltaValue, toTbox, atTbox, minusTbox, atSpan, minusSpan, atSpanset, minusSpanset); the value-span returns and the TBox array folds are reported for a later slice. A parity test checks the surface against direct GeneratedFunctions calls.

Extend the OO layer generator to emit one interface per object-model class with
an inheritance chain, and add GeneratedTNumber extends GeneratedTemporal for the
number-temporal surface.

The generator projects a list of ClassSpecs; each emits its interface and
inherits its superclass surface, so a subclass adds only its own methods. The
imports an interface needs are read back from its body, so a surface carries no
unused import. TNumber contributes TBox marshalling — a TBox return wrapped
through the hand type, a TBox argument forwarded as its inner pointer — while
the value-span returns wait for the concrete numeric subclasses, whose span
type is base-dependent.

GeneratedTemporal regenerates unchanged (97 methods). GeneratedTNumber emits 13
methods (integral, twavg, abs, trend, angularDifference, deltaValue, toTbox,
atTbox, minusTbox, atSpan, minusSpan, atSpanset, minusSpanset); the value-span
returns and the TBox array folds are reported for a later slice. A parity test
checks the surface against direct GeneratedFunctions calls.
@estebanzimanyi
estebanzimanyi merged commit f899c1a into MobilityDB:main Jul 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant