use core_utils::circuit::{Input, Plaintext};
use primitives::algebra::elliptic_curve::Curve;
pub fn is_input_really_input<C: Curve>(input_type: &Input<C>) -> bool {
match input_type {
Input::SecretPlaintext { .. } => true,
Input::Share { .. } => true,
Input::RandomShare { .. } => false,
Input::Scalar(i) => matches!(i, Plaintext::Input(_)),
Input::ScalarBatch(i) => matches!(i, Plaintext::Input(_)),
Input::BaseField(i) => matches!(i, Plaintext::Input(_)),
Input::BaseFieldBatch(i) => matches!(i, Plaintext::Input(_)),
Input::Mersenne107(i) => matches!(i, Plaintext::Input(_)),
Input::Mersenne107Batch(i) => matches!(i, Plaintext::Input(_)),
Input::Bit(i) => matches!(i, Plaintext::Input(_)),
Input::BitBatch(i) => matches!(i, Plaintext::Input(_)),
Input::Point(i) => matches!(i, Plaintext::Input(_)),
Input::PointBatch(i) => matches!(i, Plaintext::Input(_)),
}
}