Femtosoft Technologies

Welcome

Feature Comparison FROG functionality (screen shots)
Performance
Hardware Requirements
Programming Information
The Help File (use Save Link As)
Download a demo!
OEM
Bugs/Enhancements Database
QuickFrog Software
QuickFrog Releases and Functionality
QuickFrog and QuickFrog Lite
Bugs/Enhancements Database
Pricing information
Order form
Customers in Japan
FROG for the Macintosh FROG Hardware Vendors
Hardware Configurations

Offical FROG web page
List of publications

World's best FROG traces!
Java FROG Applet
Fowler's Physics Applets
Wave Superposition Applet Contact Femtosoft

FROG Programming Information

FROG 3.0 is written entirely with Borland's Delphi 3.0 development tool. Delphi is a fully object-oriented, Pascal-based, RAD (Rapid Application Development) tool that supports single inheritance, polymorphism and virtual functions. All the GUI components used in FROG 3.0 are derived from the components supplied by Borland - except for the graph of error vs iteration. All of the C code of the original FROG algorithm was ported to Delphi - unlike FROG 1.51, which used C DLLs to control the FROG algorithm.

Delphi blurb - Delphi is an excellent development enviroment. In addition to all the above, D3 can use any OCX on the market, and it can make OCXs as well. So if you understand OO, and you even think for one second about using Visual Basic, slap yourself (very roughly) and order your copy of D3! Not to mention that D3 is, my my tests, somewhere between 7 to 20 times faster in execution speed than the toy VB5.

FROG 2.0 is comprised of 20,700 lines of code and 55 classes. The inheritance heirarchy is up to 3 levels deep. 170 hours were invested in writing FROG 2.0, including the help file - although I was able to use most of the code from version 1.51 (which was 92 hours of programming effort). Version 1.51, in turn, was mostly a GUI wrapper for the 5000 lines of C code that implemented the FROG algorithm developed at Sandia National Laboratories - which took over 2 years to conceive of and perfect. The switching of the retrieval strategy at runtime used by the FROG algorithm is implemented using a Strategy design pattern (see Gamma's book, "Design Patterns"), and the retreival strategies themselves make use of Template design patterns.


Back to the Femtosoft Homepage.