Sponsored Content
Operating Systems OS X (Apple) A fixed point basic calculator for DASH. Post 303025597 by Corona688 on Tuesday 6th of November 2018 03:08:50 PM
Old 11-06-2018
Quote:
Originally Posted by wisecracker
I wouldn't know where to start for floating point maths in pure 'dash' and I'll stick my neck out and say it cannot be done at all.
I misread your post as dash misbehaving rather than zsh, but anyway - I don't mean the shell has floating point. I mean shell printf could use it as a temporary intermediate to implement %f.
Quote:
I don't use "%f" anywhere, I use "%.f"
potato, potahto. The simplest way to implement %f is the C function calls strtof and sprintf, which would use a floating point intermediate. It'd unprocess the number into a float then immediately process it back into a string using the "%.f" specifier. Less than a line.

Quote:
Done manually...
Code:
Last login: Tue Nov  6 19:05:47 on ttys000
AMIGA:amiga~> cd Desktop/Code/Shell
AMIGA:amiga~/Desktop/Code/Shell> ./calc .000000277 - +.000000092
+0.000000185
AMIGA:amiga~/Desktop/Code/Shell> # Therefore SUM="000000185"
AMIGA:amiga~/Desktop/Code/Shell> FLOAT="000000185"
AMIGA:amiga~/Desktop/Code/Shell> INT=""
AMIGA:amiga~/Desktop/Code/Shell> NUMBER=$(( FLOAT/100 ))
-bash: 000000185: value too great for base (error token is "000000185")
AMIGA:amiga~/Desktop/Code/Shell> dash
AMIGA:\u\w> ./calc .000000277 - +.000000092
+0.000000185
AMIGA:\u\w> # Therefore SUM="000000185"
AMIGA:\u\w> FLOAT="000000185"
AMIGA:\u\w> INT=""
AMIGA:\u\w> NUMBER=$(( FLOAT/100 ))
dash: 6: Illegal number: 000000185
AMIGA:\u\w> exit
AMIGA:amiga~/Desktop/Code/Shell> _

Bazza...
You're taking the path of maximum resistance again. If you leave out the decimal point entirely and assume all numbers are multiplied by 100, addition and subtraction "just work", no zero padding required. Then you use division and modulus to extract the full and fractional parts later.

Last edited by Corona688; 11-06-2018 at 04:15 PM..
 

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
Desktop::Notify(3pm)					User Contributed Perl Documentation				      Desktop::Notify(3pm)

NAME
Desktop::Notify - Communicate with the Desktop Notifications framework VERSION
Version 0.03 SYNOPSIS
use Desktop::Notify; # Open a connection to the notification daemon my $notify = Desktop::Notify->new(); # Create a notification to display my $notification = $notify->create(summary => 'Desktop::Notify', body => 'Hello, world!', timeout => 5000); # Display the notification $notification->show(); # Close the notification later $notification->close(); DESCRIPTION
This module provides a Perl interface to the Desktop Notifications framework. The framework allows applications to display pop-up notifications on an X desktop. This is implemented with two components: a daemon that displays the notifications, and a client library used by applications to send notifications to the daemon. These components communicate through the DBus message bus protocol. More information is available from <http://trac.galago-project.org/wiki/DesktopNotifications> This module serves the same purpose as "libnotify", in an object-oriented Perl interface. It is not, however, an interface to "libnotify" itself, but a separate implementation of the specification using Net::DBus. METHODS
new %opts Connect to the notification daemon. %opts can include the following options: app_name The application name to use for notifications. Default is "basename($0)" bus The Net::DBus mesage bus to use. Default is to call Net::DBus->session, which is usually where notification-daemon can be reached. service The DBus service name of the daemon. Default is org.freedesktop.Notifications. objpath The path to the notifications DBus object. Default is /org/freedesktop/Notifications. objiface The DBus interface to access the notifications object as. Default is org.freedesktop.Notifications. create %params Creates a new notification object that can be displayed later. This will return a Desktop::Notify::Notification object; see that module for information about using it. close_callback $coderef Sets a user-specified function to be called whenever a notification is closed. It will be called with one argument, which is the Notification object that was just closed. AUTHOR
Stephen Cavilia, "<sac at atomicradi.us>" SEE ALSO
Net::DBus <http://www.galago-project.org/specs/notification/index.php> <http://www.galago-project.org/downloads.php> BUGS
Please report any bugs or feature requests to "bug-desktop-notify at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Desktop-Notify>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. SUPPORT
You can find documentation for this module with the perldoc command. perldoc Desktop::Notify You can also look for information at: o AnnoCPAN: Annotated CPAN documentation <http://annocpan.org/dist/Desktop-Notify> o CPAN Ratings <http://cpanratings.perl.org/d/Desktop-Notify> o RT: CPAN's request tracker <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Desktop-Notify> o Search CPAN <http://search.cpan.org/dist/Desktop-Notify> ACKNOWLEDGEMENTS
COPYRIGHT &; LICENSE Copyright 2007 Stephen Cavilia, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2009-12-24 Desktop::Notify(3pm)
All times are GMT -4. The time now is 07:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy