#!/usr/bin/env perl
use strict;
use warnings;
use FFI::Platypus;
my $ffi = FFI::Platypus->new( api => 1 );
# Load a C library, for example, the math library
$ffi->lib('libm.so');
# Declare a C function to call
$ffi->attach( cos => 'cos' => 'double' => 'double' );
# Test our attachment by calling cos
my $angle = 0; # angle in radians
my $result = cos($angle);
print "The cosine of $angle is $result\n";
# You can incorporate tests using Test::More
use Test::More;
is(cos(0), 1, 'cos(0) should be 1');
is(cos(pi/2), 0, 'cos(pi/2) should be 0');
done_testing();
How do I avoid rehashing overhead with std::set in multithreaded code?
How do I find elements with custom comparators with std::set for embedded targets?
How do I erase elements while iterating with std::set for embedded targets?
How do I provide stable iteration order with std::unordered_map for large datasets?
How do I reserve capacity ahead of time with std::unordered_map for large datasets?
How do I erase elements while iterating with std::unordered_map in multithreaded code?
How do I provide stable iteration order with std::map for embedded targets?
How do I provide stable iteration order with std::map in multithreaded code?
How do I avoid rehashing overhead with std::map in performance-sensitive code?
How do I merge two containers efficiently with std::map for embedded targets?