mirror of
https://github.com/golang/go
synced 2024-10-04 14:21:21 -06:00
35 lines
466 B
C
35 lines
466 B
C
|
// Copyright 2009 The Go Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
typedef int32_t int32;
|
||
|
|
||
|
static int32
|
||
|
fib1(int32 n)
|
||
|
{
|
||
|
int32 a, b, t;
|
||
|
|
||
|
a = 0;
|
||
|
b = 1;
|
||
|
for(; n>0; n--) {
|
||
|
t = a;
|
||
|
a = b;
|
||
|
b += t;
|
||
|
}
|
||
|
return a;
|
||
|
}
|
||
|
|
||
|
void
|
||
|
fib(void *v)
|
||
|
{
|
||
|
struct { // 6g func(n int) int
|
||
|
int32 n;
|
||
|
int32 pad;
|
||
|
int32 ret;
|
||
|
} *args = v;
|
||
|
|
||
|
args->ret = fib1(args->n);
|
||
|
}
|