All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.deephaven.engine.table.impl.sources.UngroupedBoxedDoubleArrayColumnSource Maven / Gradle / Ivy

There is a newer version: 0.37.1
Show newest version
/**
 * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending
 */
/*
 * ---------------------------------------------------------------------------------------------------------------------
 * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit UngroupedBoxedCharArrayColumnSource and regenerate
 * ---------------------------------------------------------------------------------------------------------------------
 */
package io.deephaven.engine.table.impl.sources;

import io.deephaven.engine.table.ColumnSource;
import io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults;

import static io.deephaven.util.QueryConstants.NULL_DOUBLE;

/**
 * An Ungrouped Column sourced for the Boxed Type Double.
 * 

* The UngroupedBoxedC-harArrayColumnSource is replicated to all other types with * io.deephaven.engine.table.impl.sources.Replicate. * * (C-har is deliberately spelled that way in order to prevent Replicate from altering this very comment). */ public class UngroupedBoxedDoubleArrayColumnSource extends UngroupedColumnSource implements MutableColumnSourceGetDefaults.ForObject { private ColumnSource innerSource; @Override public Class getComponentType() { return null; } public UngroupedBoxedDoubleArrayColumnSource(ColumnSource innerSource) { super(Double.class); this.innerSource = innerSource; } @Override public Double get(long rowKey) { final double result = getDouble(rowKey); return (result == NULL_DOUBLE?null:result); } @Override public double getDouble(long rowKey) { if (rowKey < 0) { return NULL_DOUBLE; } long segment = rowKey >>base; int offset = (int) (rowKey & ((1<= array.length || array[offset] == null) { return NULL_DOUBLE; } return array[offset]; } @Override public Double getPrev(long rowKey) { final double result = getPrevDouble(rowKey); return (result == NULL_DOUBLE?null:result); } @Override public double getPrevDouble(long rowKey) { if (rowKey < 0) { return NULL_DOUBLE; } long segment = rowKey >> getPrevBase(); int offset = (int) (rowKey & ((1<< getPrevBase()) - 1)); Double[] array = innerSource.getPrev(segment); if (array == null || offset >= array.length || array[offset] == null) { return NULL_DOUBLE; } return array[offset]; } @Override public boolean isImmutable() { return innerSource.isImmutable(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy