ftp.nice.ch/pub/next/tools/scsi/SCSIInquire.3.0.s.tar.gz#/Inquirer/ben.c

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.