shithub: riscv

ref: ae61eb9381f6b0c70e1c52bf2c2b7f4cd0b5bb6f
dir: /rc/bin/approx/

View raw version
#!/bin/rc
if(! ~ $#* 3){
	echo usage: approx ratio min max
	exit usage
}
echo $1 $2 $3 | awk '
{
	y=$1;
	min=$2;
	max=$3;
	for(i = min; i <= max; i++){
		k = int(y*i+0.5);
		z = (k/i/y-1)*100;
		if(z < 0)
			z = -z;
		if(i == min || z < zm){
			zm = z;
			printf("%d/%d\t%g\t%.2g%%\n", k, i, k/i, z);
		}
	}
	exit
}
'