Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

$%LOG

Draft MDC Standard

2 MATH Library
2.35 LOG

LOG(X,PREC) ;
	New L,LIM,M,N,K,VALUE
	If X'>0 Set $Ecode=",M28,"
	Set PREC=$Get(PREC,11)
	Set M=1
	;
	For N=0:1 Quit:(X/M)<10  Set M=M*10
	;
	If X<1 For N=0:–1 Quit:(X/M)>0.1  Set M=M*0.1
	Set X=X/M
	Set X=(X–1)/(X+1),(VALUE,L)=X
	Set LIM=$Select((PREC+3)'>11:PREC+3,1:11),@("LIM=1E-"_LIM)
	For K=3:2 Set L=L*X*X,M=L/K,VALUE=M+VALUE Set:M<0 M=-M Quit:M<LIM
	Set VALUE=VALUE*2+(N*2.30258509298749)
	Quit VALUE
Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.

Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.

This page most recently updated on 16-Nov-2023, 16:51:00.

For comments, contact Ed de Moel (demoel@jacquardsystems.com)