New Product Release!

Visual Numerics is pleased to announce the latest release of
PV-WAVE®, version 8.0. In this release, there are many new
features and enhancements, which further strengthen and expand
upon PV-WAVE's capabilities for robust visual data analysis.
PV-WAVE is an array based programming language used to build
and deploy Visual Data Analysis applications. These applications
let users manipulate and visualize simple to extremely complex
datasets to detect and display patterns, trends, anomalies and
other vital information that would otherwise be overlooked in
their data.
PV-WAVE 8.0 Now Includes:
-
Enhanced Visualization
-
Double Precision Plotting
-
Statistical Charting
-
Enhanced VTK Functionality
-
Expanded Data Capabilities
-
New and Enhanced Analysis Techniques
-
Optimization
-
Multidimensional polynomial processing
-
Enhanced Performance and Language
-
OpenMP
-
Array Processing
-
User interface convenience
Now, Experience the Robust Analysis and
Visualization Capabilities of PV-WAVE with Added Functionality
and Significant Enhancements.
Find out more about the new release:
Link to PV-WAVE 8.0 Press Release
What's New with this Release
Link to PV-WAVE Web Pages
PV-WAVE 8.0 Product Sheet
PV-WAVE Documentation Page
Visual Numerics' IMSL Fortran 5.0 Library
Targeted for Next Release of Intel Fortran for Windows
Visual Numerics has recently announced that it is optimizing
the IMSLTM Fortran Library 5.0, which
is targeted for use with the next release of the Intel® Fortran
Compiler for Windows. The combination of the IMSL Fortran
Library with the Intel Fortran Compiler allows Fortran
developers to take advantage of robust mathematical and
statistical algorithms optimized for Intel's compiler technology
and build high-performance applications on Microsoft
Windows-based systems using Intel® Pentium®, Intel® XeonTM
and Intel® Itanium® processor families.
Click here to read the press release
PV-WAVE® Wins Scientific Computing &
Instrumentation
2003 Readers Choice
Award
Earlier this year, Scientific Computing & Instrumentation
asked the readers of their magazine to vote for their favorite
products based on quality, reliability, and value. This month,
the winners as well as the top two finalists in each category
were announced. PV-WAVE was a 2003 Reader's Choice finalist in
the Visualization category.
Click here to read more
Visual Numerics to Attend SFTE Show
34th Annual SFTE Symposium
September 15-19, 2003
Visual Numerics will attend The Annual Society of Flight Test
Engineers Symposium in Portsmouth, Virginia. The Symposium will
feature the latest developments and innovations in flight test
process and technology. Over 200 international aerospace
professionals who have an interest in flight testing are
expected to attend. The theme for this year's show is "A Century
of Flight Test - From the Wright Brothers to the Right Stuff".
Click here for more information on the show
August Tech Tip - CNL
Accessing CNL From Visual Basic
If you are one of a growing number of developers that are
accessing CNL from Visual Basic, you have likely run into the
problem of passing evaluating functions in VB to the CNL
routines. Since CNL uses the __cdecl calling mechanism to allow
optional arguments, there is a conflict with VB which uses
__stdcall. The best way to handle this is to use an intermediate
"wrapper C library" which translates the calls between VB and
CNL. This works well for most arguments types such as float and
int, as it is simply a matter of aligning the correctly sized
data types between the two languages.
However, evaluating functions provide a greater challenge
because VB stores arrays differently than C does. Since CNL
usually makes many calls to the evaluating function, it must
pass arrays back and forth between CNL and the evaluating
function. If the arrays are in VB, the data in the array must be
put into a "safe array" when going to VB and taken out of the
safe array and put into a regular C array when going back to
CNL.
The easiest workaround is to put the evaluating function in
the wrapper DLL, so that the arrays do not have to be loaded and
unloaded when being passed back and forth to VB. The problem
with this approach is it does not provide a "black box"
solution, because changes to the evaluating function have to be
done in the wrapper DLL and then recompiled. A better approach
is to put the evaluating function in the VB code and pass it to
the wrapper DLL. Inside the DLL, a function pointer is set to
the passed in VB function. Here is how it is done:
// set global function pointer to point to VB evaluating
function func_ptr = (void (__stdcall *) (int *, int *, int *,
SAFEARRAY **, SAFEARRAY **, float *, SAFEARRAY **)) vb_fcn;
In the actual DLL call to the CNL routine, a regular C
function, vb_evaluating_function is passed to CNL as the acting
evaluating function. When it is subsequently called by CNL, it
converts the information in the C arrays into safe arrays and
then calls the evaluating function in VB (which it knows the
location of through the function pointer, func_ptr that was set
earlier). When the evaluating function in VB is finished, it
returns back to the C wrapper DLL and the information is pulled
back out of the safe arrays into the regular C memory array
before retuning to CNL. This continues for as many calls as the
CNL routine makes to the evaluating function. Special functions
exist in C that facilitate the translation of the safe arrays,
and typically look like this:
// translate g[] to VB safearray
for (i = 0; i < m; i++)
{
 floatTemp
= g[i];
 ix[0]=i;
 SafeArrayPutElement(g_safe,
ix, &floatTemp);
}
There are also functions to create safe arrays and to get
safe array elements from within C. Using these techniques, the
roughly 40 functions that require an evaluating function in CNL
can be called from VB with the evaluating function coded up in
the VB code.
Download the August Wallpaper
The latest Visual Numerics' calendar wallpaper is now
available. Use this calendar to track special Visual Numerics'
events from your desktop.
Download now!
Sign Up to Receive Additional Information
from Visual Numerics
Visual Numerics would like to offer you an opportunity to
sign up to receive additional information about specific product
and company announcements.
If you would like to take advantage of this offer, please use
the following link to sign up today:
http://www.vni.com/optin/
We appreciate the opportunity to keep you informed about the
exciting things going on at Visual Numerics.
|