1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
//nolint:all // Linter is executed at the same time as tests which leads to race conditions and failures.
package main
import (
"fmt"
__atel_context "context"
__atel_otel "go.opentelemetry.io/otel"
)
func foo(__atel_tracing_ctx __atel_context.Context,) {
__atel_child_tracing_ctx, __atel_span := __atel_otel.Tracer("foo").Start(__atel_tracing_ctx, "foo")
_ = __atel_child_tracing_ctx
defer __atel_span.End()
fmt.Println("foo")
}
func FibonacciHelper(__atel_tracing_ctx __atel_context.Context, n uint) (uint64, error) {
__atel_child_tracing_ctx, __atel_span := __atel_otel.Tracer("FibonacciHelper").Start(__atel_tracing_ctx, "FibonacciHelper")
_ = __atel_child_tracing_ctx
defer __atel_span.End()
func() {
__atel_child_tracing_ctx, __atel_span := __atel_otel.Tracer("anonymous").Start(__atel_child_tracing_ctx, "anonymous")
_ = __atel_child_tracing_ctx
defer __atel_span.End()
foo(__atel_child_tracing_ctx)
}()
return Fibonacci(__atel_child_tracing_ctx, n)
}
func Fibonacci(__atel_tracing_ctx __atel_context.Context, n uint) (uint64, error) {
__atel_child_tracing_ctx, __atel_span := __atel_otel.Tracer("Fibonacci").Start(__atel_tracing_ctx, "Fibonacci")
_ = __atel_child_tracing_ctx
defer __atel_span.End()
if n <= 1 {
return uint64(n), nil
}
if n > 93 {
return 0, fmt.Errorf("unsupported fibonacci number %d: too large", n)
}
var n2, n1 uint64 = 0, 1
for i := uint(2); i < n; i++ {
n2, n1 = n1, n1+n2
}
return n2 + n1, nil
}
|