Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add function Math.nearestInteger #4495

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

beutlich
Copy link
Member

Cherry-picked from #3247 as proposed by #3247 (review).

@beutlich beutlich added enhancement New feature or enhancement L: Math Issue addresses Modelica.Math labels Oct 27, 2024
@beutlich beutlich added this to the MSL4.2.0 milestone Oct 27, 2024
@beutlich beutlich mentioned this pull request Oct 27, 2024
4 tasks
Copy link
Contributor

@casella casella left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@casella casella requested review from AHaumer and maltelenz November 11, 2024 16:11
Copy link
Contributor

@henrikt-ma henrikt-ma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More though seems needed on how to obtain a useable expression variability of the function result.

@henrikt-ma henrikt-ma self-requested a review November 12, 2024 08:10
Copy link
Contributor

@henrikt-ma henrikt-ma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Just restoring my Request changes after changing my mind back and forth.)

Copy link
Contributor

@HansOlsson HansOlsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The general idea is good, but when using it outside of functions it becomes messy.

It seems we need the annotation GenerateEvents=true and update such functions in terms of variability, e.g., along the lines of modelica/ModelicaSpecification#3610

@beutlich beutlich force-pushed the add-nearest-integer branch from 5c4e708 to 8fb0347 Compare February 2, 2025 09:49
@beutlich
Copy link
Member Author

beutlich commented Feb 2, 2025

The general idea is good, but when using it outside of functions it becomes messy.

I removed the usage in block Modelica.Blocks.Math.RealToInteger. @casella @HansOlsson Please add your review again.

@beutlich beutlich force-pushed the add-nearest-integer branch from 235f587 to 684aed4 Compare February 11, 2025 17:49
@HansOlsson HansOlsson self-requested a review March 13, 2025 12:17
Copy link
Contributor

@HansOlsson HansOlsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
Combined with modelica/ModelicaSpecification#3610 it will be generally useful.

One could possibly add "away from zero" already in description as the preferred method depends, https://en.wikipedia.org/wiki/Rounding (But it may also be too long.)

@beutlich beutlich force-pushed the add-nearest-integer branch from 862dc25 to 728fd63 Compare March 18, 2025 19:20
@beutlich
Copy link
Member Author

One could possibly add "away from zero" already in description

Incorporated. Fell free to review this last change.

@henrikt-ma may I kindly ask for a second review. Thanks.

@beutlich beutlich requested review from AHaumer, DagBruck and henrikt-ma and removed request for AHaumer and henrikt-ma March 18, 2025 19:21
Copy link
Contributor

@henrikt-ma henrikt-ma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this can be accepted until it is relying on language features of a released version of the specification. According to current semantics, the output of this is a non-discrete-time Integer, which I'm pretty sure is not the intention.

@beutlich beutlich marked this pull request as draft March 21, 2025 11:21
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or enhancement L: Math Issue addresses Modelica.Math
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants