mirror of
https://github.com/vale981/ray
synced 2025-03-10 05:16:49 -04:00
44 lines
773 B
Cython
44 lines
773 B
Cython
![]() |
#!python
|
||
|
# cython: embedsignature=True, binding=True
|
||
|
|
||
|
def simple_func(x, y, z):
|
||
|
return x + y + z
|
||
|
|
||
|
# Cython code directly callable from Python
|
||
|
def fib(n):
|
||
|
if n < 2:
|
||
|
return n
|
||
|
return fib(n-2) + fib(n-1)
|
||
|
|
||
|
# Typed Cython code
|
||
|
def fib_int(int n):
|
||
|
if n < 2:
|
||
|
return n
|
||
|
return fib_int(n-2) + fib_int(n-1)
|
||
|
|
||
|
# Cython-Python code
|
||
|
cpdef fib_cpdef(int n):
|
||
|
if n < 2:
|
||
|
return n
|
||
|
return fib_cpdef(n-2) + fib_cpdef(n-1)
|
||
|
|
||
|
# C code
|
||
|
def fib_cdef(int n):
|
||
|
return fib_in_c(n)
|
||
|
|
||
|
cdef int fib_in_c(int n):
|
||
|
if n < 2:
|
||
|
return n
|
||
|
return fib_in_c(n-2) + fib_in_c(n-1)
|
||
|
|
||
|
# Simple class
|
||
|
class simple_class(object):
|
||
|
def __init__(self):
|
||
|
self.value = 0
|
||
|
|
||
|
def increment(self):
|
||
|
self.value += 1
|
||
|
return self.value
|
||
|
|
||
|
|