Sponsored Content
Operating Systems OS X (Apple) A fixed point basic calculator for DASH. Post 303026296 by wisecracker on Friday 23rd of November 2018 05:06:21 PM
Old 11-23-2018
Apologies for the delay, I am a carer or babysitter presently for my mother or grandchild and dogs.
However @ Corona688...

Well tested your 'BASH' version with just one edge case and there will be quite a few...
Note with your original, 2.0 - 3.14159 = -1.141, not what is shown.
Then I just did one edge case, I changed '2.0' to '0.073' and...
NOTE: Not related to either your or my versions; I have manually found many edgecases. Python was a godsend for this task.
Code:
Last login: Fri Nov 23 21:29:04 on ttys000
AMIGA:amiga~> cd Desktop/Code/Shell
AMIGA:amiga~/Desktop/Code/Shell> ./FPMATH_C688.sh
3.14159 * 2.0 = 6.282
3.14159 / 2.0 = 1.570
2.0 - 3.14159 = 1.141		# WRONG! -1.141
3.14159 - 2.0 = 1.141
3.14159 + 2.0 = 5.141
AMIGA:amiga~/Desktop/Code/Shell> # Just one edge case, change BB to 0.073.
AMIGA:amiga~/Desktop/Code/Shell> ./FPMATH_C688.sh
3.14159 * 0.073 = 0.185
3.14159 / 0.073 = 53.237
0.073 - 3.14159 = 3.082
3.14159 - 0.073 = 3.082
3.14159 + 0.073 = 3.200
AMIGA:amiga~/Desktop/Code/Shell> # Oops, they are all wrong.
AMIGA:amiga~/Desktop/Code/Shell> _

Code:
Google calculator:
3.14159 * 0.073 = 0.229
3.14159 / 0.073 = 43.035
0.073 - 3.14159 = -3.068
3.14159 - 0.073 = 3.068
3.14159 + 0.073 = 3.214

As I said I have learnt a lot about 'dash' and POSIX. Your 'heredoc' code is wonderful.
As above I have found many edge cases.
Also the strange effects closing the gaps to the + or - limits I have set.
I will be back ASAP but family comes first.

Last edited by wisecracker; 11-24-2018 at 05:37 AM.. Reason: Correct grammar.
 

7 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Fibre connection Point to Point SUN

Anyone know of a guide or instructions for Solaris I got to configure a SBUS HBA to talk to a tape robot. I have done this on a switch but not point to point. just going HBA >>>>> TAPE Fibre simple two nodes Kie (6 Replies)
Discussion started by: kie
6 Replies

2. UNIX for Dummies Questions & Answers

dash after ampersant

Hi! I'm new in these forums and more or less new with Unix. So... here is the question: does anyone know where is redirected the output of a command when you put >&- after it? Does it means any standard file descriptor? Thanks! (2 Replies)
Discussion started by: csecnarf
2 Replies

3. Shell Programming and Scripting

How to perform a hexdump using dd from start point to end point?

hi, I would like to ask or is it possible to dump a hex using dd from starting point to end point just like the "xxd -s 512 -l 512 <bin file>" I know the redirect hexdump -C but i can't figure it out the combination options of dd. Hope someone can share their knowledge.. Thanks in... (3 Replies)
Discussion started by: jao_madn
3 Replies

4. Post Here to Contact Site Administrators and Moderators

How to sum up data in fixed width file with decimal point?

HI Everyone, I have below source file AAA|NAME1|ADDRESS1|300.20 BBB|NAME2|ADDRESS2|400.31 CCC|NAME3|ADDRESS3|300.34 I have requirement where I need to sum up fourth field in above fixed width pipe delimited flat file. When I use below code, it gives me value 1001.00 But I am expecting... (1 Reply)
Discussion started by: patricjemmy6
1 Replies

5. Shell Programming and Scripting

Fixed mount point for a USB cardreader (Raspberry Pi, UDEV)

Hey all! :) I'm trying to create a fixed mount point for an usb cardreader. I've found a script on a raspberry pi forum which does the following: usb stick is plugged in -> script checks the mount point for data -> script starts copying the files automatically -> script unmounts the... (0 Replies)
Discussion started by: Eomer
0 Replies

6. UNIX for Beginners Questions & Answers

How to create a new mount point with 600GB and add 350 GBexisting mount point? IN AIX

How to create a new mount point with 600GB and add 350 GBexisting mount point Best if there step that i can follow or execute before i mount or add diskspace IN AIX Thanks (2 Replies)
Discussion started by: Thilagarajan
2 Replies

7. Shell Programming and Scripting

A dash to GOTO or a dash from GOTO, that is the question...

Well, guys I saw a question about GOTO for Python. So this gave me the inspiration to attempt a GOTO function for 'dash', (bash and ksh too). Machine: MBP OSX 10.14.3, default bash terminal, calling '#!/usr/local/bin/dash'... This is purely a fun project to see if it is possible in PURE... (3 Replies)
Discussion started by: wisecracker
3 Replies
sin(3m) 																   sin(3m)

Name
       sin, cos, tan, asin, acos, atan, atan2 - trigonometric functions and their inverses

Syntax
       #include <math.h>

       double sin(x)
       double x;

       float fsin(x)
       float x;

       double cos(x)
       double x;

       float fcos(x)
       float x;

       double tan(x)
       double x;

       float ftan(x)
       float x;

       double asin(x)
       double x;

       float fasin(x)
       float x;

       double acos(x)
       double x;

       float facos(x)
       float x;

       double atan(x)
       double x;

       float fatan(x)
       float x;

       double atan2(y,x)
       double y,x;

       float fatan2(y,x)
       float y,x;

Description
       The and functions return trigonometric functions of radian arguments x for double data types.

       The and functions return trigonometric functions for float data types.

       The and functions return the arc sine in the range -pi/2 to pi/2 for double and float data types, respectively.

       The and functions return the arc cosine in the range 0 to pi for double and float data types, respectively.

       The and functions return the arc tangent in the range -pi/2 to pi/2 for double and float data types, respectively.

       The  and  functions  return  the  arc tangent of y/x in the range -pi to using the signs of both arguments to determine the quadrant of the
       return value for double and float data types, respectively.

   Error (due to roundoff)
       When P stands for the number stored in the computer in place of pi = 3.14159 26535 89793 23846 26433 ... .  and "trig" stands  for  one	of
       "sin",  "cos"  or  "tan",  then	the  expression  "trig(x)" in a program actually produces an approximation to trig(x*pi/P), and "atrig(x)"
       approximates (P/pi)*atrig(x).  The approximations are close.

       P differs from pi by a fraction of an ulp; the difference is apparent only if the argument x is huge,  and  even  then  the  difference	is
       likely  to  be swamped by the uncertainty in x.	Every trigonometric identity that does not involve pi explicitly is satisfied equally well
       regardless of whether P = pi.  For example, sin(x)**2+cos(x)**2 = 1 and sin(2x) = 2sin(x)cos(x) to within a few ulps regardless of how  big
       x is.  Therefore, the difference between P and pi is unlikely to effect scientific and engineering computations.

Return Values
       All the double functions return NaN if NaN is passed in.

       If |x| > 1 then (x) and (x) will return the default quiet NaN.

       The function defines (0,0) = NaN.

See Also
       hypot(3m), math(3m), sqrt(3m)

								       RISC								   sin(3m)
All times are GMT -4. The time now is 08:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy