1. Xgt Graphics Library:
Xgt is a portable graphics library based on Xlib. It works for 16/24/32bit TrueColor class X-Servers. All APIs are designed for C/C++ and FORTRAN.  Current Xgt release includes two versions; v0 is the initial version,  and v1 is the NexGen with modular architecture. Some portions of Xgt are based on EGGX/ProCALL.
 
  1. Examples of Parallel Mandelbrot Set Renderer:
This archive contains example programs of parallel Mandelbrot set renderer  for escape time with adaptive anti-aliasing method. Comparing these examples, student can study how to optimize/parallelize Mandelbrot set renderer for modern multi-processor computers. Programs are written in C language (ISO C99 standard) and parallelized with MPI and/or OpenMP. The adaptive anti-aliasing algorithm is essentially the same as the one used for Open Fractal.
This is the output image for the default parameter set.
 
  1. Open Fractal:
Open Fractal is a fractal graphics generator for UNIX/LINUX parallelized with OpenMP (up to 256 threads). Xlib, NCURSES and ZLIB are required to compile. After the compilation, try to run for sample input data files in input/ directory;
            $ ./fractal -N input/*****.dat
Output graphics is written in PPM file format compressed with gzip.
 
  1. Array Utility:
This is simple utility for 1/2/3D array management including memory allocation/deallocation, and dump/ restore for C/C++.
 
Example for 2D array
To allocate a 2D array of double type with the size of 200x100;
double **a;
a = alloc_2d_array(200, 100, double);
Aftre the allocation, you can access each element of the 2D array with the trivial mannar. For example, you can refer the element of 50th row and 75the column with the following sentence;
a[50][75];
To deallocate a 2D array;
free_2d_array(a);
 
  1. Escape Sequences for ANSI Terminals:
This header file includes macro functions of escape sequence controls for ANSI terminals.
 
  1. Byteswap:
This is byte swap code for Little Endian machine. Any unsigned 16/32/64bit word can be converted from native byte order to net-wide byte order (Big Endian), and vice versa.
 
  1. Quaternion:
This is subroutine package for quaternion arithmetic operation.
 
  1. Drand64:
This is OpenMP port of SGI’s parallel random number generator included in SCSL. The SGI’s original source code is publicly available from here (in Japanese).
 
  1. Reentrant MT19937:
This is a reentrant variant of MT19937 random number generator.
 
List of Projects:
Graphics
  1. Xgt Graphics Library
  2. Examples of Parallel Mandelbrot Renderer
  3. Open Fractal
Memory Management
  1. Array Utility
I/O
  1. Escape Sequence
  2. Byteswap
Math
  1. Quaternion
  2. Drand64
  3. Reentrant MT19937
 
Here is md5sum.txt to check integrity of each archive file.
 
(c)2004-2011 Seiji Nishimura.
All rights are reserved.
 
These softwares are provided under the license of GPL2.0 and NO-WARRANTY.
 
If you have any question and/or suggestion on these softwares, please feel free to contact to me. You can find my e-mail address at the left-bottom corner in this page.
Software