File: 08-softmax.t

package info (click to toggle)
libmath-utils-perl 1.14-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 252 kB
  • sloc: perl: 937; makefile: 8
file content (26 lines) | stat: -rw-r--r-- 606 bytes parent folder | download | duplicates (2)
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
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 20-softmax.t'
use 5.010001;
use Test::More tests => 2;

use Math::Utils qw(:utility :compare);
use strict;
use warnings;

my $fltcmp = generate_fltcmp(1e-7);

my @trials = (
	[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
	[0, 1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1 ],
);

for my $t (@trials)
{
	my @probs = softmax(@$t);

	ok( (&$fltcmp(fsum(@probs), 1.0) == 0),
		"   softmax(" . join(", ", @$t) . ") returns\n" .
		"   [" . join(", ", @probs)  . "], did not sum to 1.0\n"
	);
}