TYX
Home

Company Profile

Products

Support

News

Partners

PUG

Guestbook

Release Notes

Application Notes

Papers and Info

Problem Report

Y2K

FAQ


Release Notes

TYX TestBase
Version 2.5.0
30 April 2003

1. Overview

This release includes the following main items:

    • TestBase installation package, including a complete set of sample files, documentation and tutorial slides
    • Redistributables, including:
      • TYX License Manager
      • Third-party run-time engines
      • Instrument drivers needed for running some of the samples
    • Installation Guide
2. Detailed Description

2.1 Critical items

2.1.1. Environment variable setting for LabVIEW Adapter

The LabVIEW Adapter loads the LabVIEW engine when it is loaded by TestBase, and unloads the engine when it is unloaded. It appears that the repeated unloading and reloading of the LabVIEW engine causes unreliable operation. Thus, for a reliable operation of the LabVIEW test procedures it is recommended to set the value of the environment variable TB_TCA_UNLOAD to 0 (zero). See the Help System for details.

2.1.2. IDE execution error caused by an Internet Explorer security upgrade

After installing one of the new security updates for Internet Explorer (also included in Internet Explorer Service Pack 1), you might encounter the following behavior: a "File download" dialog will be displayed upon trying to open TestBase, asking if the users wants to Open or Save a file with the .vsd extension.

In order to prevent this behavior, you will have to manually re-associate files having "vsd" extension with file type "Microsoft Visio Drawing" by executing the following operations under Windows 2000 and Windows XP:

  • In Windows Explorer, select menu Tools | Folder Options…, than click the File Types tab.
  • Select the "VSD" extension from the list of "Registered File Types". Click New. In the dialog that appears, type "vsd" in the "File Extension" input field and click Advanced.
  • A Drop-down list will be displayed (this may take some time). Select "Microsoft Visio Drawing" from this list and press OK. Press Yes on the message warning that the extension is already associated with the file type "Microsoft Visio Drawing".
  • Press Close on the initial Folder Options dialog.

At this point we are not able to provide a similar procedure for Windows NT 4.0. We suggest using Internet Explorer versions earlier than 6.0 SP1, or upgrading to a newer Windows version.

2.1.3. Error when generating Diagnostic Procedure HTML Reports

When generating an HTML report for a diagnostic strategy, you may get the error message "Unable to export CFD". The report files containing the Visio diagram are not generated. The report file containing the text description of the diagnostic strategy is generated, but its hyperlinks will not operate.

This problem occurs if Visio was installed on the system but its HTML export feature was never used. To fix the problem, open an existing flowchart in Visio or create a new one (menu File | New), then export it as HTML (menu File | Save As, select file type "HTML Files", select a temporary folder and press OK).

2.1.4. Operating system compatibility

The product works properly with Windows NT 4.0 SP 6, Windows 2000 SP 2 and Windows XP.

2.1.5. Internet Explorer compatibility

The product works properly with Microsoft Internet Explorer 5.5 and 6.0. It does not work with Internet Explorer 5.0.

2.1.6. Microsoft Office compatibility

The display of Excel reports works properly with Microsoft Office 2000 Service Release 1 and Microsoft Office XP.

2.1.7. Microsoft Visio compatibility

The product works properly with Microsoft Visio 2000. The current version of the product is not compatible with Visio 2002.

2.1.8. Oracle compatibility

The MTI Controller distributed with the current version of the product was tested with the following combinations of versions :

  • Oracle 8.1.5 and 8.1.7, under Windows NT 4.0
  • Oracle 8.1.5 and 8.1.7, under Windows 2000
  • Oracle 9.0.1.1, under Windows NT 4.0.

A known compatibility problem between the Oracle software and the Microsoft libraries used internally by TestBase may be fixed, for Oracle 8 versions, by configuring the system registry as described in the document Connectivity Issue with MDAC and Oracle8i.pdf. For Oracle 9, use the information provided for version 8.1 in the above document, performing the following replacements in the strings to be entered in the registry:

1. replace oraclient8.dll with oraclient9.dll

2. replace orasql8.dll with orasql9.dll

2.1.9. LabWindows/CVI compatibility

The Adapter for LabWindows/CVI works properly with the following versions: 5.0, 5.5 and 6.0. Minor changes to the sample test code must be performed in order to compile it under version 5.0. The TestBase installation package redistributes version 6.0 of the LabWindows/CVI Run Time Engine. You may obtain other versions of the Run Time Engine from National Instruments.

2.1.10. Case sensitivity of Outcome comparisons

When a Test block is followed by decision blocks, the compiler compares the outcome values tested by the decision blocks against the set of possible outcomes returned by the called Test procedure. In previous releases, the above comparison was case insensitive. For consistency with other comparisons in TestBase, the comparison algorithm was changed to case sensitive, starting with release 2.4.0. This change does not affect the operation of existing projects and does not require their recompilation.

2.1.11. Rebuilding samples of Custom Data Type Editors and samples using Custom Data Type Editors

When rebuilding the Custom Data Type (CDT) Editor samples (or a modified version of these samples), overwrite the existing .OCX file (also included in the distribution). Do not delete the existing file before generating the new one. Overwriting the original file preserves the version used by Visual Basic to record binary compatibility. If you generate a new .OCX file (without overwriting), you will need to re-build all test procedures using that CDT Editor.

To rebuild the LabWindows/CVI test procedure samples that use Custom Data Type (CDT) Editors (or a modified version of these samples), you must first re-generate the wrapper files for the CDT Editor components. When re-generating, overwrite the original files.

2.2. Known Limitations

2.2.1. TestBase IDE

The "Undo" command used during flowchart editing does not operate properly in some situations. It is recommended to avoid using it.

The "Undo" command for the addition of an Off-Page Reference block does not delete the "pair" block that was automatically appended. Workaround: delete manually the "pair" block.

When running a test strategy in debug mode, with execution stopped between steps, if the user clicks on a different Control Flow Diagram (flowchart) then clicks the Run, Step, SimulatedStep or SimulatedStepWithUI buttons, an error message may be displayed: "Automation Error. Illegal to call out while inside message filter". This is normal. Press OK, click on the Control Flow Diagram that is currently debugged and continue using the IDE. The error indicated before has no impact on subsequent operation.

In some situations accelerator keys (Ctrl-O for File | Open, F5 for Debug | Go, etc.) do not work. Use menus or toolbar buttons instead.

A General Protection Fault occurs when closing the IDE or a Diagnostic Controller user interface after an Abort operation. Because it occurs only when the application is terminated, this behavior does not have harmful effects.

2.2.2. LabWindows/CVI Adapter

A limited subset of scalar data types is currently supported in the TestBase Support Library for LabWindows/CVI. Use direct access to VARIANT fields for other data types.

The execution of samples that use Custom Data Type Editors as ActiveX controls requires a LabWindows/CVI installation (the run-time engine is not sufficient).

2.2.3. PAWS Adapter

Array parameters are not supported.

Debugging of ATLAS TPSs launched from TestBase is not supported. Workaround: debug TPSs in standalone execution mode.

2.2.4. LabVIEW Adapter

The documentation for developing test procedures with LabVIEW does not cover the use of Custom Data Type Editors as ActiveX controls on LabVIEW panels.

2.2.5. VEE Adapter

The documentation for developing test procedures with VEE does not cover the use of Custom Data Type Editors.

2.2.6. Permissions for installation

The user performing the installation must have Administrator permissions for the Windows operating system. After installing TestBase, this user must start the IDE once, to perform a Registry initialization. After that, users with more restricted permissions can use TestBase modules. The user performing security administration from the IDE must have also Administrator permissions for the Windows operating system.

2.2.7. MTI error on Global Parameters Values with the same name

If Global Parameter Values with identical names are defined at multiple level of the Project tree and the storage of test results in MTI databases is enabled, an error will be generated at run-time. Workaround: avoid using identical names, until this problem is fixed.

2.2.8. Custom Data Types

The use of CDT Editors is currently not supported in test procedures developed with ATLAS and Agilent VEE.

The generic reports included with TestBase display the values of CDTs as follows:

  • The Diagnostic Procedure report displays the generic text "<Value for Custom Data Type Editor with ProgID: ", followed by the ProgID of the CDT Editor.
  • The sample Excel report "Sample_MTI_offline.xlt" displays the generic text "<Value for Custom Data Type Editor with ProgID: ", followed by the ProgID of the CDT Editor.

The values of Global Parameters with Custom Data Types are not stored in Oracle and Access MTI databases. You may retrieve these values from the Input Parameters to whom the Global Parameters are assigned.

2.2.9. Diagnostic Procedure HTML Reports

The internal links will not operate if the set of files generated for a report is moved to a different location in the file system or on a web server.

2.3. Enhancements

This section describes the features introduced since version 2.4.1.

2.3.1. Custom Data Types

This release introduces a new TestBase feature - support for Custom Data Types (CDTs). This feature enables users to develop and integrate Custom Data Type Editors, "plug-in" modules that support user input, display and programmatic access to custom data types of arbitrary complexity. Such data types may be application-specific (ex. UUT settings) or domain-specific (ex. analog signals, RF parameters, etc.).

CDTs are supported in the following TestBase modules:

  • IDE: CDT Editors are displayed by the IDE when the user edits the value of a parameter having a custom data type, and when the user checks the value of such a parameter during debug.
  • Production User Interface: The values of global parameters with Custom Data Types are displayed during execution.
  • Test Procedures and Reports: CDTEs may be used in Test Procedures and Reports developed by users, providing programmatic access to data and, optionally, a graphical representation of data on test procedure panels or report sheets.
  • MTI Database: Parameters with Custom Data Types are stored in relational databases and XML files.
  • DiagML export and import. Parameters with Custom Data Types may be exported and re-imported.
  • Documentation: The usage of CDT-related features is described in the Help System. The development of CDT Editors and their usage in test procedures and reports is described in the Developer’s Manual.
  • Samples
    • Custom Data Type Editors (Visual Basic sources and the compiled files) may be found in subdirectories of <TestBase installation directory>\Samples\CDT Editors)
    • Test Procedures and Reports using CDTEs are used in test strategies implemented in Project files Sample.tdd and Demo.tdd.

Note: By default, this feature is disabled in the IDE. To enable it, select the menu Tools | Development Options | Custom Data Types. Select the menu again to disable the feature. A checkmark adjacent to the menu text indicates if the feature is currently enables.

The following new elements were added since the Beta2 release: COM category registration; documentation; enhancements in samples.

2.3.2. Test Procedure Adapter for National Instruments LabVIEW

This release includes a TestBase Adapter for LabVIEW.

  • Note: You need a LabVIEW development license to develop test procedures with LabVIEW, or to run the LabVIEW samples provided with TestBase. An evaluation version of LabVIEW obtained from National Instruments may also be used.

The following new elements were added since the Beta2 release: support for callback functions; support for returning error and warning conditions; support for Custom Data Types; improved support for Abort (Abort is now instantaneous); documentation; enhancements in samples.

2.3.3. Test Procedure Adapter for Agilent VEE

This release includes a TestBase Adapter for Agilent VEE.

  • Note: You need a VEE development license to develop test procedures with VEE, or to run the VEE samples provided with TestBase in debug mode. An evaluation version of VEE obtained from Agilent Technologies may also be used. You only need the VEE run-time to run the VEE samples provided with TestBase in non-debug mode. This run-time is redistributed with TestBase.

The following new elements were added since the Beta2 release: support for callback functions; support for returning error and warning conditions; improved support for Abort (Abort is now instantaneous); documentation; enhancements in samples.

2.3.4. Generic Procedures

This release includes a new TestBase IDE feature – Generic Procedures. These test procedures, included in the regular TestBase distribution, perform generic tasks such as: user input/output, comparisons and expression evaluation. They may be used to build test strategies, similar to the user-developed test procedures. The usage of Generic Procedures is illustrated in the test strategies located under UUT Model node "GenericTPs", in Project file Sample.ttd. Utilization instructions are provided in the Help System of the TestBase IDE.

Note: The Generic Procedure "EvaluateExpression" is not documented in the Help System. The documentation is included in Section 2.5.1 of these Release Notes.

The following features were added since the Beta2 release: new procedure "EvaluateExpression"; samples.

2.3.5. New Compiler

This release includes a new compiler for the TestBase IDE. This compiler is up to 12 times faster than the original compiler (the actual improvement depends on the particularities of compiled Test Strategies) and has more powerful verification capabilities.

Note: The new compiler is active by default. To activate the old compiler, change the value of the environment variable TB_COMPILER_VER (automatically created by the installer) to 1. Change the value back to 2 to activate the new compiler.

The Help System distributed with the current release describes the original compiler and the new compiler.

The main differences between the old compiler and the new compiler are described below:

  • New flowchart drawing rules:

Note: These rules were introduced to speed up the operation of the compiler. Previously developed Test Procedures may need minor adjustments to comply with the new rules. These rules are expected to impact a small percentage of existing Test Procedures.

  • If a Test or DP Call block is followed by a decision block, these two blocks must be directly connected (i.e., not through an off-page reference). This rule was introduced to speed up the operation of the compiler. Previously developed Test Procedures may need minor adjustments to comply with the rule. The rule is expected to impact a small percentage of existing Test Procedures.
  • START blocks must be connected directly to Test, Display or DP Call blocks.
  • The new compiler detects the situation when the data type of an Input Parameter was changed in the Test database (.ttd), while one or more immediate values for the parameter were specified in a Diagnostic database (.tdd). The above situation has the potential of causing errors at run-time. The immediate values are reset to their defaults and a warning is issued to inform the user about this automatic change.
  • The new compiler detects the case when the Test Procedure assigned to a Test has no Outcome Values defined, while the Test block is followed by decision block(s). A similar behavior is provided for DP Call blocks. This change does not affect the operation of previously developed Test Procedures (the above case, detected at development time by the new compiler, caused a run-time error with the original compiler).
  • The new compiler detects the case when the Test Procedure assigned to a Test has Outcome Values not handled by the decision block(s) that follow the Test. A similar behavior is provided for DP Call blocks. This change does not affect the operation of previously developed Test Procedures (the above case, detected at development time by the new compiler, caused a run-time error with the original compiler).
  • The case when the decision block(s) that follow the Test handle additional Outcome Values, besides those of the Test Procedure assigned to the Test, causes a warning. A similar behavior is provided for DP Call blocks. These situations were reported as errors by the original compiler. This change does not affect the operation of previously developed Test Procedures (the above case can not produce run-time errors).
  • The new compiler issues a warning when detected Test, Document or DP Call blocks that are not connected to the control flow.
  • The new compiler does not issue a warning when the beginning of a connector is not connected to a block. This change does not affect the operation of existing Test Procedures.
  • The new compiler does not issue a warning when connectors are partially overlapped. This change does not affect the operation of previously developed Test Procedures.

2.3.6. Speed improvements

The implementation of existing TestBase components was modified to increase execution speed. The modifications do not change the operation of components. The following improvements are implemented:

  • The speed of the original compiler was increased several times (the actual improvement depends on the particularities of compiled Test Strategies), to support users who do not want to switch to the new compiler (see Section Error! Reference source not found.).
  • The time required to load Projects in the Diagnostic Controller and Functional Test Controller user interfaces was reduced to almost half (the actual improvement depends on the particularities of Test Procedures characterized in the Test Database assigned to the Project).

2.3.7. "Simulate" flag in IDE

This feature enables the user to change the value of the Simulate flag in IDE. In previous releases, simulation control was available only through the toolbar buttons Step and Simulated Step. To set the Simulate flag, select the IDE menu Tools | Run-time options..., click the Flags tab, then click the appropriate radio button in the Simulate frame.

Note: The value set by the user for the Simulate flag is sampled by the IDE at the beginning of each Test Strategy execution. Changes made during execution are NOT reflected in the current execution.

2.3.8. "Break on FAIL, Error and Warning" in Functional Test Controller

The controlled execution of test strategies in the Functional Test Controller has a new capability: break (interrupt execution) when a test procedure returns an error condition, a warning condition or a FAIL condition (represented by returning False in the "Pass" flag). This functionality may be configured from the menu Tools | Options | UI-FT Specific. It is documented in the "Functional Test Controller " section of the Help System.

2.3.9. Diagnostic Procedure HTML Reports

The Display DP Report toolbar button in IDE generates reports in HTML format (Excel reports were generated by previous versions of TestBase). This change eliminates the need to have Excel installed for users that do not need the Excel Adapter. In addition, the new HTML reports offer a dual graphical/textual representation.

2.3.10. Support for LabWindows/CVI 6.0

The LabWindows Adapter supports the use of LabWindows/CVI 6.0 for developing and executing test procedures. The samples distributed with TestBase are built using LabWindows/CVI 6.0. The LabWindows/CVI 6.0 run-time engine in included in the distribution.

2.3.11. Support for MANUAL INTERVENTION in the PAWS Adapter

The PAWS Adapter now offers support for the execution of ATLAS programs that contain MANUAL INTERVENTION and MONITOR statements.

The support provided by the adapter must be complemented by additional support in the production user interface. In principle, the user interface should include an indicator that is active when a MANUAL INTERVENTION statement is reached and a button that is clicked by the user in order to resume execution.

The same functionality supports the MONITOR statement. While the MONITOR statement is repeatedly, the indicator is active. When the button is pressed, execution continues with the following statement.

The development of user interfaces that implement the above functionality is described in detail in the Developer’s Manual.

2.3.12. Import and export of array values, in DiagML and MS Excel formats

This release adds new functionality to the export/import capabilities of TestBase, enabling the export and re-import of parameter values of type array, using the DiagML format. This functionality, available in the Array Editor window of the TestBase IDE, is documented in the Help System.

This release enables the import of parameter values of type array from Excel spreadsheets. This feature allows the generation of array data outside TestBase, using mathematical formulas or other algorithms implemented in Excel. This functionality, available in the Array Editor window of the TestBase IDE, is documented in the Help System.

2.3.13. Dynamic resizing of drop-down lists in IDE

The drop-down lists displayed in the grid (table) area of the IDE are now dynamically resized, according to the height of the grid area. This improves accessibility to list entries.

2.3.14. Memorization of grid column widths in IDE

When the user changes the widths of a grid column, the new width is memorized and used each time a column with the same name is displayed, in the current session and in future sessions.

2.3.15. Opening database files directly from the Windows Explorer

Starting with this version, the TestBase files (extensions .tdd, .ttd and .ted) are associated to the TestBase application. You can open these files by double-clicking their icons in the Windows Explorer.

2.3.16. Improved installation procedure

The installation procedure is guided by the Welcome Screens, a set of HTML pages include a brief description of the installation steps and provide access to various installation packages, for TestBase and redistributables. Details are available in the Installation Guide.

The location of redistributables was moved on the installation CD, reducing the requirements for hard drive space during installation.

Starting with this version, the TestBase installation procedure supports the use of licensing via hardware keys. Details are available in the Installation Guide.

2.3.17. Improved documentation

All developer-oriented documentation is now accessible in a unique document, the Developer’s Manual. The development of test procedures and reports is exemplified using a common set of samples, for all test languages and report formats.

The "Walkthrough" section of the Help System was improved and extended, to provide a solid introduction to the usage of all TestBase user interface modules. The samples used in the "Walkthrough" are consistent with those described in the Developer’s Manual.

2.4. Problem Reports

This section addresses problem reports received for releases 2.4.1, 2.5.0 Beta and 2.5.0 Beta2.

03007 - "Unable to export CFD" error when generating DP report

This appears to be caused by a peculiar behavior of the Visio application. A workaround solution is provided in Section 2.1.3.

03008 - Long lists not showing last items (under Windows XP)

This was corrected by dynamically resizing list height. See Section 2.3.13 for details.

03009 - Abort does not stop TP in VEE

Abort occurs only at the end of the test procedure.

Corrected. See Section 2.3.3 for details.

03010 - Type libraries not found

The type libraries necessary when developing COM test procedures are not found in the location indicated in the developer’s documentation.

The documentation was corrected.

03011 - MTI storage with VEE Adapter

Output parameters of type array are not supported in conjunction with MTI storage. The Problem Report is actually mislabeled, the problem occurring for the LabVIEW Adapter.

The MTI storage was corrected.

03043 - LabVIEW Test Procedures cause random abort after long time

This problem is caused by a memory management problem in the LabVIEW engine. Corrected using a fix provided by National Instruments.

Execution of successive LabVIEW Test Procedures fails randomly

This was corrected by changing the lifetime management of the LabVIEW engine. See Critical Item in Section 2.1.1 for important configuration instructions.

Storage of unsigned values in DiagML

In previous versions, the values of parameters with unsigned integer data types where shifted, when stored in DiagML files (similar to the shifting used when storing such values in MTI databases).

The behavior was changed in release 2.5.0 - the values stored in DiagML files are identical to the values entered in IDE.

The above change will cause a problem when re-importing DiagML files exported with previous versions, if these files contain parameters with unsigned integer types. The original files may be easily corrected, to avoid such problems. Please contact TYX for instructions.

Abort of Global Parameter Value Acquisition Procedures

Aborting Global Parameter Value Acquisition Procedures causes fatal errors under some circumstances.

Corrected.

Abort from Functional Test Controller

Aborting execution from the Functional Test Controller Global Parameter causes fatal errors under some circumstances.

Corrected.

2.5. Additional Documentation

2.5.1. Generic Procedure "EvaluateExpression"

_EvaluateExpression – calculates the result of an expression

Input Parameters

  • Arg0…Arg9 – expression arguments; have the type "double"
  • Expression – string representing the expression to be evaluated; details are provided in the following

Expression syntax

The expression string can contain:

  • immediate numeric constants, as described below
  • operators, as described below
  • functions, as described below
  • the arguments Arg0 ... Arg9

Spaces can be freely introduced to visually separate expression elements. Parentheses '(' and ')' can be used to override operator precedence as necessary.

Numeric constants

You can specify constant numbers exactly like in programming languages, using the "e" or the "E" to separate mantissa from exponent and the point "." as decimal separator. Do not use the comma "," as decimal separator as it's used as parameter separator. Do not use the space " " as decimal separator as it could represent implied multiplication. Examples:

Correct

Incorrect

1

1,000,000

1.0

1,5

1e5

1e+0.5

1000000

1 000 000

1e+5

.05

Operators

Operator

Name

Description

&

AND

logical AND operators

Combine multiple conditions formed using relational or equality expressions. Return the value 1 if both operands are nonzero; otherwise, return 0.

|

OR

logical OR operators

Combine multiple conditions formed using relational or equality expressions. Return the value 1 if both operands are nonzero; otherwise, return 0.

NOT

logical negation

Returns the value 0 if its operand is nonzero; returns the value 1 if its operand is 0.

>

<

=

>=

<=

binary relational and equality operators

Compare their first operand to their second operand to test the validity of the specified relationship. Return 1 if the tested relationship is true and 0 if it is false.

<>

><

!=

binary inequality operators

Compare their first operand to their second operand to test whether they are different. Return 1 if they are not equal, 0 if they are equal.

+

binary addition operator

Causes its two operands to be added.

-

binary subtraction operator

Subtracts the second operand from the first.

unary minus operator

Causes the following operand to undergo a change in sign.

*

binary multiplication operator

Causes its two operands to be multiplied.

/

binary division operator

Causes the first operand to be divided by the second.

^

binary power operator

Calculates the first operand raised to the power of the second operand.

!

unary factorial operator

Calculates the factorial of the operand.

The table below contains all the operators, in order of increasing evaluation precedence:

&, AND, |, OR

NOT

>=, <=, >, =, <, <>, ><, !=

+, -

-

*, /

^

!

Functions

Function

Description

ABS(x)

Returns the absolute value of x. Example: ABS(-5) returns 5.

ACOS(x)

Returns the arc-cosine of x. The return value is an angle specified in radians.

ASIN(x)

Returns the arc-sine of x. The return value is an angle specified in radians.

ATAN(x)

Returns the arc-tangent of x. The return value is an angle specified in radians.

CEIL(x)

Returns a floating-point value representing the smallest integer that is greater than or equal to x. Example: CEIL(4.3) returns 5.

COS(x)

Returns the cosine of x. The x value is an angle expressed in radians.

COSH(x)

Returns the hyperbolic cosine of x. The x value is an angle expressed in radians.

DIV(x,y)

Returns the quotient of the integer division between x and y. The x and y values must be integer values, otherwise unpredictable results will be generated.

MOD(x,y)

Returns the remainder of the integer division between x and y. The x and y values must be integer values, otherwise unpredictable results will be generated.

EXP(x,y)

Returns the exponential of x, that is to say the neperian constant e raised to the x-th power.

FLOOR(x,y)

Returns a floating-point value representing the largest integer that is less than or equal to x. Example: FLOOR(6.7) returns 6.

HYPOT(x,y)

Returns the hypotenuse of a right triangle with the given cateti x and y. Example: HYPOT(3,4) returns 5.

LN(x)

Returns the natural logarithm of x. If x is negative, returns an indefinite. If x is 0, returns INF (infinity).

LOG(x)

Returns the base-10 logarithm of x. If x is negative, returns an indefinite. If x is 0, returns INF (infinity).

MAX(x,y)

Returns the maximum of x and y.

MIN(x,y)

Returns the minimum of x and y.

RAND(x)

Returns a pseudorandom integer in the range 0 to x.

SIN(x)

Returns the sine of x. The x value is an angle expressed in radians.

SINH(x)

Returns the hyperbolic sine of x. The x value is an angle expressed in radians.

SQRT(x)

Returns the square root of x.

TAN(x)

Returns the tangent of x. The x value is an angle expressed in radians.

TANH(x)

Returns the hyperbolic tangent of x. The x value is an angle expressed in radians.

Internal number representation

The evaluation algorithm makes uses the type double (8 bytes) for internal number representation. The range for this data type is +/-1.7E308, with at least 15 digits of precision.

Examples

Arg1*(Arg1-Arg3)

1.2*SIN(Arg3)

Output Parameters

  • Result – contains the expression evaluation result; has the type "double"

Outcome Values

  • PASS – returned when the expression was successfully evaluated
  • FAIL – returned when expression evaluation is impossible, although the expression’s syntax is correct; this may occur, for example, in the case of a division by zero

Error conditions

An error condition is returned if the expression has an incorrect syntax. The following error messages may be returned:

Error Message

Description

Empty expression

This error arises when the expression string is empty, or composed of white spaces only

Wrong number of arguments

This error arises when you call a function with a bad number of arguments, for example when you try to evaluate the expression: sin(45, 2), when the sin() is known to accept one only argument.

Wrong use of reserved word

This error occur when you try to use a name of a function as if it were a variable or a constant or something else. In practice this is true whenever the parentheses which indicate a function call are not used. For example the following expressions generate this type of error:

1 + sin

(COS + TAN)

sin 45

An argument was expected

This error usually occurs when an expression is truncated or when you forget an operand or an argument; this error is also generated when you forget a parenthesis at the end of a correct expression, rendering it an unusable sub-expression. For example the following expressions generate this sort of error:

Sin(

(1+5)/(4+)

(1+5)/(4+5

Undefined function

This error is reported when you use an identifier name (a name that can be used to name a variable) immediately before an open parenthesis: it seems to be a function name but it is not (probably because you misspelled the name, or perhaps because you intended to multiply a variable by something that is inside the parenthesis). Examples:

x(5+4)+y - you intended: x*(5+4)+y

sine(3.14) - you intended: sin(3.14)

Undefined identifier

This error is reported when you use an identifier name (a name that can be used to name a variable) different from Arg0 ... Arg9, probably because you misspelled the name.




| Home | Company Profile | Products | Support | News | Partners | User Groups | Guestbook |