Logo etsi

ETSI's Bug Tracker

Notice: information submitted on the ETSI issue Tracker may be incorporated in ETSI publication(s) and therefore subject to the ETSI IPR policy.

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006695Part 01: TTCN-3 Core LanguageClarificationpublic04-03-2014 16:4906-01-2015 19:10
ReporterJacob Wieland - Spirent 
Assigned ToGyorgy Rethy 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Versionv4.5.1 (published 2013-04) 
Target Versionv4.7.1 (published 2015-06)Fixed in Versionv4.7.1 (published 2015-06) 
Summary0006695: restriction on arithmetic operators should be put in a restriction section or should be dropped altogether
Descriptionthe restriction on the arithmetic float operators are only mentioned in a NOTE, but not in a proper restriction.

It is unclear why these restrictions exist in the first place as in other languages, clear semantics of using the special values as operands exist:

Infinity * -Infinity == -Infinity
Infinity * Infinity == Infinity
-Infinity * -Infinity == Infinity
Infinity * positive_number == Infinity
Infinity * 0.0 == NaN
Infinity * negative_number == -Infinity
-Infinity * positive_number == -Infinity
-Infinity * 0.0 == NaN
-Infinity * negative_number == Infinity
X * NaN == NaN
Infinity / (Infinity or NaN or -Infinity) == NaN
Infinity / positive_number == Infinity
Infinity / negative_number == -Infinity
-Infinity / positive_number == -Infinity
-Infinity / negative_number == Infinity
-Infinity / (Infinity or NaN or -Infinity) == NaN
(Infinity or NaN or -Infinity) / Infinity == NaN
(Infinity or NaN or -Infinity) / -Infinity == NaN
NaN / X == NaN
X / NaN == NaN

Therefore, I think the restriction should be dropped.


TagsNo tags attached.
Clause Reference(s)7.1.1
Source (company - Author)Testing Technologies - Jacob Wieland
Attached Filesdocx file icon CR6695_update_proposal.docx [^] (14,971 bytes) 10-04-2014 14:54
docx file icon CR6695_update_proposal-v3.docx [^] (13,695 bytes) 07-10-2014 15:57

- Relationships

-  Notes
(0011947)
Gyorgy Rethy (reporter)
07-04-2014 16:46

stf478: check how operations are handled in other languages.
(0012012)
Axel Rennoch (developer)
10-04-2014 14:58

Problem: a note prevents arithmetic float operators for special float values infinity, -infinity and not_a_number



Analysis:
a) IEEE 754:2008 standard allow operation (ch 6.1):

Infinity * -Infinity == -Infinity
Infinity * Infinity == Infinity
-Infinity * -Infinity == Infinity
Infinity * positive_number == Infinity
Infinity * negative_number == -Infinity
-Infinity * positive_number == -Infinity
-Infinity * negative_number == Infinity
Infinity / positive_number == Infinity
Infinity / negative_number == -Infinity
-Infinity / positive_number == -Infinity
-Infinity / negative_number == Infinity


b) IEEE 754:2008 standard defines exceptions (i.e. invalid_operation=NaN, 7.1):

Infinity * 0.0 == NaN
-Infinity * 0.0 == NaN
X * NaN == NaN
Infinity / (Infinity or NaN or -Infinity) == NaN
-Infinity / (Infinity or NaN or -Infinity) == NaN
(Infinity or NaN or -Infinity) / Infinity == NaN
(Infinity or NaN or -Infinity) / -Infinity == NaN
NaN / X == NaN
X / NaN == NaN
(0012219)
Gyorgy Rethy (reporter)
06-10-2014 10:24
edited on: 06-10-2014 10:24

Using float in TTCN-3 is twofold:
- they are data sent in message fields (e.g. signal strength in dB); in this context special values can also appear
- used as numbers in the TTCN-3 code (behaviour), e.g. timer values and durations (delays), calculating averages etc. In this context operations make sense, but using special values make not.

We have to decide which way to go: making the note a mandatory text or allow operations an special values?

*It needs STF discussion*

(0012228)
Jacob Wieland - Spirent (reporter)
06-10-2014 12:01

Treating them differently would be confusing, I think.
(0012233)
Gyorgy Rethy (reporter)
06-10-2014 15:38

Add a sentence that operations of IEEE 754 to be followed.
(0012658)
Gyorgy Rethy (reporter)
06-01-2015 19:10

Added to draft V4.6.3

- Issue History
Date Modified Username Field Change
04-03-2014 16:49 Jacob Wieland - Spirent New Issue
07-04-2014 16:46 Gyorgy Rethy Note Added: 0011947
07-04-2014 16:57 Gyorgy Rethy Assigned To => Axel Rennoch
07-04-2014 16:57 Gyorgy Rethy Status new => assigned
10-04-2014 14:54 Axel Rennoch File Added: CR6695_update_proposal.docx
10-04-2014 14:55 Axel Rennoch Assigned To Axel Rennoch => Gyorgy Rethy
10-04-2014 14:58 Axel Rennoch Note Added: 0012012
10-04-2014 14:58 Axel Rennoch Status assigned => confirmed
20-06-2014 11:40 Gyorgy Rethy Project TTCN-3 Change Requests => Part 01: TTCN-3 Core Language
20-06-2014 11:40 Gyorgy Rethy Product Version => v4.5.1 (published 2013-04)
20-06-2014 11:40 Gyorgy Rethy Target Version => v4.7.1 (published 2015-06)
06-10-2014 10:24 Gyorgy Rethy Note Added: 0012219
06-10-2014 10:24 Gyorgy Rethy Note Edited: 0012219 View Revisions
06-10-2014 10:24 Gyorgy Rethy Note Edited: 0012219 View Revisions
06-10-2014 12:01 Jacob Wieland - Spirent Note Added: 0012228
06-10-2014 15:38 Gyorgy Rethy Note Added: 0012233
06-10-2014 15:39 Gyorgy Rethy Assigned To Gyorgy Rethy => Jens Grabowski
07-10-2014 15:57 Jens Grabowski File Added: CR6695_update_proposal-v3.docx
07-10-2014 15:57 Jens Grabowski Assigned To Jens Grabowski => Gyorgy Rethy
07-10-2014 15:57 Jens Grabowski Status confirmed => assigned
07-10-2014 15:57 Jens Grabowski Status assigned => resolved
07-10-2014 15:57 Jens Grabowski Resolution open => fixed
06-01-2015 19:10 Gyorgy Rethy Note Added: 0012658
06-01-2015 19:10 Gyorgy Rethy Status resolved => closed
06-01-2015 19:10 Gyorgy Rethy Fixed in Version => v4.7.1 (published 2015-06)


MantisBT 1.2.14 [^]
Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker