/* GENERATED SOURCE. DO NOT MODIFY. */
package com.android.org.bouncycastle.math.ec;

/**
 * Interface for classes storing precomputation data for multiplication
 * algorithms. Used as a Memento (see GOF patterns) by e.g. 
 * <code>WNafL2RMultiplier</code>.
 * @hide This class is not part of the Android public SDK API
 */
public interface PreCompInfo
{
}
