This is ben.c in view mode; [Download] [Up]
#import "ben.h" double ben( double b, double e, double n) { if( e < 0 ) exit(5); if( e == 0 ) return 1; if( drem(e , 2) == 0 ) return( modulus( pow( ben( b, e / 2, n ), 2) , n)); return( modulus( (b * ben( b, e -1, n )) , n)); } double modulus(double a,double b) { double t; a = rint(a); b= rint(b); t = drem( a , b ); if( t < 0.0 ) return b + t; else return t; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.