There was a bug in my version above. Arithmetic involving negative numbers worked, the edge case was the display of them. One 'edge' was that I completely forgot to display the sign, at all, ever. Still trying to fix the 0.073 problem.
Code:
DP=3
MOD=1000
function ftofix { # ftofix OUTPUTNAME "3.14"
_VAR="$1"
_OLDIFS="$IFS"
IFS="."
set -- $2 # Set $1, $2, etc, splitting on "."
IFS="$_OLDIFS"
local FRAC=$2
local _N=$1
[[ "${_N}" = "0" ]] && _N=""
[[ "${_N}" = "-0" ]] && _N="-"
for((X=0; X<DP; X++))
do
D="${FRAC:$X:1}"
[[ -z "$D" ]] && D="0"
_N="${_N}$D" # Prepend digits to N
done
read $_VAR <<EOF
${_N}
EOF
}
function fixtof {
_VAR="$1"
_N="$2"
_SIGN=""
((_N<0)) && _SIGN="-" && ((_N=-_N))
_S=`printf "%s%d.%0${DP}d" "${_SIGN}" $((_N/MOD)) $((_N%MOD))`
read $_VAR <<EOF
$_S
EOF
}
AA="3.14159"
BB="-2.0"
ftofix A $AA
ftofix B $BB
# Multiplcation
fixtof CC $(((A*B)/MOD))
echo "$AA * $BB = $CC"
# Division
fixtof DD $(( (A*MOD)/B ))
echo "$AA / $BB = $DD"
# Addition and Subtraction
fixtof EE $(( B - A ))
echo "$BB - $AA = $EE"
fixtof FF $(( A - B ))
echo "$AA - $BB = $FF"
fixtof GG $(( A + B ))
echo "$AA + $BB = $GG"
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)
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)
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
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)
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)
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)
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
LEARN ABOUT OPENDARWIN
ftofix
ftofix(3alleg4) Allegro manual ftofix(3alleg4)NAME
ftofix - Converts a floating point value to fixed point. Allegro game programming library.
SYNOPSIS
#include <allegro.h>
fixed ftofix(double x);
DESCRIPTION
Converts a floating point value to fixed point. Unlike itofix(), this function clamps values which could overflow the type conversion, set-
ting `errno' to ERANGE in the process if this happens. Example:
fixed number;
number = itofix(-40000);
ASSERT(fixfloor(number) == -32768);
number = itofix(64000);
ASSERT(fixfloor(number) == 32767);
ASSERT(!errno); /* This will fail. */
RETURN VALUE
Returns the value of the floating point value converted to fixed point clamping overflows (and setting `errno').
SEE ALSO fixtof(3alleg4), itofix(3alleg4), fixtoi(3alleg4), exfixed(3alleg4), exrotscl(3alleg4), exspline(3alleg4), exupdate(3alleg4)Allegro version 4.4.2 ftofix(3alleg4)