It is still a bit rough around some edges, particularly with regard to multi-threading and operator overloading, and there are some documentation bits missing, but it should be fine for basic use. The test-suite should build and run fine with the current versions of DMD, LDC and Tango (at least) on Linux x86_64 and Mac OS X 10.6. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12299 626c5289-ae23-0410-ae9c-e8d60b6d4f22
28 lines
438 B
C++
28 lines
438 B
C++
/* File : example.c */
|
|
|
|
#include "example.h"
|
|
#define M_PI 3.14159265358979323846
|
|
|
|
/* Move the shape to a new location */
|
|
void Shape::move(double dx, double dy) {
|
|
x += dx;
|
|
y += dy;
|
|
}
|
|
|
|
int Shape::nshapes = 0;
|
|
|
|
double Circle::area(void) {
|
|
return M_PI*radius*radius;
|
|
}
|
|
|
|
double Circle::perimeter(void) {
|
|
return 2*M_PI*radius;
|
|
}
|
|
|
|
double Square::area(void) {
|
|
return width*width;
|
|
}
|
|
|
|
double Square::perimeter(void) {
|
|
return 4*width;
|
|
}
|