/* txfmod.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
/*
Test: xfmod xfrex xpr2
Uses: atox prxpr
Input parameters: x -> extended precision: first argument
y -> extended precision: second argument
*/
#define XMATH 1
#include "ccmath.h"
int decd=30;
void main(int na,char **av)
{ struct xpr s,t,f; int k;
if(na!=3){ printf("para: x y\n"); exit(-1);}
printf(" Test of FMOD functions\n");
s=atox(*++av); t=atox(*++av);
printf(" inputs:\n");
printf(" s="); prxpr(s,decd);
printf(" t="); prxpr(t,decd);
/* extended precision modular divide */
f=xfmod(s,t,&k);
printf(" s mod t = "); prxpr(f,decd);
printf(" k = %d\n",k);
printf("\n s="); prxpr(s,decd);
/* extended precision exponent extraction */
s=xfrex(s,&k);
printf(" exp= %d\n",k);
printf(" <s>="); prxpr(s,decd);
/* extended precision power of two */
s=xpr2(s,k);
printf(" s="); prxpr(s,decd);
}
/* Test output
Test of FMOD functions
inputs:
s= 1.250000000000000000000000000000e+1
t= 3.000000000000000000000000000000e+0
s mod t = 5.000000000000000000000000000000e-1
k = 4
s= 1.250000000000000000000000000000e+1
exp= 4
<s>= 7.812500000000000000000000000000e-1
s= 1.250000000000000000000000000000e+1
*/
syntax highlighted by Code2HTML, v. 0.9.1