Sponsored Content
Full Discussion: C multiplication with GCC
Top Forums Programming C multiplication with GCC Post 302544648 by pheonix on Thursday 4th of August 2011 11:42:23 AM
Old 08-04-2011
C multiplication with GCC

Hi all, newbie here.
Does anyone know if it is possible to use GCC or Clang to multiply
two unsigned numbers and have it use for intel instructions, the mull instruction or an imul. I can't figure how to word this to accomplish this task:
Code:
(int)(((unsigned long long)result * (unsigned)2290649225) >> 37);

result is max of 2^17 bits, and trying to retrieve high word >> 5 after a
mull or imul instruction. The above wording creates two multiply instructions.
This wording creates one instruction:
Code:
(int)(((unsigned long long)result * (unsigned)1145324613) >> 36);

Not sure intel can handle first and that's why gcc breaks into two multiplies???
I believe the second will accomplish my task, but now need to recheck all my code.
Thanx, and I'll probably get kicked (was smoking and typing)
Pheonix

Last edited by pludi; 08-04-2011 at 04:56 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Simple multiplication problem

I'am doing a tutorial where a simple calculator was given, then i noticed that you can't actually multiply this is how i have approached the problem so far. i just need if the user enters "*" to change it to "/*" ,is it possible? i know that * means the name of the last file in the directory... (8 Replies)
Discussion started by: greekozz
8 Replies

2. Linux

Multiplication with Fractions

Hello there, how do i multiply a fraction and a whole number? Example 20% of 50,000. I had gotten 0.2 using the following: chk=echo 20 100 | awk `{print $1/$2}` echo $chk $chk \* 50000 displays the error: non-numeric expression. (1 Reply)
Discussion started by: alby
1 Replies

3. Solaris

Installing gcc - recieve error message gcc : cannot execute

AIM- Install Oracle 11g on Solaris using VMWare Steps 1.Logged on as root 2.Created subfolders à /usr/local/bin & /usr/local/bin/gcc 3.Downloaded gcc & libiconv & unzipped them on my harddrive & burnt them on CD 4.Copied files from CD to /usr/local/bin/gcc 5.Terminal (root) à pkgadd -d... (8 Replies)
Discussion started by: Ackers
8 Replies

4. Shell Programming and Scripting

using awk multiplication

Suppose i have a file A 1*2*3*4 2*4*4*22 and second file B 2*3*4*5 4*4*6*7 By multiplying file A by file B that is file A by first column in file B respectively output shud be 2*6*12*20 8*16*24*154 my code is =$1 next } {for (f=1;f<=NF;f++) (2 Replies)
Discussion started by: cdfd123
2 Replies

5. UNIX for Dummies Questions & Answers

Exact Multiplication

Hi, I am writing a script in Bourne shell #!/bin/sh used=`quota -v | tail -1 | awk '{print $2}'` total=`quota -v | tail -1 | awk '{print $3}'` echo "$used" echo "$total" perc=`expr ${used} / ${total} * 100 | bc` echo "$perc" I want to get a percentage of quota used to total limit I... (5 Replies)
Discussion started by: desai.rishabh
5 Replies

6. UNIX for Dummies Questions & Answers

Multiplication using bc in a for loop

Hi, I would like to carry out a multiplication in a for loop but some how I get always zero. The result of the multiplication must be assigned to the variable x. Here is teh code for (( i=1;i<=15;i++)); do x=$( printf "%s\n " 'scale = 10; i*5.0*335.0*3.0/1000.0' | bc) echo $x $i... (5 Replies)
Discussion started by: f_o_555
5 Replies

7. UNIX for Dummies Questions & Answers

Matrix multiplication with different files

Hi, i have file1 which looks like: x1 y1 z1 x2 y2 z2 ...(and so on) and file2 which looks like: a11 a12 a13 a21 a22 a23 a31 a32 a33 and i want to replace file1 with the following values: x1' y1' z1' x2' y2' z2' ...(and so on) (2 Replies)
Discussion started by: ezitoc
2 Replies

8. Shell Programming and Scripting

Multiplication of array elements

Hi, I can't find out how to create correct code to get multiplication of each elements of array. Let's say I enter array into command line (2 3 4 5 6 8) and i need output 2*3*4*5*6*8=5760. I tried this one, but answer is 0. for i in $@; do mult=$((mult*i))done echo "mult: " $mult ... (4 Replies)
Discussion started by: rimasbimas
4 Replies

9. UNIX for Dummies Questions & Answers

Multiplication of two matrices

Hi there! I have two files like below File1(with a header, ~1000 rows, ~50 columns) ID1 ID2 ID3 ID4 ID5 MI1_A MI1_H MI2_A MI2_H 0 1 0 0 0 1 0 2 1 0 2 0 0 0 2 1 0 1 File2 (without a header, ~50 rows) MI1 A 0.4 3.1 MI2 B -0.2 0.1 Output ID2 M1_A M2_A 1 1*0.4 2*-0.2 2 2*0.4 0*-0.2 ... (22 Replies)
Discussion started by: Akang
22 Replies

10. UNIX for Beginners Questions & Answers

Matrix multiplication

I have two files. Row id in File1 matches the column id in file2 (starting from column7 )except the last 2 characters. File1 has 50 rows and File 2 has 56 columns. If the id matches I want to multiply the value in column3 of File1 to the entire column in File2. and in the final output print only... (11 Replies)
Discussion started by: Akang
11 Replies
std::decimal::decimal64(3)				     Library Functions Manual					std::decimal::decimal64(3)

NAME
std::decimal::decimal64 - SYNOPSIS
Public Types typedef float __decfloat64 __attribute__ ((mode(DD))) Public Member Functions decimal64 (decimal32 d32) decimal64 (decimal128 d128) decimal64 (float __r) decimal64 (double __r) decimal64 (long double __r) decimal64 (int __z) decimal64 (unsigned int __z) decimal64 (long __z) decimal64 (unsigned long __z) decimal64 (long long __z) decimal64 (unsigned long long __z) decimal64 (__decfloat64 __z) __decfloat64 __getval (void) void __setval (__decfloat64 __x) decimal64 & operator*= (decimal32 __rhs) decimal64 & operator*= (decimal64 __rhs) decimal64 & operator*= (decimal128 __rhs) decimal64 & operator*= (int __rhs) decimal64 & operator*= (unsigned int __rhs) decimal64 & operator*= (long __rhs) decimal64 & operator*= (unsigned long __rhs) decimal64 & operator*= (unsigned long long __rhs) decimal64 & operator*= (long long __rhs) decimal64 & operator++ () decimal64 operator++ (int) decimal64 & operator+= (int __rhs) decimal64 & operator+= (decimal32 __rhs) decimal64 & operator+= (decimal64 __rhs) decimal64 & operator+= (decimal128 __rhs) decimal64 & operator+= (unsigned int __rhs) decimal64 & operator+= (long __rhs) decimal64 & operator+= (unsigned long __rhs) decimal64 & operator+= (long long __rhs) decimal64 & operator+= (unsigned long long __rhs) decimal64 & operator-- () decimal64 operator-- (int) decimal64 & operator-= (long __rhs) decimal64 & operator-= (int __rhs) decimal64 & operator-= (long long __rhs) decimal64 & operator-= (unsigned long long __rhs) decimal64 & operator-= (unsigned long __rhs) decimal64 & operator-= (decimal128 __rhs) decimal64 & operator-= (unsigned int __rhs) decimal64 & operator-= (decimal32 __rhs) decimal64 & operator-= (decimal64 __rhs) decimal64 & operator/= (decimal32 __rhs) decimal64 & operator/= (long long __rhs) decimal64 & operator/= (unsigned long long __rhs) decimal64 & operator/= (unsigned long __rhs) decimal64 & operator/= (decimal64 __rhs) decimal64 & operator/= (unsigned int __rhs) decimal64 & operator/= (decimal128 __rhs) decimal64 & operator/= (long __rhs) decimal64 & operator/= (int __rhs) Detailed Description 3.2.3 Class decimal64. Definition at line 310 of file decimal. Constructor &; Destructor Documentation std::decimal::decimal64::decimal64 (__decfloat64__z) [inline] Conforming extension: Conversion from scalar decimal type. Definition at line 334 of file decimal. Author Generated automatically by Doxygen for libstdc++ from the source code. libstdc++ Tue Jun 10 2014 std::decimal::decimal64(3)
All times are GMT -4. The time now is 08:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy