File: floatingpoint.stp

package info (click to toggle)
systemtap 4.4-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 38,260 kB
  • sloc: cpp: 77,147; ansic: 61,828; xml: 49,277; exp: 42,244; sh: 11,046; python: 2,772; perl: 2,252; tcl: 1,305; makefile: 1,086; lisp: 105; java: 102; awk: 101; asm: 91; sed: 16
file content (20 lines) | stat: -rw-r--r-- 538 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/env stap

function printlnfp(a) { println(fp_to_string(a,5)) }

probe process("stap").function("sdt_benchmark_thread") {
    a = user_long($fpointer)
    b = string_to_fp("3.14")
    c = long_to_fp(2)
   
    printf("a : %s, b : %s, c : %s\n", fp_to_string(a,5), fp_to_string(b,5), fp_to_string(c,5))
    printf("round 3.14 to long : %ld\n", fp_to_long(b, 0, 0))
    
    print("a + b * c = ")
    printlnfp(fp_add(a, fp_mul(b, c)))

    printf("sqrt(b) < b / c : ")
    println(fp_lt(fp_sqrt(b), fp_div(b, c)))

    exit()
}