Speakeasy Logo  Speakeasy
Home About EMCC Capabilities News Contact Problems? Trial Version Search Downloads

Speakeasy Capabilities

Speakeasy is a powerful tool for solving the most difficult computational problems!

Speakeasy gives you the power to perform wide range of mathematical operations and more. 
In simplest terms, Speakeasy is like a powerful, handheld calculator without the limitations of a calculator.  A calculator operates on scalars (a single value).  Speakeasy, however, allows multiple-value variables to be defined and repetitious calculations to be performed efficiently. 

The links below will introduce you to some of the many capabilities that Speakeasy has to offer.


Getting Started.

Arithmetic, using binary operators, from simple addition to exponentiation.
Ability to work with very small and very large numbers.
Trigonometric Functions
Pre-Programmed operations.
An environment for high-powered operations with structured objects
Development of user-defined operations.
Development of applications with front ends.
Analytic graphing capability.
Literal data.


Getting Started

The Speakeasy prompt  ( :_ ) indicates that Speakeasy is ready for user input.  A user simply types the desired calculation and presses the enter key.  Speakeasy performs the calculation and displays the output.  It's as simple as that!



Basic Arithmetic

Speakeasy provides a convenient means for performing the arithmetic or binary operator:  addition, subtraction, multiplication, division and exponentiation.

The most commonly used mathematical operations are also provided, including:  absolute value, average, natural logarithm, base-10 logarithm, factorial, square root, cube root, and xx modulo nn (the remainder of xx/nn).

Enter a simple arithmetic statement such as:

     :_ 2+3

Speakeasy replies with the statement:

      2+3 = 5



Large and Small Numbers

Very large or very small numbers can be expressed in scientific notation by numeric field with the letter E followed by the power of 10 associated with that number.  (No spaces should be inserted anywhere in such a numeric specification.)  For example:

    1.057E-5   means   .00001057

  236E+6      means    236000000

In contrast to other computer languages, Speakeasy makes no distinction between integer and non-integer numbers.  The forms 4, 4.0 and 4.E0 are all equivalent ways of representing the same value.



Trigonometric Functions

Speakeasy includes all of the trigonometric functions:

Standard Functions:
sin-sine, cos-cosine, tan-tangent, cot-cotangent

Arc Functions:
asin-arcsine, acos-arccosine, atan-arctangent, acot-arccotangent

Hyperbolic Functions:
sinh-hyperbolic sine, cosh-hyperbolic cosine, tanh-hyperbolic tangent

A given operation can be used singly or in any combination within a Speakeasy statement.  For example:

:_sqrt ( (14**2) / (abs(-7)) + 8*cos(0) )
SQTR ( (14**2) / (ABS(-7)) + 8*COS(0)) = 6



Pre-Programmed Operations

Unlike other mathematical packages, Speakeasy provides an extensive set of numerical operations.  

Without the clutter (or the cost) of extraneous functions, the Speakeasy language remains easy to use.  Each of these operations is invoked with a single, obvious word - a word you already know!

Speakeasy includes operations for:


bulletStatistical Analysis
bulletRandom Numbers
bulletSorting Operation
bulletLogical, Relational and Conditional Operators
bulletFinancial Operations
bulletFitting and Interpolating Functions
bulletNumerical Integration
bulletDifferential Equations
bulletSingle Variable Functions/Operations
bulletMatrix Operations
bulletPhysics Operations
bulletFast Fourier Transformations
bulletLINPAK Library Operations
bulletOptimization Operations



User-Defined Operations

User-Defined Operations eliminate repetitious input and greatly expand the power of Speakeasy.

Speakeasy can be used to develop new user-defined operations, in the form of a procedure.  A Speakeasy procedure is simply a collection of Speakeasy statements saved as an object which, in turn, can be executed with a single statement.  

Because of the intuitive language of Speakeasy, the user does not have to be trained in conventional programming to create a procedure.  Several operations are provided, however, for creating advanced procedures with loops, branches and/or queries.

These programming capabilities closely parallel the features found in other languages.  However, because of the powerful operations available in Speakeasy, the procedures are relatively compact and thus easily constructed and understood.



Structured Objects

Using Speakeasy enables users to have the ability to make a series of calculations in an interactive manner.  This ability becomes extremely powerful when used with arrays, times series, set, matrices and vectors.

Speakeasy supports all of the standard types of structured objects including:  scalars, arrays, time series, sets and matrices/vectors...and, Speakeasy can solve any arithmetic expression using these objects.

Objects are easily defined, as shown in the following statement which defines an array.  The following example of an array has three rows and three columns:

:_x = array(3, 3 : 1 2 3 4 5 6 7 8 9)

:_y = matrix(3, 3 : 1 2 3 4 5 6 7 8 9)


X  (A 3 by 3 Array)
1   2   3
4   5   6
7   8   9

Algebraic operations in Speakeasy are context sensitive.  They examine the structure and the family associated with objects involved in order to determine the proper operation to perform.  For example, multiplication for arrays and matrices are performed differently.  In the commands below, we multiply x*x and y*y.  Note that each command produces the appropriate result:


X*X (A 3 by 3 Array)

 1   4   9
16  25  36
49  64  81


Y*Y (A 3 by 3 Matrix)

  30  36   42
  66  81   96
 102 126  150

Speakeasy also incorporates elaborate syntax and logic checking.  Whenever two objects are combined in an operation, they are examined for compatibility and structure information that may direct the overall operation.  If an error occurs a helpful and easily understood message will lead you to your solution.




Applications with Front Ends

Speakeasy's high-level language is well suited to the development of powerful, customized applications.

Self-contained applications written in Speakeasy have been developed for a number of vertical applications.  The Paneleasy component of Speakeasy, provides developers the opportunity to create custom applications designed for a specific end-user application.

Since Speakeasy's numeric and graphical capabilities are fully integrated, you can also create applications with mouse-driven front ends.  



Analytical Graphing

Graphing operations are as easy to use as the rest of Speakeasy's operations: a single word is typically all you need to create presentation-quality images.

Speakeasy provides powerful graphical operations that generate:


bulletscatter plots
bulletline graphs
bulletbar charts
bulletpie charts
bulletcontour plots, and
bulletthree-dimensional figures



Literal Data

Speakeasy provides literal data processing tools in addition to its superior numeric capabilities.  Scalars, sets and arrays can be defined with literal elements.

Two forms of literal data are available:

bulletcharacter-literal data which are strings of letters, and
bulletname-literal data, which are collections of words.

Character-Literal data is specified by enclosing the information in quotation marks.  Each character or space is an element in such data:


specifies a fourteen element character-literal containing all upper-case characters.  Character-literals are generally used for textual information.  Both upper-case and lower-case characters can be specified in a character-literal object.

Name-Literal data is specified by enclosing the information in apostrophes.  An element of a name-literal has, at most, eight characters.  Thus


specifies a name-literal containing the letter N. Name-literals are generally used for names of defined objects.  Lower-case characters are automatically converted into upper-case characters in a name-literal object.





Top       Home      EMCC

Not able to find what you're looking for?  Try our sitemap
Features | Free Trial | Capabilities | Downloads
Problem? | Modeleasy+ | News | SEARCH