我正在尝试在C中优化我的一些代码,这比下面的代码段大很多.来自Python,我想知道你是否可以简单地将整个数组乘以我下面的数字.
显然,它不像我在下面那样工作.有没有其他方法可以实现相同的功能,或者我必须像for循环一样遍历整个数组?
void main()
{
int i;
float data[] = {1.,2.,3.,4.,5.};
//this fails
data *= 5.0;
//this works
for(i = 0; i < 5; i++) data[i] *= 5.0;
}
Run Code Online (Sandbox Code Playgroud) 我试图在汇编中进行简单的乘法操作,但由于某种原因,我没有看到寄存器在标记MUL功能时发生变化.
mov bx, 5
mov cx, 10
mul cx
Run Code Online (Sandbox Code Playgroud) 有这样的表:
sold_items:
code | size | quantity
abc123 | small | 4
abc123 | medium | 2
xyz987 | small | 3
xyz987 | medium | 1
xyz987 | large | 2
Run Code Online (Sandbox Code Playgroud)
价目单价目表:
code | size | price
abc123 | small | 5
abc123 | medium | 7
abc123 | large | 9
xyz987 | small | 10
xyz987 | medium | 13
xyz987 | large | 15
Run Code Online (Sandbox Code Playgroud)
这将是你最好的(更快的查询)方法
结果:
code | sold_items | cash
abc123 | 6 | 34 …Run Code Online (Sandbox Code Playgroud) 我试图将列向量(n,1)的一部分乘以另一行向量(1,n)的一部分.两个部分的长度相同.所以我应该得到一个矩阵(n,n).
这是我的简单代码:
PROGRAM test_pack_1
REAL :: m(1,10), x(10,1), y(10,10)
m = reshape( (/ 1, -1, 3, 2, 1, 2, -2, -2, 1, 0 /), (/ 1, 10 /))
x = reshape( (/ 1, 0, 1, 1, 0, 1, 1, 0, 1, 0 /), (/ 10, 1 /))
y(1:9,1:9) = MATMUL(x(1:9,1),m(1,1:9))
DO j = 1,10
PRINT* ;WRITE(*,*) y(:,j)
ENDDO
print *
END PROGRAM
Run Code Online (Sandbox Code Playgroud)
我正在使用:
ifort -g -debug -traceback -check all -ftrapuv test_cshift.f90
Run Code Online (Sandbox Code Playgroud)
我得到了:
test_cshift.f90(7): error #6241: The shapes of the arguments …Run Code Online (Sandbox Code Playgroud) 我有以下代码
int i, a, z;
i = 2343243443;
a = 5464354324324324;
z = i * a;
cout << z << endl;
Run Code Online (Sandbox Code Playgroud)
当它们相乘时,它给出了-1431223188,这不是答案.我怎样才能让它给我正确的答案?
是否有可能将两个ndarray A和B相乘并将结果添加到C,而不会为A次B创建一个大的中间数组?
对于C = A乘B的情况,Numpy具有out关键字参数:
numpy.multiply(A, B, out=C)
Run Code Online (Sandbox Code Playgroud)
C + = A次B的情况怎么样?
我有两个熊猫DataFrame要乘以:
frame_score:
Score1 Score2
0 100 80
1 -150 20
2 -110 70
3 180 99
4 125 20
frame_weights:
Score1 Score2
0 0.6 0.4
Run Code Online (Sandbox Code Playgroud)
我试过了:
import pandas as pd
import numpy as np
frame_score = pd.DataFrame({'Score1' : [100, -150, -110, 180, 125],
'Score2' : [80, 20, 70, 99, 20]})
frame_weights = pd.DataFrame({'Score1': [0.6], 'Score2' : [0.4]})
print('frame_score: \n{0}'.format(frame_score))
print('\nframe_weights: \n{0}'.format(frame_weights))
# Each of the following alternatives yields the same results
frame_score_weighted = frame_score.mul(frame_weights, axis=0)
frame_score_weighted = frame_score * frame_weights …Run Code Online (Sandbox Code Playgroud) 我有四个表:文档,项目,文章和文档关系.在文档中有三种类型的文档,这个问题只涉及其中两种:订单和发票.发票根据订单生成.发票可以有多个订单,一个订单可以有多个发票.订单和发票可以有多个项目.表DocumentRelations包含订单和发票之间的关系,哪个发票是从哪个订单/订单生成的.
Documents:
ID | Name
-- | --------
1 | O/2017/1
2 | I/2017/1
3 | O/2017/2
4 | I/2017/2
5 | O/2017/3
6 | O/2017/4
.. | ...
99 | X/2017/1
Run Code Online (Sandbox Code Playgroud)
Ttems:
ID | ArticleID | DocumentID | Quantity
-- | --------- | ---------- | --------
1 | 1 | 1 | 12
2 | 1 | 2 | 3
3 | 2 | 3 | 41
4 | 2 | 4 | 41
5 | 1 | 4 …Run Code Online (Sandbox Code Playgroud) 我没有找到记录在哪里*.似乎它可以等同于tf.multiply或tf.scalar_mul.是这样吗?
multiplying ×10
python ×3
arrays ×2
assembly ×1
c ×1
c++ ×1
cpu ×1
dataframe ×1
fortran ×1
instructions ×1
int ×1
matrix ×1
memory ×1
mysql ×1
numpy ×1
pandas ×1
python-3.x ×1
sql ×1
sql-server ×1
sum ×1
t-sql ×1
tensorflow ×1
vector ×1
x86 ×1