The POSIX standards for awk specify that it must behave as if it uses (at least) double precision floating point values as defined by the C Standard. When ptr points to a string starting with a case insensitive "infinity", "inf", or "NaN", the C standard requires strtod(ptr, endptr) to set endptr to point to the character after the last character matched from one of those three strings and return the double precision floating point format representation for an infinity, infinity, or Not A Number, respectively, on systems that also support the IEEE 754 floating point standard.
So, yes, POSIX requires what was reported on HP/UX and Solaris systems. (Note, however, that the POSIX conforming version of awk on Solaris systems is /usr/xpg4/bin/awk; not nawk.) I'm not sure where the "Q" in NaNQ reported on AIX is coming from. The gawk output shown on Windows appears to be non-conforming.
And, for the record, on OS X Yosemite 10.10.3, the output from those three commands is, respectively:
These 4 Users Gave Thanks to Don Cragun For This Post:
i'm new to shell scripting and have a problem please help me
in the script i have a nawk block which has a variable count
nawk{
.
.
.
count=count+1
print count
}
now i want to access the value of the count variable outside the awk block,like..
s=`expr count / m`
(m is... (5 Replies)
i'm puzzled....
trying to look for the pattern }"'. but the below code returns to me the message below (pattern is curley queue + dbl qt + sng qt + period)
nawk -v pat="\}\"\'\."'
{
if (match($0, pat)) {
before = substr($0,1,RSTART-1);
... (11 Replies)
Howdy experts,
We have some ranges of number which belongs to particual group as below.
GroupNo StartRange EndRange
Group0125 935300 935399
Group2006 935400 935476
937430 937459
Group0324 935477 935549
... (6 Replies)
Hello All,
I am having problem to find what is the smallest number from 90% of highest numbers from all numbers in file. I am having file with thousands of lines and hundreds of columns.
I am familiar mainly with bash but I am open to whatever suggestion witch will lead to the solutions.
If I... (11 Replies)
I need some help in generating pair of numbers in orders using FORTRAN code.
The order is like following.
loop_1: 1,2 2,3 3,4 4,5 5,6 6,7 7,8 ..... until <= 2000
loop_2: 1,3 3,5, 5,7 7,9 9,11 11,13 ........until <= 2000
loop_3: 1,4, 4,7 7,10 10,13 13,17 ..... until... (3 Replies)
Hi All,
This might be a basic question... I need to write a script to find all/any Speacial/Null/Control Chars and Print Line Numbers from an input file.
Output something like
Null Characters in File Name at : Line Numbers
Line = Print the line
Control Characters in File Name at : Line... (2 Replies)
Hi.. i am running nawk scripts on solaris system to get records of file1 not in file2 and find duplicate records in a while with the following scripts -compare
nawk 'NR==FNR{a++;next;} !a {print"line"FNR $0}' file1 file2duplicate - nawk '{a++}END{for(i in a){if(a-1)print i,a}}' file1in the middle... (12 Replies)
Hi All,
I want to keep the name of the songs with their respective extensions only.
Sample Code
========
03 Choti choti gaiya choti choti gaval.mp3
03---Brazil Dhol.mp3
03 PAYALIYA .mp3
04 - Isq Risk .mp3
04%20-%20Oh%20My%20Love(wapking.in).mp3
08 - A2 - Aasan Nahin Yahan .mp3
AE... (3 Replies)
I sux at this type of stuff. I have a huge wordlist. I want to get rid of everything in each word except the letters. I want to remove numbers and all special characters. And since this list was created using cewl I some how picked up something like so Latin characters and would like to remove them... (6 Replies)
Discussion started by: sub terra
6 Replies
LEARN ABOUT ULTRIX
ieee
ieee(3m)ieee(3m)Name
copysign, drem, finite, logb, scalb - copysign, remainder, exponent manipulations
Syntax
#include <math.h>
double copysign(x,y)
double x,y;
double drem(x,y)
double x,y;
int finite(x)
double x;
double logb(x)
double x;
double scalb(x,n)
double x;
int n;
Description
These functions are required, or recommended by the IEEE standard 754 for floating-point arithmetic.
The function returns x with its sign changed to y's.
The function returns the remainder r := x - n*y where n is the integer nearest the exact value of x/y. Additionally if |n-x/y|=1/2, then n
is even. Consequently the remainder is computed exactly and |r| <= |y|/2. Note that is the exception (see Diagnostics).
Finite(x) = 1 just when -infinity < x < +infinity,
= 0 otherwise (when |x| = infinity or x is NaN)
The a signed integer converted to double-precision floating-point and so chosen that 1 <= |x|/2**n < 2 unless x = 0 or |x| = infinity or x
lies between 0 and the Underflow Threshold.
Scalb(x,n) = x*(2**n) computed, for integer n, without first computing 2**N.
Diagnostics
IEEE 754 defines drem(x,0) and drem(infinity,y) to be invalid operations that produce a NaN.
IEEE 754 defines logb(+-infinity) = +infinity and logb(0) = -infinity, requires the latter to signal Division-by-Zero.
Restrictions
IEEE 754 currently specifies that logb(denormalized no.) = logb(tiniest normalized no. > 0) but the consensus has changed to the specifica-
tion in the new proposed IEEE standard p854, namely that logb(x) satisfy
1 <= scalb(|x|,-logb(x)) < Radix ... = 2 for IEEE 754
for every x except 0, infinity and NaN. Almost every program that assumes 754's specification will work correctly if logb follows 854's
specification instead.
IEEE 754 requires copysign(x,NaN) = +-x but says nothing else about the sign of a NaN.
See Alsofloor(3M), fp_class(3), math(3M)
RISC ieee(3m)