From 2677537948e7aa552a9214ebc0b6857809a4861d Mon Sep 17 00:00:00 2001 From: Per A Brodtkorb Date: Tue, 6 Jun 2017 14:53:02 +0200 Subject: [PATCH] Remove find_first_cross --- wafo/numba_misc.py | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/wafo/numba_misc.py b/wafo/numba_misc.py index 74e86fd..e267ea1 100644 --- a/wafo/numba_misc.py +++ b/wafo/numba_misc.py @@ -8,8 +8,32 @@ from numba import guvectorize, jit, float64, int64, int32, int8, void import numpy as np -@guvectorize(['void(int64[:], int8[:], int64[:])'], '(n),(n)->(), (), ()') -def _find_first_cross(ind, y, ix, dcross, start): +# @guvectorize(['void(int64[:], int8[:], int64[:])'], '(n),(n)->(), (), ()') +# def _find_first_cross(ind, y, ix, dcross, start): +# ix, dcross, start, v = 0, 0, 0, 0 +# n = len(y) +# if y[0] < v: +# dcross = -1 # first is a up-crossing +# elif y[0] > v: +# dcross = 1 # first is a down-crossing +# elif y[0] == v: +# # Find out what type of crossing we have next time.. +# for i in range(1, n): +# start = i +# if y[i] < v: +# ind[ix] = i - 1 # first crossing is a down crossing +# ix += 1 +# dcross = -1 # The next crossing is a up-crossing +# break +# elif y[i] > v: +# ind[ix] = i - 1 # first crossing is a up-crossing +# ix += 1 +# dcross = 1 # The next crossing is a down-crossing +# break + + +@jit(int64(int64[:], int8[:])) +def _findcross(ind, y): ix, dcross, start, v = 0, 0, 0, 0 n = len(y) if y[0] < v: @@ -31,12 +55,6 @@ def _find_first_cross(ind, y, ix, dcross, start): dcross = 1 # The next crossing is a down-crossing break - -@jit(int64(int64[:], int8[:])) -def _findcross(ind, y): - ix, dcross, start, v = 0, 0, 0, 0 - _find_first_cross(ind, y, ix, dcross, start) - n = len(y) for i in range(start, n - 1): if ((dcross == -1 and y[i] <= v and v < y[i + 1]) or (dcross == 1 and v <= y[i] and y[i + 1] < v)):