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
Frontier::RPC2(3)					User Contributed Perl Documentation					 Frontier::RPC2(3)

NAME
Frontier::RPC2 - encode/decode RPC2 format XML SYNOPSIS
use Frontier::RPC2; $coder = Frontier::RPC2->new; $xml_string = $coder->encode_call($method, @args); $xml_string = $coder->encode_response($result); $xml_string = $coder->encode_fault($code, $message); $call = $coder->decode($xml_string); $response_xml = $coder->serve($request_xml, $methods); $boolean_object = $coder->boolean($boolean); $date_time_object = $coder->date_time($date_time); $base64_object = $coder->base64($base64); $int_object = $coder->int(42); $float_object = $coder->float(3.14159); $string_object = $coder->string("Foo"); DESCRIPTION
Frontier::RPC2 encodes and decodes XML RPC calls. $coder = Frontier::RPC2->new( OPTIONS ) Create a new encoder/decoder. The following option is supported: encoding The XML encoding to be specified in the XML declaration of encoded RPC requests or responses. Decoded results may have a different encoding specified; XML::Parser will convert decoded data to UTF-8. The default encoding is none, which uses XML 1.0's default of UTF-8. For example: $server = Frontier::RPC2->new( 'encoding' => 'ISO-8859-1' ); use_objects If set to a non-zero value will convert incoming <i4>, <float>, and <string> values to objects instead of scalars. See int(), float(), and string() below for more details. $xml_string = $coder->encode_call($method, @args) `"encode_call"' converts a method name and it's arguments into an RPC2 `"methodCall"' element, returning the XML fragment. $xml_string = $coder->encode_response($result) `"encode_response"' converts the return value of a procedure into an RPC2 `"methodResponse"' element containing the result, returning the XML fragment. $xml_string = $coder->encode_fault($code, $message) `"encode_fault"' converts a fault code and message into an RPC2 `"methodResponse"' element containing a `"fault"' element, returning the XML fragment. $call = $coder->decode($xml_string) `"decode"' converts an XML string containing an RPC2 `"methodCall"' or `"methodResponse"' element into a hash containing three members, `"type"', `"value"', and `"method_name"'. `"type"' is one of `"call"', `"response"', or `"fault"'. `"value"' is array containing the parameters or result of the RPC. For a `"call"' type, `"value"' contains call's parameters and `"method_name"' contains the method being called. For a `"response"' type, the `"value"' array contains call's result. For a `"fault"' type, the `"value"' array contains a hash with the two members `"faultCode"' and `"faultMessage"'. $response_xml = $coder->serve($request_xml, $methods) `"serve"' decodes `$request_xml', looks up the called method name in the `$methods' hash and calls it, and then encodes and returns the response as XML. $boolean_object = $coder->boolean($boolean); $date_time_object = $coder->date_time($date_time); $base64_object = $coder->base64($base64); These methods create and return XML-RPC-specific datatypes that can be passed to the encoder. The decoder may also return these datatypes. The corresponding package names (for use with `"ref()"', for example) are `"Frontier::RPC2::Boolean"', `"Fron- tier::RPC2::DateTime::ISO8601"', and `"Frontier::RPC2::Base64"'. You can change and retrieve the value of boolean, date/time, and base64 data using the `"value"' method of those objects, i.e.: $boolean = $boolean_object->value; $boolean_object->value(1); $int_object = $coder->int(42); $float_object = $coder->float(3.14159); $string_object = $coder->string("Foo"); By default, you may pass ordinary Perl values (scalars) to be encoded. RPC2 automatically converts them to XML-RPC types if they look like an integer, float, or as a string. This assumption causes problems when you want to pass a string that looks like "0096", RPC2 will convert that to an <i4> because it looks like an integer. With these methods, you could now create a string object like this: $part_num = $coder->string("0096"); and be confident that it will be passed as an XML-RPC string. You can change and retrieve values from objects using value() as described above. SEE ALSO
perl(1), Frontier::Daemon(3), Frontier::Client(3) <http://www.scripting.com/frontier5/xml/code/rpc.html> AUTHOR
Ken MacLeod <ken@bitsko.slc.ut.us> perl v5.8.0 2003-01-27 Frontier::RPC2(3)
All times are GMT -4. The time now is 07:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy