Programming :: Invoke The Calculator "bc" In Bash Script For Floating Point Arithmetic?
May 15, 2010
My main problem right now is doing floating point arithmetic within a bash script, with variables.Right now I have a folder called "myExamples" with a script called "run_example" that runs with no issues.I plan to(1) create many folders inside [myExamples], that are named [example10] [example11]...each containing an identical copy of (run_example),(2) modify Line 172 of each copy of (run_example)...in one copy, it would be 3.00, the next copy would have 3.05, etc. (This part doesn't work!)How can use the available calculator bc code to do floating point operations?My code is below -
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/(.*)/.*/1/'` # extract pathname
My main problem right now is doing floating point arithmetic within a bash script, with variables.Right now I have a folder called "myExamples" with a script called "run_example" that runs with no issues.I plan to(1) create many folders inside [myExamples], that are named [example10] [example11]...each containing an identical copy of (run_example),(2) modify Line 172 of each copy of (run_example)...in one copy, it would be 3.00, the next copy would have 3.05, etc. (This part doesn't work!)How can I use the available calculator bc code to do floating point operationsMy code is below -
#!/bin/sh # run from directory where this script is cd `echo $0 | sed 's/(.*)/.*/1/'` # extract pathname
I just noticed there doesn't seem to be a decimal point button on the calculator (gcalctool 5.32.0) when it is in programming mode. I'm using Fedora 14 (32-bit).
I know it is wrong to use the "==" operator to compare the equality of two floating point numbers. Logically it would seem that if the "==" operator is not usable for floating point comparison, then the "<=" operator would also not be usable. Is this true? The lack of google search results on this topic made me think that it must be true. If that is true, then is it true that the only way to compare floats with <= or >= is with something like the code below? Code: bool smaller_than_or_equal(float a, float b) {
if ( fabs(a-b) < EPSILON){return true;} else if (a < b) {return true;} else {return false;}
} I think this is a general question, but if specifics are necessary, I am using the C++ language to code at the moment.
I'm reading a book on assembly, and it talks a bit about the IEEE floating point format.
Quote:
To summarize, the following steps are used to convert a decimal number to IEEE single format: 1. The leading bit of the floating point format is 0 for a positive number and 1 for a negative number. 2. Write the unsigned number in binary. 3. Write the binary number in binary scientific notation f23.f22 ... f0 2^e, where f23 = 1. There are 24 fraction bits, but it is not necessary to write trailing 0's. 4. Add a bias of 127 to the exponent e. This sum, in binary form, is the next 8 bits of the answer, following the sign bit. (Adding a bias is an alternative to storing the exponent as a signed number.) 5. The fraction bits f22f21 ... f0 form the last 23 bits of the floating point number. The leading bit f23 (which is always 1) is dropped.
how to perform floating point operations in kernel? i answered that its impossible to perform floating point operations in kernel.but he is telling that its possible but with some feature to be added.can any body know about this perfectly??
I am running a Java application on the command line bash terminal under Mint Debian. I have JDK1.6.0_22 installed 64-bit, and the OS is 64-bit too. I have a few JAR files in the directory and a few native LWJGL libraries. When I run the application using the command line, all works fine. Lets assume my directory where the files are is called /home/riz/MyGame. I change to that directory and this is the command I use code...
I have tried to learn how 64bit asm (nasm in my case) works and found, among the many disparate pieces of info on the net, a few vague inferences that floating point registers can be used for other purposes than what they are intended for, example: "64-bit Linux allows up to fourteen parameters to be transferred in registers (6 integer and 8 floating point)." This would be fantastic for string operations/manipulation (I have never used asm for floating-point operations), can anyone shed a bit of light?
pidgin started crashing today for no apparent reason. It just shutdowns. No freezing or anything, it just goes away, disappears. From what I can say, there's no specific trigger for this, it can happen after 2 or 10 min after I started it. Once it even shutdown right 10seconds. I tried to run it from the terminal. When I do that, the only thing that appears before closing is
Code: Floating point exception Anyone has an idea of what it can be? I made no upgrade to pidgin or libpurple recently. I made however an upgrade today of the following packages
I am facing floating point exception issues in running top on some of my Red-Hat Linux servers
# top 6:45am up 476 days, 52 min, 4 users, load average: 0.00, 0.00, 0.00 109 processes: 108 sleeping, 1 running, 0 zombie, 0 stopped Floating point exception When I am executing the same command using strace or ltrace, its running fine. # ls -lrt /usr/bin/top
I am using a gateway server, 1st NIC eth0 which is acting as WAN (DHCP)and 2nd NIC acting LAN(static). I am using DHCP to assign IP to eth0 from a Wimax modem. I am also use it as a MAIL server (openmail), and as a DHCP server. My server is of RHEL and kernel version is 2.4.8.18-14 and DHCP client & server version - 30pl1-9. The prolem is whenever I run the command..
ifup eth0 getting the error...
Determining IP information for eth0.../ifup: line277: 23328 Floating point exception/sbin/dhclient ${DHCLIENTARGS} ${DEVICE} so what should I do?? if I update the DHCP, would it be ok?
I had fuzzy icons in system tray so before couple of days i installed some updates and after that i have floating point exception in ktorrent and virtualbox 2.6.34.7-0.7-desktop #1 SMP PREEMPT 2010-12-13 11:13:53 +0100 i686 athlon i386 GNU/Linux
nvidia 9500 GT X.Org X Server 1.8.0 KDE 4.4.4 Here is the updates nvidia-gfxG02-kmp-desktop-260.19.21_k2.6.34.0_12-19.1 Tue 04 Jan 2011 04:14:42 PM CET x11-video-nvidiaG02-260.19.21-20.1
This is the first time I post a question on these forums My problem is as follows: I can't start gnome-terminal from the Applications->Accesories menu or from the Alt+F2 application launcher. I get a "Starting Terminal" in the task-bar that disappears after a few seconds and no terminal. I'm pretty sure there is something I did, but I can't really figure out what it is.
The things I've tried so far:
1. I used synaptic to remove and reinstall gnome-terminal. That didn't work 2. Started Xterm and tried to run "gnome-terminal". This is where it gets weird for me:
a. running the command as normal user I get a "Floating point exception" error and obviosly no terminal b. when I do "sudo gnome-terminal" and enter the root password I get, as expected, a root terminal. I could live with that, but it's not ideal.
One of those odd things I learned the hard way is that if you are writing a shared object (library/.so) and any programs that will link to that library uses floating point numbers, the library must be compiled as if it uses floating point numbers. What that really means is, you need to declare at least one float in the source for the library or when the caller connects and tries to run code in the library, the process aborts.I end up putting a float pi (3.1415); in the code and getting an unused variable warning all the time. There has to be a simpler way, some flag to pass to g++ that says, "include floating point support even if you don't really need to."
p.s. Gosh I hope I remembered this correctly. I encountered this problem doing a multi-platform build for Windows and Linux. This COULD be a VC++ problem that I just carried into Linux by using the same source.
Just updated WinFF to version 1.3.2-1.1. Since then it won't start up any more due to a floating point exeption. System: OpenSUSE 11.4 (x86) + KDE 4.6.0 Debug info:
WARNING] Out of OEM specific VK codes, changing to unassigned [WARNING] Out of unassigned VK codes, assigning $FF ERROR in LCL: TLRSObjectReader.SkipValue unknown valuetype Creating gdb catchable error: $080D1568
[Code]...
I had the same error with earlier versions of WinFF in earlier versions of OpenSUSE. Then I could fix it by changing the KDE window styles. The error also occurs with the WinFF qt-version.
Over the last few months there have been multiple updates and I am getting a list of things that no longer work or that cause my system to fail. I can no longer open a pdf in firefox. It says there is no application assigned to the task. I ran evince and tried to open a pdf file and received a "floating point" error message on the terminal screen I was working from.
I just Installed Xubuntu 10.04 and as I was using it, the panels dissapeared. I tried running xfce4-panel but I get a "floating point exception" message. what might be causeing this?
What is the difference between *ptr++ and (*ptr)++. In my opinion the terminology is all over the place so if you could give an example it would be better.