chromium/v8/src/bigint/mul-toom.cc

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Toom-Cook multiplication.
// Reference: https://en.wikipedia.org/wiki/Toom%E2%80%93Cook_multiplication

#include <algorithm>

#include "src/bigint/bigint-internal.h"
#include "src/bigint/digit-arithmetic.h"
#include "src/bigint/vector-arithmetic.h"

namespace v8 {
namespace bigint {

namespace {

void TimesTwo(RWDigits X) {}

void DivideByTwo(RWDigits X) {}

void DivideByThree(RWDigits X) {}

}  // namespace

#if DEBUG
// Set {len_} to 1 rather than 0 so that attempts to access the first digit
// will crash.
#define MARK_INVALID(D)
#else
#define MARK_INVALID
#endif

void ProcessorImpl::Toom3Main(RWDigits Z, Digits X, Digits Y) {}

void ProcessorImpl::MultiplyToomCook(RWDigits Z, Digits X, Digits Y) {}

}  // namespace bigint
}  // namespace v8