// 
// Decompiled by Procyon v0.6.0
// 

package it.unimi.dsi.fastutil.floats;

import java.util.Objects;
import it.unimi.dsi.fastutil.SafeMath;
import java.util.function.DoubleConsumer;
import java.util.function.Consumer;

@FunctionalInterface
public interface FloatConsumer extends Consumer<Float>, DoubleConsumer
{
    void accept(final float p0);
    
    @Deprecated
    default void accept(final double t) {
        this.accept(SafeMath.safeDoubleToFloat(t));
    }
    
    @Deprecated
    default void accept(final Float t) {
        this.accept((float)t);
    }
    
    default FloatConsumer andThen(final FloatConsumer after) {
        Objects.requireNonNull(after);
        return t -> {
            this.accept(t);
            after.accept(t);
        };
    }
    
    default FloatConsumer andThen(final DoubleConsumer after) {
        FloatConsumer after2;
        if (after instanceof FloatConsumer) {
            after2 = (FloatConsumer)after;
        }
        else {
            Objects.requireNonNull(after);
            after2 = after::accept;
        }
        return this.andThen(after2);
    }
    
    @Deprecated
    default Consumer<Float> andThen(final Consumer<? super Float> after) {
        return super.andThen(after);
    }
}
