57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import pytest
 | 
						|
 | 
						|
import numpy as np
 | 
						|
from numpy.testing import assert_allclose
 | 
						|
 | 
						|
from . import util
 | 
						|
 | 
						|
 | 
						|
class TestISOC(util.F2PyTest):
 | 
						|
    sources = [
 | 
						|
        util.getpath("tests", "src", "isocintrin", "isoCtests.f90"),
 | 
						|
    ]
 | 
						|
 | 
						|
    # gh-24553
 | 
						|
    @pytest.mark.slow
 | 
						|
    def test_c_double(self):
 | 
						|
        out = self.module.coddity.c_add(1, 2)
 | 
						|
        exp_out = 3
 | 
						|
        assert out == exp_out
 | 
						|
 | 
						|
    # gh-9693
 | 
						|
    def test_bindc_function(self):
 | 
						|
        out = self.module.coddity.wat(1, 20)
 | 
						|
        exp_out = 8
 | 
						|
        assert out == exp_out
 | 
						|
 | 
						|
    # gh-25207
 | 
						|
    def test_bindc_kinds(self):
 | 
						|
        out = self.module.coddity.c_add_int64(1, 20)
 | 
						|
        exp_out = 21
 | 
						|
        assert out == exp_out
 | 
						|
 | 
						|
    # gh-25207
 | 
						|
    def test_bindc_add_arr(self):
 | 
						|
        a = np.array([1, 2, 3])
 | 
						|
        b = np.array([1, 2, 3])
 | 
						|
        out = self.module.coddity.add_arr(a, b)
 | 
						|
        exp_out = a * 2
 | 
						|
        assert_allclose(out, exp_out)
 | 
						|
 | 
						|
 | 
						|
def test_process_f2cmap_dict():
 | 
						|
    from numpy.f2py.auxfuncs import process_f2cmap_dict
 | 
						|
 | 
						|
    f2cmap_all = {"integer": {"8": "rubbish_type"}}
 | 
						|
    new_map = {"INTEGER": {"4": "int"}}
 | 
						|
    c2py_map = {"int": "int", "rubbish_type": "long"}
 | 
						|
 | 
						|
    exp_map, exp_maptyp = ({"integer": {"8": "rubbish_type", "4": "int"}}, ["int"])
 | 
						|
 | 
						|
    # Call the function
 | 
						|
    res_map, res_maptyp = process_f2cmap_dict(f2cmap_all, new_map, c2py_map)
 | 
						|
 | 
						|
    # Assert the result is as expected
 | 
						|
    assert res_map == exp_map
 | 
						|
    assert res_maptyp == exp_maptyp
 |