Vinograd’s algorithm for calculating short foldings



© A. Smal

Saint-Petersburg State University of Information Technologies, Mechanics and Optics

Project documentation in Russian (PDF)
Source code

Visualizer (English, online)

Annotation

It’s rational to view some examples for better understanding of some algorithm. To make this process interactive special programs — visualizers are created.

This project represent visualizer of Vinograd’s algorithm for calculating short foldings usually used in computation of fast Furier transformation. The project was written in Java (http://java.sun.com) language using Vizi technology (http://ips.ifmo.ru:8888/vizi/), that is based on automats method of programing (http://is.ifmo.ru). The project has open sources and documentation.

The visualizer is Java–applet that can be included in HTML page. Java–language is platform–independent and so this applet can be viewed on any computer with graphical environment.

The process of creation of visualizer is unusual: instead of direct programming — writing code that later compiles in applet used Vizi technology. The main point of this technology is that only interface of applet is wrote in Java. Algorithm and all parameters such as comments for algorithm steps, all strings and examples are wrote using XML. Using this description with package Vizi sources of program in Java are generated. These sources are representing two finite automations. Each automat consisted of 22 states.