File:  [MW Coherent from dump] / coherent / b / lib / libm / i8087 / hypot87.m
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:35 2019 UTC (7 years ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

//////////
/ libm 8087
/ cabs(z), hypot(x, y)
//////////

#include "larges.h"
#include "ifno8087.h"

	.globl	cabs_
	.globl	hypot_

//////////
/ double
/ cabs(z)
/ CPX z;
/
/ hypot(x, y)
/ double x, y;
//////////

x	=	RASIZE		/ x arg offset
y	=	RASIZE+8	/ y arg offset

cabs_:
hypot_:
	ifno8087(_cabs_)
	mov	bx, sp

	fdld	Pss x(bx)	/ x
	fmul	st, st		/ x*x
	fdld	Pss y(bx)	/ y, x*x
	fmul	st, st		/ y*y, x*x
	fadd			/ x*x + y*y
	fsqrt			/ result = sqrt(x*x + y*y)

	Gret

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.