Skip to content

Commit

Permalink
Go back to hard-coded index field
Browse files Browse the repository at this point in the history
Turns out numba/numba#8622 is real
and the suggested `numba.literally` hack doesn't seem to work..
  • Loading branch information
goodboy committed Nov 25, 2022
1 parent 8ee9644 commit f3da7d5
Showing 1 changed file with 26 additions and 12 deletions.
38 changes: 26 additions & 12 deletions piker/data/_pathops.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,20 @@
import msgspec
import numpy as np
from numpy.lib import recfunctions as rfn
from numba import njit, float64, int64 # , optional
# import pyqtgraph as pg
# from PyQt5 import QtGui
# from PyQt5.QtCore import QLineF, QPointF
from numba import (
types,
njit,
float64,
int64,
optional,
)
from numba.core.types.misc import StringLiteral
# from numba.extending import as_numba_type

from ._sharedmem import (
ShmArray,
)
# from .._profile import pg_profile_enabled, ms_slower_then
from ._source import numba_ohlc_dtype
from ._compression import (
ds_m4,
)
Expand Down Expand Up @@ -514,11 +519,17 @@ def allocate_xy_nd(

@staticmethod
@njit(
# TODO: for now need to construct this manually for readonly
# NOTE: need to construct this manually for readonly
# arrays, see https://github.com/numba/numba/issues/4511
# ntypes.tuple((float64[:], float64[:], float64[:]))(
# numba_ohlc_dtype[::1], # contiguous
# (
# types.Array(
# numba_ohlc_dtype,
# 1,
# 'C',
# readonly=True,
# ),
# int64,
# types.unicode_type,
# optional(float64),
# ),
nogil=True
Expand All @@ -527,7 +538,7 @@ def path_arrays_from_ohlc(
data: np.ndarray,
start: int64,
bar_gap: float64 = 0.43,
index_field: str = 'index',
# index_field: str,

) -> tuple[
np.ndarray,
Expand All @@ -540,8 +551,10 @@ def path_arrays_from_ohlc(
'''
size = int(data.shape[0] * 6)

# XXX: see this for why the dtype might have to be defined outside
# the routine.
# https://github.com/numba/numba/issues/4098#issuecomment-493914533
x = np.zeros(
# data,
shape=size,
dtype=float64,
)
Expand All @@ -559,7 +572,8 @@ def path_arrays_from_ohlc(
high = q['high']
low = q['low']
close = q['close']
index = float64(q[index_field])
# index = float64(q[index_field])
index = float64(q['index'])

istart = i * 6
istop = istart + 6
Expand Down Expand Up @@ -615,8 +629,8 @@ def format_xy_nd_to_1d(
x, y, c = self.path_arrays_from_ohlc(
array,
start,
# self.index_field,
bar_gap=w,
index_field=self.index_field,
)
return x, y, c

Expand Down

0 comments on commit f3da7d5

Please sign in to comment.