#!/usr/bin/env python from __future__ import print_function import sys sys.path.append('.') from example import Matrix try: import numpy as np except ImportError: # NumPy missing: skip test exit(99) m = Matrix(5, 5) print(m[2, 3]) m[2, 3] = 4 print(m[2, 3]) m2 = np.array(m, copy=False) print(m2) print(m2[2, 3]) m2[2, 3] = 5 print(m[2, 3]) m3 = np.array([[1,2,3],[4,5,6]]).astype(np.float32) print(m3) m4 = Matrix(m3) for i in range(m4.rows()): for j in range(m4.cols()): print(m4[i, j], end = ' ') print() from example import ConstructorStats cstats = ConstructorStats.get(Matrix) print("Instances not destroyed:", cstats.alive()) m = m4 = None print("Instances not destroyed:", cstats.alive()) m2 = None # m2 holds an m reference print("Instances not destroyed:", cstats.alive()) print("Constructor values:", cstats.values()) print("Copy constructions:", cstats.copy_constructions) #print("Move constructions:", cstats.move_constructions >= 0) # Don't invoke any print("Copy assignments:", cstats.copy_assignments) print("Move assignments:", cstats.move_assignments)