Don't require the `--structure` argument.
{
    if (x >= 0)
        return transform(x, seed);
    else
        return -transform(-x, seed);    
}
class SignedIntegerModel : public IModel
{
private:
    UInt64 seed;
public:
    explicit SignedIntegerModel(UInt64 seed_) : seed(seed_) {}
    void train(const IColumn &) override {}
    void finalize() override {}
    void serialize(WriteBuffer &) const override {}
    void deserialize(ReadBuffer &) override {}
    ColumnPtr generate(const IColumn & column) override
    {
        MutableColumnPtr res = column.cloneEmpty();
        size_t size = column.size();
        res->reserve(size);
        for (size_t i = 0; i < size; ++i)
            res->insert(transformSigned(column.getInt(i), seed));
        return res;
    }
    void updateSeed() override