[過去ログ] Qiita 3 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
264
(2): デフォルトの名無しさん [] 2023/08/10(木) 19:47:40.53 ID:c2H9n5TK(4/9) AAS
ちなみに計算による方法でもこう書くと2行短くなった

void hoge(int n, int num[n], int deleteNum)
{
 for (int i = 0; i < n; i++) {
  for (int i = 0; i < 6; i++) {
   num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
  }
 }
}
hoge: xorl  %r10d, %r10d
    leaq  24(%rsi), %r9
    xorl  %r8d, %r8d
    testl  %edi, %edi
    jle   .L9
.L2:  movq  %rsi, %rax
.L4:  movl  (%rax), %ecx
    cmpl  %edx, %ecx
    cmove  %r8d, %ecx
    addq  $4, %rax
    movl  %ecx, -4(%rax)
    cmpq  %r9, %rax
    jne   .L4
    addl  $1, %r10d
    cmpl  %r10d, %edi
    jne   .L2
    ret
.L9:  ret
外部リンク:godbolt.org
269: デフォルトの名無しさん [sage] 2023/08/10(木) 20:22:14.91 ID:c2H9n5TK(7/9) AAS
>>264も訂正
void hoge(int n, int num[n], int deleteNum)
{
 for (int i = 0; i < 6; i++) {
  num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
 }
}

hoge:
    leaq  24(%rsi), %rdi
    xorl  %ecx, %ecx
.L2:
    movl  (%rsi), %eax
    cmpl  %edx, %eax
    cmove  %ecx, %eax
    addq  $4, %rsi
    movl  %eax, -4(%rsi)
    cmpq  %rdi, %rsi
    jne   .L2
    ret
外部リンク:godbolt.org
271: デフォルトの名無しさん [sage] 2023/08/10(木) 20:25:56.38 ID:c2H9n5TK(9/9) AAS
>>264も再度訂正
void hoge(int n, int num[n], int deleteNum)
{
 for (int i = 0; i < n; i++) {
  num[i] *= deleteNum != num[i]; // deleteNumで指定した要素を消す
 }
}
hoge:
    testl  %edi, %edi
    jle   .L1
    movslq %edi, %rdi
    xorl  %ecx, %ecx
    leaq  (%rsi,%rdi,4), %rdi
.L3:
    movl  (%rsi), %eax
    cmpl  %edx, %eax
    cmove  %ecx, %eax
    addq  $4, %rsi
    movl  %eax, -4(%rsi)
    cmpq  %rsi, %rdi
    jne   .L3
.L1:
    ret
外部リンク:godbolt.org
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s