Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.96 KB | None | 0 0
  1. import numpy as np
  2. from numba import jitclass, float64, optional, njit
  3. from numba.types import ListType
  4. from numba.typed import List
  5.  
  6.  
  7. @njit(cache=True)
  8. def npv3(a,b,c):
  9.     return np.array((a,b,c),dtype=np.float64)
  10.  
  11. spec = [
  12.     ('C',               float64),
  13.     ('points',   optional( ListType(float64[:]))  ) ,
  14. ]
  15. float_array = float64[:]
  16. @jitclass(spec)
  17. class SampleClass(object):
  18.     def __init__(self):
  19.         self.C =            np.float64(1.0)
  20.         self.points = List.empty_list(float_array)
  21.         self.init_values()
  22.  
  23.     def init_values(self):
  24.         self.points.append( npv3(0,0,0) )
  25.         self.points.append( npv3(0,0,0) )
  26.  
  27.     def clear(self):
  28.         self.points.clear()
  29.  
  30. if __name__ == '__main__':
  31.     sc = SampleClass()
  32.     print("len:",len(sc.points))
  33.     #sc.points.__init__()
  34.     #sc.points.__delitem__(0)
  35.     sc.clear()
  36.     #sc.points.clear()
  37.     #sc.points = List.empty_list( float_array )
  38.     print("len:", len(sc.points))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement